@@ -8456,8 +8456,11 @@ void SelectionDAGBuilder::visitVPLoad(
8456
8456
MemoryLocation ML = MemoryLocation::getAfter(PtrOperand, AAInfo);
8457
8457
bool AddToChain = !BatchAA || !BatchAA->pointsToConstantMemory(ML);
8458
8458
SDValue InChain = AddToChain ? DAG.getRoot() : DAG.getEntryNode();
8459
+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
8460
+ MachineMemOperand::Flags MMOFlags =
8461
+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
8459
8462
MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8460
- MachinePointerInfo(PtrOperand), MachineMemOperand::MOLoad ,
8463
+ MachinePointerInfo(PtrOperand), MMOFlags ,
8461
8464
LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo, Ranges);
8462
8465
LD = DAG.getLoadVP(VT, DL, InChain, OpValues[0], OpValues[1], OpValues[2],
8463
8466
MMO, false /*IsExpanding */);
@@ -8508,9 +8511,11 @@ void SelectionDAGBuilder::visitVPGather(
8508
8511
Alignment = DAG.getEVTAlign(VT.getScalarType());
8509
8512
unsigned AS =
8510
8513
PtrOperand->getType()->getScalarType()->getPointerAddressSpace();
8514
+ MachineMemOperand::Flags MMOFlags =
8515
+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
8511
8516
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);
8514
8519
SDValue Base, Index, Scale;
8515
8520
bool UniformBase =
8516
8521
getUniformBase(PtrOperand, Base, Index, Scale, this, VPIntrin.getParent(),
@@ -8546,8 +8551,11 @@ void SelectionDAGBuilder::visitVPStore(
8546
8551
Alignment = DAG.getEVTAlign(VT);
8547
8552
SDValue Ptr = OpValues[1];
8548
8553
SDValue Offset = DAG.getUNDEF(Ptr.getValueType());
8554
+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
8555
+ MachineMemOperand::Flags MMOFlags =
8556
+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
8549
8557
MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8550
- MachinePointerInfo(PtrOperand), MachineMemOperand::MOStore ,
8558
+ MachinePointerInfo(PtrOperand), MMOFlags ,
8551
8559
LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo);
8552
8560
ST = DAG.getStoreVP(getMemoryRoot(), DL, OpValues[0], Ptr, Offset,
8553
8561
OpValues[2], OpValues[3], VT, MMO, ISD::UNINDEXED,
@@ -8569,9 +8577,11 @@ void SelectionDAGBuilder::visitVPScatter(
8569
8577
Alignment = DAG.getEVTAlign(VT.getScalarType());
8570
8578
unsigned AS =
8571
8579
PtrOperand->getType()->getScalarType()->getPointerAddressSpace();
8580
+ MachineMemOperand::Flags MMOFlags =
8581
+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
8572
8582
MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8573
- MachinePointerInfo(AS), MachineMemOperand::MOStore ,
8574
- LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo);
8583
+ MachinePointerInfo(AS), MMOFlags, LocationSize::beforeOrAfterPointer() ,
8584
+ *Alignment, AAInfo);
8575
8585
SDValue Base, Index, Scale;
8576
8586
bool UniformBase =
8577
8587
getUniformBase(PtrOperand, Base, Index, Scale, this, VPIntrin.getParent(),
@@ -8609,9 +8619,12 @@ void SelectionDAGBuilder::visitVPStridedLoad(
8609
8619
bool AddToChain = !BatchAA || !BatchAA->pointsToConstantMemory(ML);
8610
8620
SDValue InChain = AddToChain ? DAG.getRoot() : DAG.getEntryNode();
8611
8621
unsigned AS = PtrOperand->getType()->getPointerAddressSpace();
8622
+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
8623
+ MachineMemOperand::Flags MMOFlags =
8624
+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
8612
8625
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);
8615
8628
8616
8629
SDValue LD = DAG.getStridedLoadVP(VT, DL, InChain, OpValues[0], OpValues[1],
8617
8630
OpValues[2], OpValues[3], MMO,
@@ -8632,9 +8645,12 @@ void SelectionDAGBuilder::visitVPStridedStore(
8632
8645
Alignment = DAG.getEVTAlign(VT.getScalarType());
8633
8646
AAMDNodes AAInfo = VPIntrin.getAAMetadata();
8634
8647
unsigned AS = PtrOperand->getType()->getPointerAddressSpace();
8648
+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
8649
+ MachineMemOperand::Flags MMOFlags =
8650
+ TLI.getVPIntrinsicMemOperandFlags(VPIntrin);
8635
8651
MachineMemOperand *MMO = DAG.getMachineFunction().getMachineMemOperand(
8636
- MachinePointerInfo(AS), MachineMemOperand::MOStore ,
8637
- LocationSize::beforeOrAfterPointer(), *Alignment, AAInfo);
8652
+ MachinePointerInfo(AS), MMOFlags, LocationSize::beforeOrAfterPointer() ,
8653
+ *Alignment, AAInfo);
8638
8654
8639
8655
SDValue ST = DAG.getStridedStoreVP(
8640
8656
getMemoryRoot(), DL, OpValues[0], OpValues[1],
0 commit comments