Lines Matching refs:Addr
77 bool selectAddrRi(SDValue Addr, SDValue &Base, SDValue &Offset,
79 bool selectAddrRr(SDValue Addr, SDValue &R1, SDValue &R2, SDValue &AluOp);
80 bool selectAddrSls(SDValue Addr, SDValue &Offset);
81 bool selectAddrSpls(SDValue Addr, SDValue &Base, SDValue &Offset,
90 bool selectAddrRiSpls(SDValue Addr, SDValue &Base, SDValue &Offset,
103 bool LanaiDAGToDAGISel::selectAddrSls(SDValue Addr, SDValue &Offset) { in selectAddrSls() argument
104 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr)) { in selectAddrSls()
105 SDLoc DL(Addr); in selectAddrSls()
113 if (Addr.getOpcode() == ISD::OR && in selectAddrSls()
114 Addr.getOperand(1).getOpcode() == LanaiISD::SMALL) { in selectAddrSls()
115 Offset = Addr.getOperand(1).getOperand(0); in selectAddrSls()
121 bool LanaiDAGToDAGISel::selectAddrRiSpls(SDValue Addr, SDValue &Base, in selectAddrRiSpls() argument
124 SDLoc DL(Addr); in selectAddrRiSpls()
126 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr)) { in selectAddrRiSpls()
153 if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(Addr)) { in selectAddrRiSpls()
163 if ((Addr.getOpcode() == ISD::TargetExternalSymbol || in selectAddrRiSpls()
164 Addr.getOpcode() == ISD::TargetGlobalAddress)) in selectAddrRiSpls()
168 ISD::NodeType AluOperator = static_cast<ISD::NodeType>(Addr.getOpcode()); in selectAddrRiSpls()
172 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) in selectAddrRiSpls()
177 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) { in selectAddrRiSpls()
182 Base = Addr.getOperand(0); in selectAddrRiSpls()
192 Addr.getOperand(1).getOpcode() == LanaiISD::SMALL) in selectAddrRiSpls()
195 Base = Addr; in selectAddrRiSpls()
201 bool LanaiDAGToDAGISel::selectAddrRi(SDValue Addr, SDValue &Base, in selectAddrRi() argument
203 return selectAddrRiSpls(Addr, Base, Offset, AluOp, /*RiMode=*/true); in selectAddrRi()
206 bool LanaiDAGToDAGISel::selectAddrSpls(SDValue Addr, SDValue &Base, in selectAddrSpls() argument
208 return selectAddrRiSpls(Addr, Base, Offset, AluOp, /*RiMode=*/false); in selectAddrSpls()
211 bool LanaiDAGToDAGISel::selectAddrRr(SDValue Addr, SDValue &R1, SDValue &R2, in selectAddrRr() argument
214 if (Addr.getOpcode() == ISD::FrameIndex) in selectAddrRr()
218 if ((Addr.getOpcode() == ISD::TargetExternalSymbol || in selectAddrRr()
219 Addr.getOpcode() == ISD::TargetGlobalAddress)) in selectAddrRr()
223 ISD::NodeType AluOperator = static_cast<ISD::NodeType>(Addr.getOpcode()); in selectAddrRr()
227 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) in selectAddrRr()
232 if (Addr.getOperand(0).getOpcode() == LanaiISD::HI || in selectAddrRr()
233 Addr.getOperand(0).getOpcode() == LanaiISD::LO || in selectAddrRr()
234 Addr.getOperand(0).getOpcode() == LanaiISD::SMALL || in selectAddrRr()
235 Addr.getOperand(1).getOpcode() == LanaiISD::HI || in selectAddrRr()
236 Addr.getOperand(1).getOpcode() == LanaiISD::LO || in selectAddrRr()
237 Addr.getOperand(1).getOpcode() == LanaiISD::SMALL) in selectAddrRr()
241 R1 = Addr.getOperand(0); in selectAddrRr()
242 R2 = Addr.getOperand(1); in selectAddrRr()
243 AluOp = CurDAG->getTargetConstant(AluCode, SDLoc(Addr), MVT::i32); in selectAddrRr()