[flang-commits] [flang] [mlir] [RFC][mlir] Conditional support for fast-math attributes. (PR #125620)
Slava Zakharin via flang-commits
flang-commits at lists.llvm.org
Mon Feb 3 19:19:09 PST 2025
================
@@ -237,3 +237,20 @@ bool hlfir::isFortranIntegerScalarOrArrayObject(mlir::Type type) {
mlir::Type elementType = getFortranElementType(unwrappedType);
return mlir::isa<mlir::IntegerType>(elementType);
}
+
+bool hlfir::isArithFastMathApplicable(mlir::Operation *op) {
+ if (llvm::any_of(op->getResults(), [](mlir::Value v) {
+ mlir::Type elementType = getFortranElementType(v.getType());
+ return mlir::arith::ArithFastMathInterface::isCompatibleType(
+ elementType);
+ }))
+ return true;
+ if (llvm::any_of(op->getOperands(), [](mlir::Value v) {
+ mlir::Type elementType = getFortranElementType(v.getType());
+ return mlir::arith::ArithFastMathInterface::isCompatibleType(
+ elementType);
+ }))
+ return true;
+
+ return true;
----------------
vzakhari wrote:
I will change this to `false` after fixing the lowering tests.
https://github.com/llvm/llvm-project/pull/125620
More information about the flang-commits
mailing list