Skip to content

Commit 4873f15

Browse files
committed
remove const char* template param
1 parent bb37959 commit 4873f15

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,14 @@ lookupOrCreateBinaryFn(OpBuilder &b, SymbolOpInterface symTable, StringRef name,
7373
}
7474

7575
/// Rewrite a binary arithmetic operation to an APFloat function call.
76-
template <typename OpTy, const char *APFloatName>
76+
template <typename OpTy>
7777
struct BinaryArithOpToAPFloatConversion final : OpRewritePattern<OpTy> {
78-
BinaryArithOpToAPFloatConversion(MLIRContext *context, PatternBenefit benefit,
79-
SymbolOpInterface symTable)
80-
: OpRewritePattern<OpTy>(context, benefit), symTable(symTable) {};
78+
BinaryArithOpToAPFloatConversion(MLIRContext *context,
79+
const char *APFloatName,
80+
SymbolOpInterface symTable,
81+
PatternBenefit benefit = 1)
82+
: OpRewritePattern<OpTy>(context, benefit), symTable(symTable),
83+
APFloatName(APFloatName) {};
8184

8285
LogicalResult matchAndRewrite(OpTy op,
8386
PatternRewriter &rewriter) const override {
@@ -120,6 +123,7 @@ struct BinaryArithOpToAPFloatConversion final : OpRewritePattern<OpTy> {
120123
}
121124

122125
SymbolOpInterface symTable;
126+
const char *APFloatName;
123127
};
124128

125129
namespace {
@@ -133,17 +137,16 @@ struct ArithToAPFloatConversionPass final
133137
void ArithToAPFloatConversionPass::runOnOperation() {
134138
MLIRContext *context = &getContext();
135139
RewritePatternSet patterns(context);
136-
static const char add[] = "add";
137-
static const char subtract[] = "subtract";
138-
static const char multiply[] = "multiply";
139-
static const char divide[] = "divide";
140-
static const char remainder[] = "remainder";
141-
patterns.add<BinaryArithOpToAPFloatConversion<arith::AddFOp, add>,
142-
BinaryArithOpToAPFloatConversion<arith::SubFOp, subtract>,
143-
BinaryArithOpToAPFloatConversion<arith::MulFOp, multiply>,
144-
BinaryArithOpToAPFloatConversion<arith::DivFOp, divide>,
145-
BinaryArithOpToAPFloatConversion<arith::RemFOp, remainder>>(
146-
context, 1, getOperation());
140+
patterns.add<BinaryArithOpToAPFloatConversion<arith::AddFOp>>(context, "add",
141+
getOperation());
142+
patterns.add<BinaryArithOpToAPFloatConversion<arith::SubFOp>>(
143+
context, "subtract", getOperation());
144+
patterns.add<BinaryArithOpToAPFloatConversion<arith::MulFOp>>(
145+
context, "multiply", getOperation());
146+
patterns.add<BinaryArithOpToAPFloatConversion<arith::DivFOp>>(
147+
context, "divide", getOperation());
148+
patterns.add<BinaryArithOpToAPFloatConversion<arith::RemFOp>>(
149+
context, "remainder", getOperation());
147150
LogicalResult result = success();
148151
ScopedDiagnosticHandler scopedHandler(context, [&result](Diagnostic &diag) {
149152
if (diag.getSeverity() == DiagnosticSeverity::Error) {

0 commit comments

Comments
 (0)