@@ -203,10 +203,11 @@ struct GPUSubgroupIdOpToROCDL final
203
203
: ConvertOpToLLVMPattern<gpu::SubgroupIdOp> {
204
204
using ConvertOpToLLVMPattern::ConvertOpToLLVMPattern;
205
205
206
- GPUSubgroupIdOpToROCDL (MLIRContext *ctx, mlir::amdgpu::Chipset chipset)
207
- : ConvertOpToLLVMPattern(ctx), chipset(chipset) {}
206
+ GPUSubgroupIdOpToROCDL (const LLVMTypeConverter &converter,
207
+ const mlir::amdgpu::Chipset &chipset)
208
+ : ConvertOpToLLVMPattern(converter), chipset(chipset) {}
208
209
209
- mlir::amdgpu::Chipset chipset;
210
+ const mlir::amdgpu::Chipset chipset;
210
211
211
212
LogicalResult
212
213
matchAndRewrite (gpu::SubgroupIdOp op, gpu::SubgroupIdOp::Adaptor adaptor,
@@ -235,19 +236,7 @@ struct GPUSubgroupIdOpToROCDL final
235
236
// code.
236
237
struct LowerGpuOpsToROCDLOpsPass final
237
238
: public impl::ConvertGpuOpsToROCDLOpsBase<LowerGpuOpsToROCDLOpsPass> {
238
- LowerGpuOpsToROCDLOpsPass () = default ;
239
- LowerGpuOpsToROCDLOpsPass (const std::string &chipset, unsigned indexBitwidth,
240
- bool useBarePtrCallConv,
241
- gpu::amd::Runtime runtime) {
242
- if (this ->chipset .getNumOccurrences () == 0 )
243
- this ->chipset = chipset;
244
- if (this ->indexBitwidth .getNumOccurrences () == 0 )
245
- this ->indexBitwidth = indexBitwidth;
246
- if (this ->useBarePtrCallConv .getNumOccurrences () == 0 )
247
- this ->useBarePtrCallConv = useBarePtrCallConv;
248
- if (this ->runtime .getNumOccurrences () == 0 )
249
- this ->runtime = runtime;
250
- }
239
+ using Base::Base;
251
240
252
241
void getDependentDialects (DialectRegistry ®istry) const override {
253
242
Base::getDependentDialects (registry);
@@ -442,16 +431,11 @@ void mlir::populateGpuToROCDLConversionPatterns(
442
431
patterns.add <GPUDynamicSharedMemoryOpLowering>(converter);
443
432
444
433
patterns.add <GPUShuffleOpLowering, GPULaneIdOpToROCDL>(converter);
445
- patterns.add (
446
- std::make_unique<GPUSubgroupIdOpToROCDL>(patterns.getContext (), chipset));
434
+ patterns.add <GPUSubgroupIdOpToROCDL>(converter, chipset);
447
435
populateMathToROCDLConversionPatterns (converter, patterns);
448
436
}
449
437
450
438
std::unique_ptr<OperationPass<gpu::GPUModuleOp>>
451
- mlir::createLowerGpuOpsToROCDLOpsPass (const std::string &chipset,
452
- unsigned indexBitwidth,
453
- bool useBarePtrCallConv,
454
- gpu::amd::Runtime runtime) {
455
- return std::make_unique<LowerGpuOpsToROCDLOpsPass>(
456
- chipset, indexBitwidth, useBarePtrCallConv, runtime);
439
+ mlir::createLowerGpuOpsToROCDLOpsPass () {
440
+ return std::make_unique<LowerGpuOpsToROCDLOpsPass>();
457
441
}
0 commit comments