@@ -111,33 +111,33 @@ struct ConvertIndexCeilDivSPattern final : OpConversionPattern<CeilDivSOp> {
111
111
Value m = adaptor.getRhs ();
112
112
113
113
// Define the constants
114
- Value zero = rewriter. create < spirv::ConstantOp>(
115
- loc, n_type, IntegerAttr::get (n_type, 0 ));
116
- Value posOne = rewriter. create < spirv::ConstantOp>(
117
- loc, n_type, IntegerAttr::get (n_type, 1 ));
118
- Value negOne = rewriter. create < spirv::ConstantOp>(
119
- loc, n_type, IntegerAttr::get (n_type, -1 ));
114
+ Value zero = spirv::ConstantOp::create (rewriter, loc, n_type,
115
+ IntegerAttr::get (n_type, 0 ));
116
+ Value posOne = spirv::ConstantOp::create (rewriter, loc, n_type,
117
+ IntegerAttr::get (n_type, 1 ));
118
+ Value negOne = spirv::ConstantOp::create (rewriter, loc, n_type,
119
+ IntegerAttr::get (n_type, -1 ));
120
120
121
121
// Compute `x`.
122
- Value mPos = rewriter. create < spirv::SGreaterThanOp>( loc, m, zero);
123
- Value x = rewriter. create < spirv::SelectOp>( loc, mPos , negOne, posOne);
122
+ Value mPos = spirv::SGreaterThanOp::create (rewriter, loc, m, zero);
123
+ Value x = spirv::SelectOp::create (rewriter, loc, mPos , negOne, posOne);
124
124
125
125
// Compute the positive result.
126
- Value nPlusX = rewriter. create < spirv::IAddOp>( loc, n, x);
127
- Value nPlusXDivM = rewriter. create < spirv::SDivOp>( loc, nPlusX, m);
128
- Value posRes = rewriter. create < spirv::IAddOp>( loc, nPlusXDivM, posOne);
126
+ Value nPlusX = spirv::IAddOp::create (rewriter, loc, n, x);
127
+ Value nPlusXDivM = spirv::SDivOp::create (rewriter, loc, nPlusX, m);
128
+ Value posRes = spirv::IAddOp::create (rewriter, loc, nPlusXDivM, posOne);
129
129
130
130
// Compute the negative result.
131
- Value negN = rewriter. create < spirv::ISubOp>( loc, zero, n);
132
- Value negNDivM = rewriter. create < spirv::SDivOp>( loc, negN, m);
133
- Value negRes = rewriter. create < spirv::ISubOp>( loc, zero, negNDivM);
131
+ Value negN = spirv::ISubOp::create (rewriter, loc, zero, n);
132
+ Value negNDivM = spirv::SDivOp::create (rewriter, loc, negN, m);
133
+ Value negRes = spirv::ISubOp::create (rewriter, loc, zero, negNDivM);
134
134
135
135
// Pick the positive result if `n` and `m` have the same sign and `n` is
136
136
// non-zero, i.e. `(n > 0) == (m > 0) && n != 0`.
137
- Value nPos = rewriter. create < spirv::SGreaterThanOp>( loc, n, zero);
138
- Value sameSign = rewriter. create < spirv::LogicalEqualOp>( loc, nPos, mPos );
139
- Value nNonZero = rewriter. create < spirv::INotEqualOp>( loc, n, zero);
140
- Value cmp = rewriter. create < spirv::LogicalAndOp>( loc, sameSign, nNonZero);
137
+ Value nPos = spirv::SGreaterThanOp::create (rewriter, loc, n, zero);
138
+ Value sameSign = spirv::LogicalEqualOp::create (rewriter, loc, nPos, mPos );
139
+ Value nNonZero = spirv::INotEqualOp::create (rewriter, loc, n, zero);
140
+ Value cmp = spirv::LogicalAndOp::create (rewriter, loc, sameSign, nNonZero);
141
141
rewriter.replaceOpWithNewOp <spirv::SelectOp>(op, cmp, posRes, negRes);
142
142
return success ();
143
143
}
@@ -161,18 +161,18 @@ struct ConvertIndexCeilDivUPattern final : OpConversionPattern<CeilDivUOp> {
161
161
Value m = adaptor.getRhs ();
162
162
163
163
// Define the constants
164
- Value zero = rewriter. create < spirv::ConstantOp>(
165
- loc, n_type, IntegerAttr::get (n_type, 0 ));
166
- Value one = rewriter. create < spirv::ConstantOp>( loc, n_type,
167
- IntegerAttr::get (n_type, 1 ));
164
+ Value zero = spirv::ConstantOp::create (rewriter, loc, n_type,
165
+ IntegerAttr::get (n_type, 0 ));
166
+ Value one = spirv::ConstantOp::create (rewriter, loc, n_type,
167
+ IntegerAttr::get (n_type, 1 ));
168
168
169
169
// Compute the non-zero result.
170
- Value minusOne = rewriter. create < spirv::ISubOp>( loc, n, one);
171
- Value quotient = rewriter. create < spirv::UDivOp>( loc, minusOne, m);
172
- Value plusOne = rewriter. create < spirv::IAddOp>( loc, quotient, one);
170
+ Value minusOne = spirv::ISubOp::create (rewriter, loc, n, one);
171
+ Value quotient = spirv::UDivOp::create (rewriter, loc, minusOne, m);
172
+ Value plusOne = spirv::IAddOp::create (rewriter, loc, quotient, one);
173
173
174
174
// Pick the result
175
- Value cmp = rewriter. create < spirv::IEqualOp>( loc, n, zero);
175
+ Value cmp = spirv::IEqualOp::create (rewriter, loc, n, zero);
176
176
rewriter.replaceOpWithNewOp <spirv::SelectOp>(op, cmp, zero, plusOne);
177
177
return success ();
178
178
}
@@ -197,32 +197,33 @@ struct ConvertIndexFloorDivSPattern final : OpConversionPattern<FloorDivSOp> {
197
197
Value m = adaptor.getRhs ();
198
198
199
199
// Define the constants
200
- Value zero = rewriter. create < spirv::ConstantOp>(
201
- loc, n_type, IntegerAttr::get (n_type, 0 ));
202
- Value posOne = rewriter. create < spirv::ConstantOp>(
203
- loc, n_type, IntegerAttr::get (n_type, 1 ));
204
- Value negOne = rewriter. create < spirv::ConstantOp>(
205
- loc, n_type, IntegerAttr::get (n_type, -1 ));
200
+ Value zero = spirv::ConstantOp::create (rewriter, loc, n_type,
201
+ IntegerAttr::get (n_type, 0 ));
202
+ Value posOne = spirv::ConstantOp::create (rewriter, loc, n_type,
203
+ IntegerAttr::get (n_type, 1 ));
204
+ Value negOne = spirv::ConstantOp::create (rewriter, loc, n_type,
205
+ IntegerAttr::get (n_type, -1 ));
206
206
207
207
// Compute `x`.
208
- Value mNeg = rewriter. create < spirv::SLessThanOp>( loc, m, zero);
209
- Value x = rewriter. create < spirv::SelectOp>( loc, mNeg , posOne, negOne);
208
+ Value mNeg = spirv::SLessThanOp::create (rewriter, loc, m, zero);
209
+ Value x = spirv::SelectOp::create (rewriter, loc, mNeg , posOne, negOne);
210
210
211
211
// Compute the negative result
212
- Value xMinusN = rewriter. create < spirv::ISubOp>( loc, x, n);
213
- Value xMinusNDivM = rewriter. create < spirv::SDivOp>( loc, xMinusN, m);
214
- Value negRes = rewriter. create < spirv::ISubOp>( loc, negOne, xMinusNDivM);
212
+ Value xMinusN = spirv::ISubOp::create (rewriter, loc, x, n);
213
+ Value xMinusNDivM = spirv::SDivOp::create (rewriter, loc, xMinusN, m);
214
+ Value negRes = spirv::ISubOp::create (rewriter, loc, negOne, xMinusNDivM);
215
215
216
216
// Compute the positive result.
217
- Value posRes = rewriter. create < spirv::SDivOp>( loc, n, m);
217
+ Value posRes = spirv::SDivOp::create (rewriter, loc, n, m);
218
218
219
219
// Pick the negative result if `n` and `m` have different signs and `n` is
220
220
// non-zero, i.e. `(n < 0) != (m < 0) && n != 0`.
221
- Value nNeg = rewriter.create <spirv::SLessThanOp>(loc, n, zero);
222
- Value diffSign = rewriter.create <spirv::LogicalNotEqualOp>(loc, nNeg, mNeg );
223
- Value nNonZero = rewriter.create <spirv::INotEqualOp>(loc, n, zero);
221
+ Value nNeg = spirv::SLessThanOp::create (rewriter, loc, n, zero);
222
+ Value diffSign =
223
+ spirv::LogicalNotEqualOp::create (rewriter, loc, nNeg, mNeg );
224
+ Value nNonZero = spirv::INotEqualOp::create (rewriter, loc, n, zero);
224
225
225
- Value cmp = rewriter. create < spirv::LogicalAndOp>( loc, diffSign, nNonZero);
226
+ Value cmp = spirv::LogicalAndOp::create (rewriter, loc, diffSign, nNonZero);
226
227
rewriter.replaceOpWithNewOp <spirv::SelectOp>(op, cmp, posRes, negRes);
227
228
return success ();
228
229
}
0 commit comments