Missing pointer info update in DAGCombiner::visitAnd()?


In SDValue DAGCombiner::visitAND(SDNode *N):

           // For big endian targets, we need to add an offset to the pointer
           // to load the correct bytes. For little endian systems, we merely
           // need to read fewer bytes from the same pointer.
           if (DAG.getDataLayout().isBigEndian()) {
             unsigned LVTStoreBytes = LoadedVT.getStoreSize();
             unsigned EVTStoreBytes = ExtVT.getStoreSize();
             unsigned PtrOff = LVTStoreBytes - EVTStoreBytes;
             SDLoc DL(LN0);
             NewPtr = DAG.getNode(ISD::ADD, DL, PtrType,
                                  NewPtr, DAG.getConstant(PtrOff, DL, PtrType));
             Alignment = MinAlign(Alignment, PtrOff);


           SDValue Load =
             DAG.getExtLoad(ISD::ZEXTLOAD, SDLoc(LN0), LoadResultTy,
                            LN0->getChain(), NewPtr,
                            ExtVT, LN0->isVolatile(), LN0->isNonTemporal(),
                            LN0->isInvariant(), Alignment, LN0->getAAInfo());

In the big endian case where we add 'PtrOff' bytes to the pointer with an 'ADD', shouldn't we then also update the pointer info in the new 'ZEXTLOAD' with


rather than just using the old pointer info?