@@ -8456,8 +8456,11 @@ void SelectionDAGBuilder::visitVPLoad(
84568456 MemoryLocation ML = MemoryLocation::getAfter(PtrOperand, AAInfo);
84578457 bool AddToChain = !BatchAA || !BatchAA->pointsToConstantMemory(ML);
84588458 SDValue InChain = AddToChain ? DAG.getRoot() : DAG.getEntryNode();
8459+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
8460+ MachineMemOperand::Flags MMOFlags =
8461+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
84598462 MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8460- MachinePointerInfo(PtrOperand), MachineMemOperand::MOLoad ,
8463+ MachinePointerInfo(PtrOperand), MMOFlags ,
84618464 LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo, Ranges);
84628465 LD = DAG.getLoadVP(VT, DL, InChain, OpValues[0], OpValues[1], OpValues[2],
84638466 MMO, false /*IsExpanding */);
@@ -8508,9 +8511,11 @@ void SelectionDAGBuilder::visitVPGather(
85088511 Alignment = DAG.getEVTAlign(VT.getScalarType());
85098512 unsigned AS =
85108513 PtrOperand->getType()->getScalarType()->getPointerAddressSpace();
8514+ MachineMemOperand::Flags MMOFlags =
8515+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
85118516 MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8512- MachinePointerInfo(AS), MachineMemOperand::MOLoad ,
8513- LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo, Ranges);
8517+ MachinePointerInfo(AS), MMOFlags, LocationSize::beforeOrAfterPointer() ,
8518+ *Alignment, AAInfo, Ranges);
85148519 SDValue Base, Index, Scale;
85158520 bool UniformBase =
85168521 getUniformBase(PtrOperand, Base, Index, Scale, this, VPIntrin.getParent(),
@@ -8546,8 +8551,11 @@ void SelectionDAGBuilder::visitVPStore(
85468551 Alignment = DAG.getEVTAlign(VT);
85478552 SDValue Ptr = OpValues[1];
85488553 SDValue Offset = DAG.getUNDEF(Ptr.getValueType());
8554+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
8555+ MachineMemOperand::Flags MMOFlags =
8556+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
85498557 MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8550- MachinePointerInfo(PtrOperand), MachineMemOperand::MOStore ,
8558+ MachinePointerInfo(PtrOperand), MMOFlags ,
85518559 LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo);
85528560 ST = DAG.getStoreVP(getMemoryRoot(), DL, OpValues[0], Ptr, Offset,
85538561 OpValues[2], OpValues[3], VT, MMO, ISD::UNINDEXED,
@@ -8569,9 +8577,11 @@ void SelectionDAGBuilder::visitVPScatter(
85698577 Alignment = DAG.getEVTAlign(VT.getScalarType());
85708578 unsigned AS =
85718579 PtrOperand->getType()->getScalarType()->getPointerAddressSpace();
8580+ MachineMemOperand::Flags MMOFlags =
8581+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
85728582 MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8573- MachinePointerInfo(AS), MachineMemOperand::MOStore ,
8574- LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo);
8583+ MachinePointerInfo(AS), MMOFlags, LocationSize::beforeOrAfterPointer() ,
8584+ *Alignment, AAInfo);
85758585 SDValue Base, Index, Scale;
85768586 bool UniformBase =
85778587 getUniformBase(PtrOperand, Base, Index, Scale, this, VPIntrin.getParent(),
@@ -8609,9 +8619,12 @@ void SelectionDAGBuilder::visitVPStridedLoad(
86098619 bool AddToChain = !BatchAA || !BatchAA->pointsToConstantMemory(ML);
86108620 SDValue InChain = AddToChain ? DAG.getRoot() : DAG.getEntryNode();
86118621 unsigned AS = PtrOperand->getType()->getPointerAddressSpace();
8622+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
8623+ MachineMemOperand::Flags MMOFlags =
8624+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
86128625 MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8613- MachinePointerInfo(AS), MachineMemOperand::MOLoad ,
8614- LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo, Ranges);
8626+ MachinePointerInfo(AS), MMOFlags, LocationSize::beforeOrAfterPointer() ,
8627+ *Alignment, AAInfo, Ranges);
86158628
86168629 SDValue LD = DAG.getStridedLoadVP(VT, DL, InChain, OpValues[0], OpValues[1],
86178630 OpValues[2], OpValues[3], MMO,
@@ -8632,9 +8645,12 @@ void SelectionDAGBuilder::visitVPStridedStore(
86328645 Alignment = DAG.getEVTAlign(VT.getScalarType());
86338646 AAMDNodes AAInfo = VPIntrin.getAAMetadata();
86348647 unsigned AS = PtrOperand->getType()->getPointerAddressSpace();
8648+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
8649+ MachineMemOperand::Flags MMOFlags =
8650+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
86358651 MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8636- MachinePointerInfo(AS), MachineMemOperand::MOStore ,
8637- LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo);
8652+ MachinePointerInfo(AS), MMOFlags, LocationSize::beforeOrAfterPointer() ,
8653+ *Alignment, AAInfo);
86388654
86398655 SDValue ST = DAG.getStridedStoreVP(
86408656 getMemoryRoot(), DL, OpValues[0], OpValues[1],
0 commit comments