@@ -34,7 +34,8 @@ struct VecOpToScalarOp : public OpConversionPattern<Op> {
34
34
using OpConversionPattern<Op>::OpConversionPattern;
35
35
36
36
LogicalResult
37
- matchAndRewrite (Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const final ;
37
+ matchAndRewrite (Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor,
38
+ ConversionPatternRewriter &rewriter) const final ;
38
39
};
39
40
// Pattern to promote an op of a smaller floating point type to F32.
40
41
template <typename Op>
@@ -43,21 +44,23 @@ struct PromoteOpToF32 : public OpConversionPattern<Op> {
43
44
using OpConversionPattern<Op>::OpConversionPattern;
44
45
45
46
LogicalResult
46
- matchAndRewrite (Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const final ;
47
+ matchAndRewrite (Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor,
48
+ ConversionPatternRewriter &rewriter) const final ;
47
49
};
48
50
// Pattern to convert scalar math operations to calls to libm functions.
49
51
// Additionally the libm function signatures are declared.
50
52
template <typename Op>
51
53
struct ScalarOpToLibmCall : public OpConversionPattern <Op> {
52
54
public:
53
- using OpRewritePattern <Op>::OpRewritePattern ;
55
+ using OpConversionPattern <Op>::OpConversionPattern ;
54
56
ScalarOpToLibmCall (MLIRContext *context, PatternBenefit benefit,
55
57
StringRef floatFunc, StringRef doubleFunc)
56
58
: OpConversionPattern<Op>(context, benefit), floatFunc(floatFunc),
57
- doubleFunc (doubleFunc) {};
59
+ doubleFunc (doubleFunc){};
58
60
59
61
LogicalResult
60
- matchAndRewrite (Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const final ;
62
+ matchAndRewrite (Op op, typename OpConversionPattern<Op>::OpAdaptor adaptor,
63
+ ConversionPatternRewriter &rewriter) const final ;
61
64
62
65
private:
63
66
std::string floatFunc, doubleFunc;
@@ -74,8 +77,9 @@ void populatePatternsForOp(RewritePatternSet &patterns, PatternBenefit benefit,
74
77
} // namespace
75
78
76
79
template <typename Op>
77
- LogicalResult
78
- VecOpToScalarOp<Op>::matchAndRewrite(Op op, PatternRewriter &rewriter) const {
80
+ LogicalResult VecOpToScalarOp<Op>::matchAndRewrite(
81
+ Op op, typename OpConversionPattern<Op>::OpAdaptor,
82
+ ConversionPatternRewriter &rewriter) const {
79
83
auto opType = op.getType ();
80
84
auto loc = op.getLoc ();
81
85
auto vecType = dyn_cast<VectorType>(opType);
@@ -109,7 +113,9 @@ VecOpToScalarOp<Op>::matchAndRewrite(Op op, PatternRewriter &rewriter) const {
109
113
110
114
template <typename Op>
111
115
LogicalResult
112
- PromoteOpToF32<Op>::matchAndRewrite(Op op, PatternRewriter &rewriter) const {
116
+ PromoteOpToF32<Op>::matchAndRewrite(Op op,
117
+ typename OpConversionPattern<Op>::OpAdaptor,
118
+ ConversionPatternRewriter &rewriter) const {
113
119
auto opType = op.getType ();
114
120
if (!isa<Float16Type, BFloat16Type>(opType))
115
121
return failure ();
@@ -126,9 +132,9 @@ PromoteOpToF32<Op>::matchAndRewrite(Op op, PatternRewriter &rewriter) const {
126
132
}
127
133
128
134
template <typename Op>
129
- LogicalResult
130
- ScalarOpToLibmCall <Op>::matchAndRewrite(Op op,
131
- PatternRewriter &rewriter) const {
135
+ LogicalResult ScalarOpToLibmCall<Op>::matchAndRewrite(
136
+ Op op, typename OpConversionPattern <Op>::OpAdaptor ConversionPatternRewriter
137
+ &rewriter) const {
132
138
auto module = SymbolTable::getNearestSymbolTable (op);
133
139
auto type = op.getType ();
134
140
if (!isa<Float32Type, Float64Type>(type))
0 commit comments