[Mlir-commits] [mlir] 7bb74b1 - [mlir][ComplexToLLVM] Fix abs op fmf propagation (#222621)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Sep 11 01:03:18 PDT 2026
Author: Mattéo Rizza Murgier
Date: 2026-09-11T10:03:13+02:00
New Revision: 7bb74b19b7f0bbe491898de2289e72d09e4a6b26
URL: https://github.com/llvm/llvm-project/commit/7bb74b19b7f0bbe491898de2289e72d09e4a6b26
DIFF: https://github.com/llvm/llvm-project/commit/7bb74b19b7f0bbe491898de2289e72d09e4a6b26.diff
LOG: [mlir][ComplexToLLVM] Fix abs op fmf propagation (#222621)
Added:
Modified:
mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
Removed:
################################################################################
diff --git a/mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp b/mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
index 74acbe325c656..cbe5820300f82 100644
--- a/mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
+++ b/mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
@@ -83,7 +83,7 @@ struct AbsOpConversion : public ConvertOpToLLVMPattern<complex::AbsOp> {
rewriter, loc, LLVM::FMulOp::create(rewriter, loc, real, real, fmf),
LLVM::FMulOp::create(rewriter, loc, imag, imag, fmf), fmf);
- rewriter.replaceOpWithNewOp<LLVM::SqrtOp>(op, sqNorm);
+ rewriter.replaceOpWithNewOp<LLVM::SqrtOp>(op, sqNorm, fmf);
return success();
}
};
diff --git a/mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir b/mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
index c2f627af5d407..5305ca2de4d36 100644
--- a/mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
+++ b/mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
@@ -270,7 +270,7 @@ func.func @complex_mul_with_fmf(%lhs: complex<f32>, %rhs: complex<f32>) -> compl
// CHECK-DAG: %[[REAL_SQ:.*]] = llvm.fmul %[[REAL]], %[[REAL]] fastmath<contract> : f32
// CHECK-DAG: %[[IMAG_SQ:.*]] = llvm.fmul %[[IMAG]], %[[IMAG]] fastmath<contract> : f32
// CHECK: %[[SQ_NORM:.*]] = llvm.fadd %[[REAL_SQ]], %[[IMAG_SQ]] fastmath<contract> : f32
-// CHECK: %[[NORM:.*]] = llvm.intr.sqrt(%[[SQ_NORM]]) : (f32) -> f32
+// CHECK: %[[NORM:.*]] = llvm.intr.sqrt(%[[SQ_NORM]]) fastmath<contract> : (f32) -> f32
// CHECK: return %[[NORM]] : f32
func.func @complex_abs_with_fmf(%arg: complex<f32>) -> f32 {
%abs = complex.abs %arg fastmath<contract> : complex<f32>
More information about the Mlir-commits
mailing list