[Mlir-commits] [mlir] Lower `arith.maximuf` to `maxf` (PR #158136)
Jaden Angella
llvmlistbot at llvm.org
Thu Sep 11 12:05:56 PDT 2025
https://github.com/Jaddyen updated https://github.com/llvm/llvm-project/pull/158136
>From 8ae7cf255e2901d7a60d1e2df43f381c237a1ab0 Mon Sep 17 00:00:00 2001
From: Jaddyen <jadenangela8 at gmail.com>
Date: Thu, 11 Sep 2025 18:55:47 +0000
Subject: [PATCH] lower arith.maximuf
---
.../Conversion/ArithToEmitC/ArithToEmitC.cpp | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp b/mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
index b68933d0fb0a0..819525651ff0b 100644
--- a/mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
+++ b/mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
@@ -340,6 +340,25 @@ class NegFOpConversion : public OpConversionPattern<arith::NegFOp> {
}
};
+class MaximumFOpLowering : public OpConversionPattern<arith::MaximumFOp> {
+public:
+ using OpConversionPattern::OpConversionPattern;
+
+ LogicalResult
+ matchAndRewrite(arith::MaximumFOp op, OpAdaptor adaptor,
+ ConversionPatternRewriter &rewriter) const override {
+ Location loc = op.getLoc();
+
+ auto newOp = emitc::CallOpaqueOp::create(
+ rewriter, loc, op.getType(), rewriter.getStringAttr("fmax"),
+ ValueRange{adaptor.getLhs(), adaptor.getRhs()});
+
+ rewriter.replaceOp(op, newOp);
+
+ return success();
+ }
+};
+
template <typename ArithOp, bool castToUnsigned>
class CastConversion : public OpConversionPattern<ArithOp> {
public:
More information about the Mlir-commits
mailing list