Lines Matching defs:Addr

268 bool MipsSEDAGToDAGISel::selectAddrFrameIndex(SDValue Addr, SDValue &Base,
270 if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(Addr)) {
271 EVT ValTy = Addr.getValueType();
274 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), ValTy);
282 SDValue Addr, SDValue &Base, SDValue &Offset, unsigned OffsetBits,
284 if (CurDAG->isBaseWithConstantOffset(Addr)) {
285 auto *CN = cast<ConstantSDNode>(Addr.getOperand(1));
287 EVT ValTy = Addr.getValueType();
291 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0)))
294 Base = Addr.getOperand(0);
302 Offset = CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr),
312 bool MipsSEDAGToDAGISel::selectAddrRegImm(SDValue Addr, SDValue &Base,
315 if (selectAddrFrameIndex(Addr, Base, Offset))
319 if (Addr.getOpcode() == MipsISD::Wrapper) {
320 Base = Addr.getOperand(0);
321 Offset = Addr.getOperand(1);
326 if ((Addr.getOpcode() == ISD::TargetExternalSymbol ||
327 Addr.getOpcode() == ISD::TargetGlobalAddress))
332 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 16))
336 if (Addr.getOpcode() == ISD::ADD) {
345 if (Addr.getOperand(1).getOpcode() == MipsISD::Lo ||
346 Addr.getOperand(1).getOpcode() == MipsISD::GPRel) {
347 SDValue Opnd0 = Addr.getOperand(1).getOperand(0);
350 Base = Addr.getOperand(0);
362 bool MipsSEDAGToDAGISel::selectAddrDefault(SDValue Addr, SDValue &Base,
364 Base = Addr;
365 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), Addr.getValueType());
369 bool MipsSEDAGToDAGISel::selectIntAddr(SDValue Addr, SDValue &Base,
371 return selectAddrRegImm(Addr, Base, Offset) ||
372 selectAddrDefault(Addr, Base, Offset);
375 bool MipsSEDAGToDAGISel::selectAddrRegImm9(SDValue Addr, SDValue &Base,
377 if (selectAddrFrameIndex(Addr, Base, Offset))
380 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 9))
387 bool MipsSEDAGToDAGISel::selectAddrRegImm11(SDValue Addr, SDValue &Base,
389 if (selectAddrFrameIndex(Addr, Base, Offset))
392 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 11))
399 bool MipsSEDAGToDAGISel::selectAddrRegImm12(SDValue Addr, SDValue &Base,
401 if (selectAddrFrameIndex(Addr, Base, Offset))
404 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 12))
410 bool MipsSEDAGToDAGISel::selectAddrRegImm16(SDValue Addr, SDValue &Base,
412 if (selectAddrFrameIndex(Addr, Base, Offset))
415 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 16))
421 bool MipsSEDAGToDAGISel::selectIntAddr11MM(SDValue Addr, SDValue &Base,
423 return selectAddrRegImm11(Addr, Base, Offset) ||
424 selectAddrDefault(Addr, Base, Offset);
427 bool MipsSEDAGToDAGISel::selectIntAddr12MM(SDValue Addr, SDValue &Base,
429 return selectAddrRegImm12(Addr, Base, Offset) ||
430 selectAddrDefault(Addr, Base, Offset);
433 bool MipsSEDAGToDAGISel::selectIntAddr16MM(SDValue Addr, SDValue &Base,
435 return selectAddrRegImm16(Addr, Base, Offset) ||
436 selectAddrDefault(Addr, Base, Offset);
439 bool MipsSEDAGToDAGISel::selectIntAddrLSL2MM(SDValue Addr, SDValue &Base,
441 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 7)) {
455 if (selectAddrRegImm(Addr, Base, Offset))
458 return selectAddrDefault(Addr, Base, Offset);
461 bool MipsSEDAGToDAGISel::selectIntAddrSImm10(SDValue Addr, SDValue &Base,
464 if (selectAddrFrameIndex(Addr, Base, Offset))
467 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 10))
470 return selectAddrDefault(Addr, Base, Offset);
473 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl1(SDValue Addr, SDValue &Base,
475 if (selectAddrFrameIndex(Addr, Base, Offset))
478 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 10, 1))
481 return selectAddrDefault(Addr, Base, Offset);
484 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl2(SDValue Addr, SDValue &Base,
486 if (selectAddrFrameIndex(Addr, Base, Offset))
489 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 10, 2))
492 return selectAddrDefault(Addr, Base, Offset);
495 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl3(SDValue Addr, SDValue &Base,
497 if (selectAddrFrameIndex(Addr, Base, Offset))
500 if (selectAddrFrameIndexOffset(Addr, Base, Offset, 10, 3))
503 return selectAddrDefault(Addr, Base, Offset);