[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
Tue Feb 4 12:26:47 PST 2025
================
@@ -589,10 +589,18 @@ struct CallOpConversion : public fir::FIROpConversion<fir::CallOp> {
// Convert arith::FastMathFlagsAttr to LLVM::FastMathFlagsAttr.
mlir::arith::AttrConvertFastMathToLLVM<fir::CallOp, mlir::LLVM::CallOp>
attrConvert(call);
- rewriter.replaceOpWithNewOp<mlir::LLVM::CallOp>(
- call, resultTys, adaptor.getOperands(),
+ auto llvmCall = rewriter.create<mlir::LLVM::CallOp>(
+ call.getLoc(), resultTys, adaptor.getOperands(),
addLLVMOpBundleAttrs(rewriter, attrConvert.getAttrs(),
adaptor.getOperands().size()));
+ auto fmi =
+ mlir::cast<mlir::LLVM::FastmathFlagsInterface>(llvmCall.getOperation());
+ if (!fmi.isFastmathApplicable())
+ llvmCall->setAttr(
----------------
vzakhari wrote:
Right. Will fix.
https://github.com/llvm/llvm-project/pull/125620
More information about the flang-commits
mailing list