@@ -312,16 +312,15 @@ struct GPUShuffleConversion final : ConvertOpToLLVMPattern<gpu::ShuffleOp> {
312312
313313class MemorySpaceToOpenCLMemorySpaceConverter final : public TypeConverter {
314314public:
315- MemorySpaceToOpenCLMemorySpaceConverter () {
315+ MemorySpaceToOpenCLMemorySpaceConverter (MLIRContext *ctx ) {
316316 addConversion ([](Type t) { return t; });
317- addConversion ([](BaseMemRefType memRefType) -> std::optional<Type> {
317+ addConversion ([ctx ](BaseMemRefType memRefType) -> std::optional<Type> {
318318 // Attach global addr space attribute to memrefs with no addr space attr
319319 Attribute memSpaceAttr = memRefType.getMemorySpace ();
320320 if (memSpaceAttr)
321321 return std::nullopt ;
322322
323- auto addrSpaceAttr = gpu::AddressSpaceAttr::get (
324- memRefType.getContext (), gpu::AddressSpace::Global);
323+ Attribute addrSpaceAttr = IntegerAttr::get (IntegerType::get (ctx, 64 ), 1 );
325324 if (auto rankedType = dyn_cast<MemRefType>(memRefType)) {
326325 return MemRefType::get (memRefType.getShape (),
327326 memRefType.getElementType (),
@@ -361,7 +360,7 @@ struct GPUToLLVMSPVConversionPass final
361360
362361 // Force OpenCL address spaces when they are not present
363362 {
364- MemorySpaceToOpenCLMemorySpaceConverter converter;
363+ MemorySpaceToOpenCLMemorySpaceConverter converter (context) ;
365364 AttrTypeReplacer replacer;
366365 replacer.addReplacement ([&converter](BaseMemRefType origType)
367366 -> std::optional<BaseMemRefType> {
@@ -379,8 +378,6 @@ struct GPUToLLVMSPVConversionPass final
379378 gpu::ReturnOp, gpu::ShuffleOp, gpu::ThreadIdOp>();
380379
381380 populateGpuToLLVMSPVConversionPatterns (converter, patterns);
382- populateFuncToLLVMConversionPatterns (converter, patterns);
383- populateFinalizeMemRefToLLVMConversionPatterns (converter, patterns);
384381 populateGpuMemorySpaceAttributeConversions (converter);
385382
386383 if (failed (applyPartialConversion (getOperation (), target,
0 commit comments