[mlir][complex] Initial support for FastMath flag when converting to LLVM
This change contains the initial support of FastMath flag in complex dialect. Similar to what we did in [Arith dialect](https://reviews.llvm.org/rGb56e65d31825fe4a1ae02fdcbad58bb7993d63a7), `fastmath` attributes in the complex dialect are directly mapped to the corresponding LLVM fastmath flags. In this diff, - Definition of FastMathAttr as a custom attribute in the Complex dialect that inherits from the EnumAttr class. - Definition of ComplexFastMathInterface, which is an interface that is implemented by operations that have a complex::fastmath attribute. - Declaration of a default-valued fastmath attribute for unary and arithmetic operations in the Complex dialect. - Conversion code to lower arithmetic fastmath flags to LLVM fastmath flags NOT in this diff (but planned and progressively implemented): - Documentation of flag meanings - Support the fastmath flag conversion to Arith dialect - Folding/rewrite implementations that ...
parent
6acff539
Please register or sign in to comment