Lines Matching refs:Addr
48 bool SelectFrameADDR_ri(SDValue Addr, SDValue &Base, SDValue &Offset);
49 bool SelectAddrModeS9(SDValue Addr, SDValue &Base, SDValue &Offset);
50 bool SelectAddrModeImm(SDValue Addr, SDValue &Base, SDValue &Offset);
51 bool SelectAddrModeFar(SDValue Addr, SDValue &Base, SDValue &Offset);
76 bool ARCDAGToDAGISel::SelectAddrModeImm(SDValue Addr, SDValue &Base, in SelectAddrModeImm() argument
78 if (Addr.getOpcode() == ARCISD::GAWRAPPER) { in SelectAddrModeImm()
79 Base = Addr.getOperand(0); in SelectAddrModeImm()
80 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in SelectAddrModeImm()
86 bool ARCDAGToDAGISel::SelectAddrModeS9(SDValue Addr, SDValue &Base, in SelectAddrModeS9() argument
88 if (Addr.getOpcode() == ARCISD::GAWRAPPER) { in SelectAddrModeS9()
92 if (Addr.getOpcode() != ISD::ADD && Addr.getOpcode() != ISD::SUB && in SelectAddrModeS9()
93 !CurDAG->isBaseWithConstantOffset(Addr)) { in SelectAddrModeS9()
94 if (Addr.getOpcode() == ISD::FrameIndex) { in SelectAddrModeS9()
96 int FI = cast<FrameIndexSDNode>(Addr)->getIndex(); in SelectAddrModeS9()
100 Base = Addr; in SelectAddrModeS9()
102 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in SelectAddrModeS9()
106 if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) { in SelectAddrModeS9()
108 if (Addr.getOpcode() == ISD::SUB) in SelectAddrModeS9()
114 Base = Addr.getOperand(0); in SelectAddrModeS9()
120 Offset = CurDAG->getTargetConstant(RHSC, SDLoc(Addr), MVT::i32); in SelectAddrModeS9()
123 Base = Addr; in SelectAddrModeS9()
124 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in SelectAddrModeS9()
128 bool ARCDAGToDAGISel::SelectAddrModeFar(SDValue Addr, SDValue &Base, in SelectAddrModeFar() argument
130 if (SelectAddrModeS9(Addr, Base, Offset)) in SelectAddrModeFar()
132 if (Addr.getOpcode() == ARCISD::GAWRAPPER) { in SelectAddrModeFar()
135 if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) { in SelectAddrModeFar()
137 if (Addr.getOpcode() == ISD::SUB) in SelectAddrModeFar()
139 Base = Addr.getOperand(0); in SelectAddrModeFar()
140 Offset = CurDAG->getTargetConstant(RHSC, SDLoc(Addr), MVT::i32); in SelectAddrModeFar()
147 bool ARCDAGToDAGISel::SelectFrameADDR_ri(SDValue Addr, SDValue &Base, in SelectFrameADDR_ri() argument
150 if ((FIN = dyn_cast<FrameIndexSDNode>(Addr))) { in SelectFrameADDR_ri()
152 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in SelectFrameADDR_ri()
155 if (Addr.getOpcode() == ISD::ADD) { in SelectFrameADDR_ri()
157 if ((FIN = dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) && in SelectFrameADDR_ri()
158 (CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) && in SelectFrameADDR_ri()
163 CurDAG->getTargetConstant(CN->getSExtValue(), SDLoc(Addr), MVT::i32); in SelectFrameADDR_ri()