@@ -1021,7 +1021,8 @@ bool SPIRVInstructionSelector::selectBitcast(Register ResVReg,
10211021
10221022static void addMemoryOperands (MachineMemOperand *MemOp,
10231023 MachineInstrBuilder &MIB,
1024- MachineIRBuilder &MIRBuilder) {
1024+ MachineIRBuilder &MIRBuilder,
1025+ SPIRVGlobalRegistry &GR) {
10251026 uint32_t SpvMemOp = static_cast <uint32_t >(SPIRV::MemoryOperand::None);
10261027 if (MemOp->isVolatile ())
10271028 SpvMemOp |= static_cast <uint32_t >(SPIRV::MemoryOperand::Volatile);
@@ -1036,13 +1037,13 @@ static void addMemoryOperands(MachineMemOperand *MemOp,
10361037 static_cast <const SPIRVSubtarget *>(&MIRBuilder.getMF ().getSubtarget ());
10371038 if (ST->canUseExtension (SPIRV::Extension::SPV_INTEL_memory_access_aliasing)) {
10381039 if (auto *MD = MemOp->getAAInfo ().Scope ) {
1039- AliasList = getOrAddMemAliasingINTELInst (MIRBuilder, MD);
1040+ AliasList = GR. getOrAddMemAliasingINTELInst (MIRBuilder, MD);
10401041 if (AliasList)
10411042 SpvMemOp |=
10421043 static_cast <uint32_t >(SPIRV::MemoryOperand::AliasScopeINTELMask);
10431044 }
10441045 if (auto *MD = MemOp->getAAInfo ().NoAlias ) {
1045- NoAliasList = getOrAddMemAliasingINTELInst (MIRBuilder, MD);
1046+ NoAliasList = GR. getOrAddMemAliasingINTELInst (MIRBuilder, MD);
10461047 if (NoAliasList)
10471048 SpvMemOp |=
10481049 static_cast <uint32_t >(SPIRV::MemoryOperand::NoAliasINTELMask);
@@ -1106,7 +1107,7 @@ bool SPIRVInstructionSelector::selectLoad(Register ResVReg,
11061107 addMemoryOperands (I.getOperand (2 + OpOffset).getImm (), MIB);
11071108 } else {
11081109 MachineIRBuilder MIRBuilder (I);
1109- addMemoryOperands (*I.memoperands_begin (), MIB, MIRBuilder);
1110+ addMemoryOperands (*I.memoperands_begin (), MIB, MIRBuilder, GR );
11101111 }
11111112 return MIB.constrainAllUses (TII, TRI, RBI);
11121113}
@@ -1149,7 +1150,7 @@ bool SPIRVInstructionSelector::selectStore(MachineInstr &I) const {
11491150 addMemoryOperands (I.getOperand (2 + OpOffset).getImm (), MIB);
11501151 } else {
11511152 MachineIRBuilder MIRBuilder (I);
1152- addMemoryOperands (*I.memoperands_begin (), MIB, MIRBuilder);
1153+ addMemoryOperands (*I.memoperands_begin (), MIB, MIRBuilder, GR );
11531154 }
11541155 return MIB.constrainAllUses (TII, TRI, RBI);
11551156}
@@ -1228,7 +1229,7 @@ bool SPIRVInstructionSelector::selectMemOperation(Register ResVReg,
12281229 .addUse (I.getOperand (2 ).getReg ());
12291230 if (I.getNumMemOperands ()) {
12301231 MachineIRBuilder MIRBuilder (I);
1231- addMemoryOperands (*I.memoperands_begin (), MIB, MIRBuilder);
1232+ addMemoryOperands (*I.memoperands_begin (), MIB, MIRBuilder, GR );
12321233 }
12331234 Result &= MIB.constrainAllUses (TII, TRI, RBI);
12341235 if (ResVReg.isValid () && ResVReg != MIB->getOperand (0 ).getReg ())
0 commit comments