@@ -401,7 +401,10 @@ class MMAToOCLPattern : public OpConversionPattern<xevm::MMAOp> {
401401 auto memAttr = rewriter.getAttr <LLVM::MemoryEffectsAttr>(
402402 /* other=*/ LLVM::ModRefInfo::NoModRef,
403403 /* argMem=*/ LLVM::ModRefInfo::NoModRef,
404- /* inaccessibleMem=*/ LLVM::ModRefInfo::NoModRef);
404+ /* inaccessibleMem=*/ LLVM::ModRefInfo::NoModRef,
405+ /* errnoMem=*/ LLVM::ModRefInfo::NoModRef,
406+ /* targetMem0=*/ LLVM::ModRefInfo::NoModRef,
407+ /* targetMem1=*/ LLVM::ModRefInfo::NoModRef);
405408 auto funcAttrs = convergentNoUnwindWillReturnAttrs;
406409 funcAttrs.memEffectsAttr = memAttr;
407410 Value result =
@@ -450,7 +453,10 @@ class PrefetchToOCLPattern : public OpConversionPattern<PrefetchOp> {
450453 auto memAttr = rewriter.getAttr <LLVM::MemoryEffectsAttr>(
451454 /* other=*/ LLVM::ModRefInfo::NoModRef,
452455 /* argMem=*/ LLVM::ModRefInfo::Ref,
453- /* inaccessibleMem=*/ LLVM::ModRefInfo::NoModRef);
456+ /* inaccessibleMem=*/ LLVM::ModRefInfo::NoModRef,
457+ /* errnoMem=*/ LLVM::ModRefInfo::NoModRef,
458+ /* targetMem0=*/ LLVM::ModRefInfo::NoModRef,
459+ /* targetMem1=*/ LLVM::ModRefInfo::NoModRef);
454460 funcAttr.memEffectsAttr = memAttr;
455461
456462 LLVM::CallOp call = createDeviceFunctionCall (
@@ -556,7 +562,10 @@ class LoadStorePrefetchToOCLPattern : public OpConversionPattern<OpType> {
556562 auto memAttr = rewriter.getAttr <LLVM::MemoryEffectsAttr>(
557563 /* other=*/ LLVM::ModRefInfo::NoModRef,
558564 /* argMem=*/ LLVM::ModRefInfo::Ref,
559- /* inaccessibleMem=*/ LLVM::ModRefInfo::NoModRef);
565+ /* inaccessibleMem=*/ LLVM::ModRefInfo::NoModRef,
566+ /* errnoMem=*/ LLVM::ModRefInfo::NoModRef,
567+ /* targetMem0=*/ LLVM::ModRefInfo::NoModRef,
568+ /* targetMem1=*/ LLVM::ModRefInfo::NoModRef);
560569 funcAttr = noUnwindAttrs;
561570 funcAttr.memEffectsAttr = memAttr;
562571 } else {
@@ -798,7 +807,10 @@ class LaunchConfigOpToOCLPattern : public OpConversionPattern<OpType> {
798807 constexpr auto noModRef = LLVM::ModRefInfo::NoModRef;
799808 auto memAttr = rewriter.getAttr <LLVM::MemoryEffectsAttr>(
800809 /* other=*/ noModRef,
801- /* argMem=*/ noModRef, /* inaccessibleMem=*/ noModRef);
810+ /* argMem=*/ noModRef, /* inaccessibleMem=*/ noModRef,
811+ /* errnoMem=*/ noModRef,
812+ /* targetMem0=*/ noModRef,
813+ /* targetMem1=*/ noModRef);
802814 call.setMemoryEffectsAttr (memAttr);
803815 rewriter.replaceOp (op, call);
804816 return success ();
@@ -836,7 +848,10 @@ class SubgroupOpWorkitemOpToOCLPattern : public OpConversionPattern<OpType> {
836848 constexpr auto noModRef = LLVM::ModRefInfo::NoModRef;
837849 auto memAttr = rewriter.getAttr <LLVM::MemoryEffectsAttr>(
838850 /* other=*/ noModRef,
839- /* argMem=*/ noModRef, /* inaccessibleMem=*/ noModRef);
851+ /* argMem=*/ noModRef, /* inaccessibleMem=*/ noModRef,
852+ /* errnoMem=*/ noModRef,
853+ /* targetMem0=*/ noModRef,
854+ /* targetMem1=*/ noModRef);
840855 call.setMemoryEffectsAttr (memAttr);
841856 rewriter.replaceOp (op, call);
842857 return success ();
0 commit comments