[Mlir-commits] [flang] [mlir] [RFC][mlir] Conditional support for fast-math attributes. (PR #125620)
    Slava Zakharin 
    llvmlistbot at 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 Mlir-commits
mailing list