@@ -1296,6 +1296,15 @@ mlir::LogicalResult CIRToLLVMExpectOpLowering::matchAndRewrite(
12961296 return mlir::success ();
12971297}
12981298
1299+ mlir::LogicalResult CIRToLLVMFAbsOpLowering::matchAndRewrite (
1300+ cir::FAbsOp op, OpAdaptor adaptor,
1301+ mlir::ConversionPatternRewriter &rewriter) const {
1302+ mlir::Type resTy = typeConverter->convertType (op.getType ());
1303+ rewriter.replaceOpWithNewOp <mlir::LLVM::FAbsOp>(op, resTy,
1304+ adaptor.getOperands ()[0 ]);
1305+ return mlir::success ();
1306+ }
1307+
12991308// / Convert the `cir.func` attributes to `llvm.func` attributes.
13001309// / Only retain those attributes that are not constructed by
13011310// / `LLVMFuncOp::build`. If `filterArgAttrs` is set, also filter out
@@ -2291,6 +2300,7 @@ void ConvertCIRToLLVMPass::runOnOperation() {
22912300 CIRToLLVMComplexSubOpLowering,
22922301 CIRToLLVMConstantOpLowering,
22932302 CIRToLLVMExpectOpLowering,
2303+ CIRToLLVMFAbsOpLowering,
22942304 CIRToLLVMFuncOpLowering,
22952305 CIRToLLVMGetBitfieldOpLowering,
22962306 CIRToLLVMGetGlobalOpLowering,
@@ -2313,7 +2323,6 @@ void ConvertCIRToLLVMPass::runOnOperation() {
23132323 CIRToLLVMVecSplatOpLowering,
23142324 CIRToLLVMVecTernaryOpLowering,
23152325 CIRToLLVMUnreachableOpLowering
2316- // clang-format on
23172326 >(converter, patterns.getContext ());
23182327
23192328 processCIRAttrs (module );
0 commit comments