Skip to content

Commit b5a6e88

Browse files
committed
[MLIR][Math] Fix mathtolibm to use conversion patterns
1 parent bcab8ac commit b5a6e88

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

mlir/lib/Conversion/MathToLibm/MathToLibm.cpp

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,32 +29,35 @@ namespace {
2929
// Pattern to convert vector operations to scalar operations. This is needed as
3030
// libm calls require scalars.
3131
template <typename Op>
32-
struct VecOpToScalarOp : public OpRewritePattern<Op> {
32+
struct VecOpToScalarOp : public OpConversionPattern<Op> {
3333
public:
34-
using OpRewritePattern<Op>::OpRewritePattern;
34+
using OpConversionPattern<Op>::OpConversionPattern;
3535

36-
LogicalResult matchAndRewrite(Op op, PatternRewriter &rewriter) const final;
36+
LogicalResult
37+
matchAndRewrite(Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const final;
3738
};
3839
// Pattern to promote an op of a smaller floating point type to F32.
3940
template <typename Op>
40-
struct PromoteOpToF32 : public OpRewritePattern<Op> {
41+
struct PromoteOpToF32 : public OpConversionPattern<Op> {
4142
public:
42-
using OpRewritePattern<Op>::OpRewritePattern;
43+
using OpConversionPattern<Op>::OpConversionPattern;
4344

44-
LogicalResult matchAndRewrite(Op op, PatternRewriter &rewriter) const final;
45+
LogicalResult
46+
matchAndRewrite(Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const final;
4547
};
4648
// Pattern to convert scalar math operations to calls to libm functions.
4749
// Additionally the libm function signatures are declared.
4850
template <typename Op>
49-
struct ScalarOpToLibmCall : public OpRewritePattern<Op> {
51+
struct ScalarOpToLibmCall : public OpConversionPattern<Op> {
5052
public:
5153
using OpRewritePattern<Op>::OpRewritePattern;
5254
ScalarOpToLibmCall(MLIRContext *context, PatternBenefit benefit,
5355
StringRef floatFunc, StringRef doubleFunc)
54-
: OpRewritePattern<Op>(context, benefit), floatFunc(floatFunc),
56+
: OpConversionPattern<Op>(context, benefit), floatFunc(floatFunc),
5557
doubleFunc(doubleFunc) {};
5658

57-
LogicalResult matchAndRewrite(Op op, PatternRewriter &rewriter) const final;
59+
LogicalResult
60+
matchAndRewrite(Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const final;
5861

5962
private:
6063
std::string floatFunc, doubleFunc;

0 commit comments

Comments
 (0)