Lines Matching defs:LSNode1

15931 // Try to combine the memory loads/stores LSNode1 and LSNode2
15933 static SDValue tryMemPairCombine(SelectionDAG &DAG, LSBaseSDNode *LSNode1,
15937 SmallVector<const SDNode *, 8> Worklist = {LSNode1, LSNode2};
15939 if (SDNode::hasPredecessorHelper(LSNode1, Visited, Worklist) ||
15948 EVT MemVT = LSNode1->getMemoryVT();
15950 MachineMemOperand *MMO = LSNode1->getMemOperand();
15954 if (LSNode1->getOpcode() == ISD::LOAD) {
15955 auto Ext = cast<LoadSDNode>(LSNode1)->getExtensionType();
15963 Opcode, SDLoc(LSNode1), DAG.getVTList({XLenVT, XLenVT, MVT::Other}),
15964 {LSNode1->getChain(), BasePtr,
15965 DAG.getConstant(Imm, SDLoc(LSNode1), XLenVT)},
15969 DAG.getMergeValues({Res.getValue(0), Res.getValue(2)}, SDLoc(LSNode1));
15979 Opcode, SDLoc(LSNode1), DAG.getVTList(MVT::Other),
15980 {LSNode1->getChain(), LSNode1->getOperand(1), LSNode2->getOperand(1),
15981 BasePtr, DAG.getConstant(Imm, SDLoc(LSNode1), XLenVT)},
16001 LSBaseSDNode *LSNode1 = cast<LSBaseSDNode>(N);
16002 EVT MemVT = LSNode1->getMemoryVT();
16003 unsigned OpNum = LSNode1->getOpcode() == ISD::LOAD ? 1 : 2;
16006 if (!LSNode1->isSimple() || LSNode1->isIndexed())
16017 auto [Base1, Offset1] = ExtractBaseAndOffset(LSNode1->getOperand(OpNum));
16029 // Check if LSNode1 and LSNode2 have the same type and extension.
16030 if (LSNode1->getOpcode() == ISD::LOAD)
16032 cast<LoadSDNode>(LSNode1)->getExtensionType())
16035 if (LSNode1->getMemoryVT() != LSNode2->getMemoryVT())
16061 tryMemPairCombine(DAG, LSNode1, LSNode2, Base1, Offset1))