Skip to content

Commit ca207de

Browse files
committed
DAG: Use poison for some load/store offsets in legalizer
1 parent d18eeae commit ca207de

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2213,7 +2213,7 @@ void DAGTypeLegalizer::SplitVecRes_LOAD(LoadSDNode *LD, SDValue &Lo,
22132213
ISD::LoadExtType ExtType = LD->getExtensionType();
22142214
SDValue Ch = LD->getChain();
22152215
SDValue Ptr = LD->getBasePtr();
2216-
SDValue Offset = DAG.getUNDEF(Ptr.getValueType());
2216+
SDValue Offset = DAG.getPOISON(Ptr.getValueType());
22172217
EVT MemoryVT = LD->getMemoryVT();
22182218
MachineMemOperand::Flags MMOFlags = LD->getMemOperand()->getFlags();
22192219
AAMDNodes AAInfo = LD->getAAInfo();
@@ -3344,7 +3344,7 @@ void DAGTypeLegalizer::SplitVecRes_VP_REVERSE(SDNode *N, SDValue &Lo,
33443344

33453345
SDValue TrueMask = DAG.getBoolConstant(true, DL, Mask.getValueType(), VT);
33463346
SDValue Store = DAG.getStridedStoreVP(DAG.getEntryNode(), DL, Val, StorePtr,
3347-
DAG.getUNDEF(PtrVT), Stride, TrueMask,
3347+
DAG.getPOISON(PtrVT), Stride, TrueMask,
33483348
EVL, MemVT, StoreMMO, ISD::UNINDEXED);
33493349

33503350
SDValue Load = DAG.getLoadVP(VT, DL, Store, StackPtr, Mask, EVL, LoadMMO);
@@ -3387,14 +3387,16 @@ void DAGTypeLegalizer::SplitVecRes_VP_SPLICE(SDNode *N, SDValue &Lo,
33873387

33883388
SDValue StackPtr2 = TLI.getVectorElementPointer(DAG, StackPtr, VT, EVL1);
33893389

3390+
SDValue PoisonPtr = DAG.getPOISON(PtrVT);
3391+
33903392
SDValue TrueMask = DAG.getBoolConstant(true, DL, Mask.getValueType(), VT);
3391-
SDValue StoreV1 = DAG.getStoreVP(DAG.getEntryNode(), DL, V1, StackPtr,
3392-
DAG.getUNDEF(PtrVT), TrueMask, EVL1,
3393-
V1.getValueType(), StoreMMO, ISD::UNINDEXED);
3393+
SDValue StoreV1 =
3394+
DAG.getStoreVP(DAG.getEntryNode(), DL, V1, StackPtr, PoisonPtr, TrueMask,
3395+
EVL1, V1.getValueType(), StoreMMO, ISD::UNINDEXED);
33943396

33953397
SDValue StoreV2 =
3396-
DAG.getStoreVP(StoreV1, DL, V2, StackPtr2, DAG.getUNDEF(PtrVT), TrueMask,
3397-
EVL2, V2.getValueType(), StoreMMO, ISD::UNINDEXED);
3398+
DAG.getStoreVP(StoreV1, DL, V2, StackPtr2, PoisonPtr, TrueMask, EVL2,
3399+
V2.getValueType(), StoreMMO, ISD::UNINDEXED);
33983400

33993401
SDValue Load;
34003402
if (Imm >= 0) {

0 commit comments

Comments
 (0)