Lines Matching full:addr
52 bool SelectFrameADDR_ri(SDValue Addr, SDValue &Base, SDValue &Offset);
53 bool SelectAddrModeS9(SDValue Addr, SDValue &Base, SDValue &Offset);
54 bool SelectAddrModeImm(SDValue Addr, SDValue &Base, SDValue &Offset);
55 bool SelectAddrModeFar(SDValue Addr, SDValue &Base, SDValue &Offset);
82 bool ARCDAGToDAGISel::SelectAddrModeImm(SDValue Addr, SDValue &Base, in SelectAddrModeImm() argument
84 if (Addr.getOpcode() == ARCISD::GAWRAPPER) { in SelectAddrModeImm()
85 Base = Addr.getOperand(0); in SelectAddrModeImm()
86 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in SelectAddrModeImm()
92 bool ARCDAGToDAGISel::SelectAddrModeS9(SDValue Addr, SDValue &Base, in SelectAddrModeS9() argument
94 if (Addr.getOpcode() == ARCISD::GAWRAPPER) { in SelectAddrModeS9()
98 if (Addr.getOpcode() != ISD::ADD && Addr.getOpcode() != ISD::SUB && in SelectAddrModeS9()
99 !CurDAG->isBaseWithConstantOffset(Addr)) { in SelectAddrModeS9()
100 if (Addr.getOpcode() == ISD::FrameIndex) { in SelectAddrModeS9()
102 int FI = cast<FrameIndexSDNode>(Addr)->getIndex(); in SelectAddrModeS9()
106 Base = Addr; in SelectAddrModeS9()
108 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in SelectAddrModeS9()
112 if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) { in SelectAddrModeS9()
114 if (Addr.getOpcode() == ISD::SUB) in SelectAddrModeS9()
120 Base = Addr.getOperand(0); in SelectAddrModeS9()
126 Offset = CurDAG->getTargetConstant(RHSC, SDLoc(Addr), MVT::i32); in SelectAddrModeS9()
129 Base = Addr; in SelectAddrModeS9()
130 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in SelectAddrModeS9()
134 bool ARCDAGToDAGISel::SelectAddrModeFar(SDValue Addr, SDValue &Base, in SelectAddrModeFar() argument
136 if (SelectAddrModeS9(Addr, Base, Offset)) in SelectAddrModeFar()
138 if (Addr.getOpcode() == ARCISD::GAWRAPPER) { in SelectAddrModeFar()
141 if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) { in SelectAddrModeFar()
143 if (Addr.getOpcode() == ISD::SUB) in SelectAddrModeFar()
145 Base = Addr.getOperand(0); in SelectAddrModeFar()
146 Offset = CurDAG->getTargetConstant(RHSC, SDLoc(Addr), MVT::i32); in SelectAddrModeFar()
153 bool ARCDAGToDAGISel::SelectFrameADDR_ri(SDValue Addr, SDValue &Base, in SelectFrameADDR_ri() argument
156 if ((FIN = dyn_cast<FrameIndexSDNode>(Addr))) { in SelectFrameADDR_ri()
158 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in SelectFrameADDR_ri()
161 if (Addr.getOpcode() == ISD::ADD) { in SelectFrameADDR_ri()
163 if ((FIN = dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) && in SelectFrameADDR_ri()
164 (CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) && in SelectFrameADDR_ri()
169 CurDAG->getTargetConstant(CN->getSExtValue(), SDLoc(Addr), MVT::i32); in SelectFrameADDR_ri()