Lines Matching defs:Addr
263 bool MipsSEDAGToDAGISel::selectAddrFrameIndex(SDValue Addr, SDValue &Base,
265 if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(Addr)) {
266 EVT ValTy = Addr.getValueType();
269 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), ValTy);
277 SDValue Addr, SDValue &Base, SDValue &Offset, unsigned OffsetBits,
279 if (CurDAG->isBaseWithConstantOffset(Addr)) {
280 auto *CN = cast<ConstantSDNode>(Addr.getOperand(1));
282 EVT ValTy = Addr.getValueType();
286 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0)))
289 Base = Addr.getOperand(0);
297 Offset = CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr),
307 bool MipsSEDAGToDAGISel::selectAddrRegImm(SDValue Addr, SDValue &Base,
310 if (selectAddrFrameIndex(Addr, Base, Offset))
314 if (Addr.getOpcode() == MipsISD::Wrapper) {
315 Base = Addr.getOperand(0);
316 Offset = Addr.getOperand(1);
321 if ((Addr.getOpcode() == ISD::TargetExternalSymbol ||
322 Addr.getOpcode() == ISD::TargetGlobalAddress))
327 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 16))
331 if (Addr.getOpcode() == ISD::ADD) {
340 if (Addr.getOperand(1).getOpcode() == MipsISD::Lo ||
341 Addr.getOperand(1).getOpcode() == MipsISD::GPRel) {
342 SDValue Opnd0 = Addr.getOperand(1).getOperand(0);
345 Base = Addr.getOperand(0);
357 bool MipsSEDAGToDAGISel::selectAddrDefault(SDValue Addr, SDValue &Base,
359 Base = Addr;
360 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), Addr.getValueType());
364 bool MipsSEDAGToDAGISel::selectIntAddr(SDValue Addr, SDValue &Base,
366 return selectAddrRegImm(Addr, Base, Offset) ||
367 selectAddrDefault(Addr, Base, Offset);
370 bool MipsSEDAGToDAGISel::selectAddrRegImm9(SDValue Addr, SDValue &Base,
372 if (selectAddrFrameIndex(Addr, Base, Offset))
375 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 9))
382 bool MipsSEDAGToDAGISel::selectAddrRegImm11(SDValue Addr, SDValue &Base,
384 if (selectAddrFrameIndex(Addr, Base, Offset))
387 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 11))
394 bool MipsSEDAGToDAGISel::selectAddrRegImm12(SDValue Addr, SDValue &Base,
396 if (selectAddrFrameIndex(Addr, Base, Offset))
399 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 12))
405 bool MipsSEDAGToDAGISel::selectAddrRegImm16(SDValue Addr, SDValue &Base,
407 if (selectAddrFrameIndex(Addr, Base, Offset))
410 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 16))
416 bool MipsSEDAGToDAGISel::selectIntAddr11MM(SDValue Addr, SDValue &Base,
418 return selectAddrRegImm11(Addr, Base, Offset) ||
419 selectAddrDefault(Addr, Base, Offset);
422 bool MipsSEDAGToDAGISel::selectIntAddr12MM(SDValue Addr, SDValue &Base,
424 return selectAddrRegImm12(Addr, Base, Offset) ||
425 selectAddrDefault(Addr, Base, Offset);
428 bool MipsSEDAGToDAGISel::selectIntAddr16MM(SDValue Addr, SDValue &Base,
430 return selectAddrRegImm16(Addr, Base, Offset) ||
431 selectAddrDefault(Addr, Base, Offset);
434 bool MipsSEDAGToDAGISel::selectIntAddrLSL2MM(SDValue Addr, SDValue &Base,
436 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 7)) {
450 if (selectAddrRegImm(Addr, Base, Offset))
453 return selectAddrDefault(Addr, Base, Offset);
456 bool MipsSEDAGToDAGISel::selectIntAddrSImm10(SDValue Addr, SDValue &Base,
459 if (selectAddrFrameIndex(Addr, Base, Offset))
462 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 10))
465 return selectAddrDefault(Addr, Base, Offset);
468 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl1(SDValue Addr, SDValue &Base,
470 if (selectAddrFrameIndex(Addr, Base, Offset))
473 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 10, 1))
476 return selectAddrDefault(Addr, Base, Offset);
479 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl2(SDValue Addr, SDValue &Base,
481 if (selectAddrFrameIndex(Addr, Base, Offset))
484 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 10, 2))
487 return selectAddrDefault(Addr, Base, Offset);
490 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl3(SDValue Addr, SDValue &Base,
492 if (selectAddrFrameIndex(Addr, Base, Offset))
495 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 10, 3))
498 return selectAddrDefault(Addr, Base, Offset);