Lines Matching defs:Addr

72   bool selectAddrRi(SDValue Addr, SDValue &Base, SDValue &Offset,
74 bool selectAddrRr(SDValue Addr, SDValue &R1, SDValue &R2, SDValue &AluOp);
75 bool selectAddrSls(SDValue Addr, SDValue &Offset);
76 bool selectAddrSpls(SDValue Addr, SDValue &Base, SDValue &Offset,
85 bool selectAddrRiSpls(SDValue Addr, SDValue &Base, SDValue &Offset,
109 bool LanaiDAGToDAGISel::selectAddrSls(SDValue Addr, SDValue &Offset) {
110 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr)) {
111 SDLoc DL(Addr);
119 if (Addr.getOpcode() == ISD::OR &&
120 Addr.getOperand(1).getOpcode() == LanaiISD::SMALL) {
121 Offset = Addr.getOperand(1).getOperand(0);
127 bool LanaiDAGToDAGISel::selectAddrRiSpls(SDValue Addr, SDValue &Base,
130 SDLoc DL(Addr);
132 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr)) {
159 if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(Addr)) {
169 if ((Addr.getOpcode() == ISD::TargetExternalSymbol ||
170 Addr.getOpcode() == ISD::TargetGlobalAddress))
174 ISD::NodeType AluOperator = static_cast<ISD::NodeType>(Addr.getOpcode());
178 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))
183 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) {
188 Base = Addr.getOperand(0);
198 Addr.getOperand(1).getOpcode() == LanaiISD::SMALL)
201 Base = Addr;
207 bool LanaiDAGToDAGISel::selectAddrRi(SDValue Addr, SDValue &Base,
209 return selectAddrRiSpls(Addr, Base, Offset, AluOp, /*RiMode=*/true);
212 bool LanaiDAGToDAGISel::selectAddrSpls(SDValue Addr, SDValue &Base,
214 return selectAddrRiSpls(Addr, Base, Offset, AluOp, /*RiMode=*/false);
248 bool LanaiDAGToDAGISel::selectAddrRr(SDValue Addr, SDValue &R1, SDValue &R2,
251 if (Addr.getOpcode() == ISD::FrameIndex)
255 if ((Addr.getOpcode() == ISD::TargetExternalSymbol ||
256 Addr.getOpcode() == ISD::TargetGlobalAddress))
260 ISD::NodeType AluOperator = static_cast<ISD::NodeType>(Addr.getOpcode());
264 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))
269 if (Addr.getOperand(0).getOpcode() == LanaiISD::HI ||
270 Addr.getOperand(0).getOpcode() == LanaiISD::LO ||
271 Addr.getOperand(0).getOpcode() == LanaiISD::SMALL ||
272 Addr.getOperand(1).getOpcode() == LanaiISD::HI ||
273 Addr.getOperand(1).getOpcode() == LanaiISD::LO ||
274 Addr.getOperand(1).getOpcode() == LanaiISD::SMALL)
278 R1 = Addr.getOperand(0);
279 R2 = Addr.getOperand(1);
280 AluOp = CurDAG->getTargetConstant(AluCode, SDLoc(Addr), MVT::i32);