================ @@ -54,22 +55,67 @@ void GPUToSPIRVPass::runOnOperation() { SmallVector<Operation *, 1> gpuModules; OpBuilder builder(context); + + auto getTargetEnvFromGPUModuleOp = [*this](gpu::GPUModuleOp moduleOp) { + Operation *gpuModule = moduleOp.getOperation(); + auto targetAttr = spirv::lookupTargetEnvOrDefault(gpuModule); + std::unique_ptr<ConversionTarget> target = + SPIRVConversionTarget::get(targetAttr); + + SPIRVConversionOptions options; + options.use64bitIndex = this->use64bitIndex; + SPIRVTypeConverter typeConverter(targetAttr, options); + const spirv::TargetEnv &targetEnv = typeConverter.getTargetEnv(); ---------------- silee2 wrote:
Thanks! That simplifies the code a lot. https://github.com/llvm/llvm-project/pull/69941 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits