Lines Matching refs:Addr

160 bool VEDAGToDAGISel::selectADDRrri(SDValue Addr, SDValue &Base, SDValue &Index,  in selectADDRrri()  argument
162 if (Addr.getOpcode() == ISD::FrameIndex) in selectADDRrri()
164 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in selectADDRrri()
165 Addr.getOpcode() == ISD::TargetGlobalAddress || in selectADDRrri()
166 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in selectADDRrri()
170 if (matchADDRri(Addr, LHS, RHS)) { in selectADDRrri()
178 if (matchADDRrr(Addr, LHS, RHS)) { in selectADDRrri()
197 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRrri()
203 bool VEDAGToDAGISel::selectADDRrii(SDValue Addr, SDValue &Base, SDValue &Index, in selectADDRrii() argument
205 if (matchADDRri(Addr, Base, Offset)) { in selectADDRrii()
206 Index = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRrii()
210 Base = Addr; in selectADDRrii()
211 Index = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRrii()
212 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRrii()
216 bool VEDAGToDAGISel::selectADDRzri(SDValue Addr, SDValue &Base, SDValue &Index, in selectADDRzri() argument
222 bool VEDAGToDAGISel::selectADDRzii(SDValue Addr, SDValue &Base, SDValue &Index, in selectADDRzii() argument
224 if (isa<FrameIndexSDNode>(Addr)) in selectADDRzii()
226 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in selectADDRzii()
227 Addr.getOpcode() == ISD::TargetGlobalAddress || in selectADDRzii()
228 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in selectADDRzii()
231 if (auto *CN = dyn_cast<ConstantSDNode>(Addr)) { in selectADDRzii()
233 Base = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRzii()
234 Index = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRzii()
236 CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr), MVT::i32); in selectADDRzii()
243 bool VEDAGToDAGISel::selectADDRri(SDValue Addr, SDValue &Base, in selectADDRri() argument
245 if (matchADDRri(Addr, Base, Offset)) in selectADDRri()
248 Base = Addr; in selectADDRri()
249 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRri()
253 bool VEDAGToDAGISel::selectADDRzi(SDValue Addr, SDValue &Base, in selectADDRzi() argument
255 if (isa<FrameIndexSDNode>(Addr)) in selectADDRzi()
257 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in selectADDRzi()
258 Addr.getOpcode() == ISD::TargetGlobalAddress || in selectADDRzi()
259 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in selectADDRzi()
262 if (auto *CN = dyn_cast<ConstantSDNode>(Addr)) { in selectADDRzi()
264 Base = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRzi()
266 CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr), MVT::i32); in selectADDRzi()
273 bool VEDAGToDAGISel::matchADDRrr(SDValue Addr, SDValue &Base, SDValue &Index) { in matchADDRrr() argument
274 if (isa<FrameIndexSDNode>(Addr)) in matchADDRrr()
276 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in matchADDRrr()
277 Addr.getOpcode() == ISD::TargetGlobalAddress || in matchADDRrr()
278 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in matchADDRrr()
281 if (Addr.getOpcode() == ISD::ADD) { in matchADDRrr()
283 } else if (Addr.getOpcode() == ISD::OR) { in matchADDRrr()
286 if (!CurDAG->haveNoCommonBitsSet(Addr.getOperand(0), Addr.getOperand(1))) in matchADDRrr()
292 if (Addr.getOperand(0).getOpcode() == VEISD::Lo || in matchADDRrr()
293 Addr.getOperand(1).getOpcode() == VEISD::Lo) in matchADDRrr()
296 Base = Addr.getOperand(0); in matchADDRrr()
297 Index = Addr.getOperand(1); in matchADDRrr()
301 bool VEDAGToDAGISel::matchADDRri(SDValue Addr, SDValue &Base, SDValue &Offset) { in matchADDRri() argument
302 auto AddrTy = Addr->getValueType(0); in matchADDRri()
303 if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(Addr)) { in matchADDRri()
305 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in matchADDRri()
308 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in matchADDRri()
309 Addr.getOpcode() == ISD::TargetGlobalAddress || in matchADDRri()
310 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in matchADDRri()
313 if (CurDAG->isBaseWithConstantOffset(Addr)) { in matchADDRri()
314 ConstantSDNode *CN = cast<ConstantSDNode>(Addr.getOperand(1)); in matchADDRri()
317 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) { in matchADDRri()
321 Base = Addr.getOperand(0); in matchADDRri()
324 CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr), MVT::i32); in matchADDRri()