Lines Matching defs:Base

59   //     Base + Disp + Index + (IncludesDynAlloc ? ADJDYNALLOC : 0)
60 SDValue Base;
77 errs() << " Base ";
78 if (Base.getNode())
79 Base.getNode()->dump(DAG);
159 SDValue &Base, SDValue &Disp) const;
161 SDValue &Base, SDValue &Disp, SDValue &Index) const;
165 // Base and Disp respectively.
167 SDValue &Base, SDValue &Disp) const;
171 // base and displacement in Base and Disp respectively.
173 SDValue &Base, SDValue &Disp) const;
177 // displacement and index in Base, Disp and Index respectively.
180 SDValue &Base, SDValue &Disp, SDValue &Index) const;
192 bool selectBDAddr12Only(SDValue Addr, SDValue &Base, SDValue &Disp) const {
193 return selectBDAddr(SystemZAddressingMode::Disp12Only, Addr, Base, Disp);
195 bool selectBDAddr12Pair(SDValue Addr, SDValue &Base, SDValue &Disp) const {
196 return selectBDAddr(SystemZAddressingMode::Disp12Pair, Addr, Base, Disp);
198 bool selectBDAddr20Only(SDValue Addr, SDValue &Base, SDValue &Disp) const {
199 return selectBDAddr(SystemZAddressingMode::Disp20Only, Addr, Base, Disp);
201 bool selectBDAddr20Pair(SDValue Addr, SDValue &Base, SDValue &Disp) const {
202 return selectBDAddr(SystemZAddressingMode::Disp20Pair, Addr, Base, Disp);
206 bool selectMVIAddr12Pair(SDValue Addr, SDValue &Base, SDValue &Disp) const {
207 return selectMVIAddr(SystemZAddressingMode::Disp12Pair, Addr, Base, Disp);
209 bool selectMVIAddr20Pair(SDValue Addr, SDValue &Base, SDValue &Disp) const {
210 return selectMVIAddr(SystemZAddressingMode::Disp20Pair, Addr, Base, Disp);
214 bool selectBDXAddr12Only(SDValue Addr, SDValue &Base, SDValue &Disp,
218 Addr, Base, Disp, Index);
220 bool selectBDXAddr12Pair(SDValue Addr, SDValue &Base, SDValue &Disp,
224 Addr, Base, Disp, Index);
226 bool selectDynAlloc12Only(SDValue Addr, SDValue &Base, SDValue &Disp,
230 Addr, Base, Disp, Index);
232 bool selectBDXAddr20Only(SDValue Addr, SDValue &Base, SDValue &Disp,
236 Addr, Base, Disp, Index);
238 bool selectBDXAddr20Only128(SDValue Addr, SDValue &Base, SDValue &Disp,
242 Addr, Base, Disp, Index);
244 bool selectBDXAddr20Pair(SDValue Addr, SDValue &Base, SDValue &Disp,
248 Addr, Base, Disp, Index);
250 bool selectLAAddr12Pair(SDValue Addr, SDValue &Base, SDValue &Disp,
254 Addr, Base, Disp, Index);
256 bool selectLAAddr20Pair(SDValue Addr, SDValue &Base, SDValue &Disp,
260 Addr, Base, Disp, Index);
266 // in Base, Disp and Index respectively.
267 bool selectBDVAddr12Only(SDValue Addr, SDValue Elem, SDValue &Base,
432 AM.Base = Value;
450 // The base of AM is equivalent to Base + Index. Try to use Index as
452 static bool expandIndex(SystemZAddressingMode &AM, SDValue Base,
455 AM.Base = Base;
481 SDValue N = IsBase ? AM.Base : AM.Index;
512 SDValue Base = N.getOperand(1);
513 SDValue Anchor = Base.getOperand(0);
516 return expandDisp(AM, IsBase, Base, Offset);
542 // Return true if Base + Disp + Index should be performed by LA(Y).
543 static bool shouldUseLA(SDNode *Base, int64_t Disp, SDNode *Index) {
545 if (!Base)
551 if (Base->getOpcode() == ISD::FrameIndex)
588 if (Base->hasOneUse())
599 AM.Base = Addr;
618 !shouldUseLA(AM.Base.getNode(), AM.Disp, AM.Index.getNode()))
653 EVT VT, SDValue &Base,
655 Base = AM.Base;
656 if (!Base.getNode())
658 Base = CurDAG->getRegister(0, VT);
659 else if (Base.getOpcode() == ISD::FrameIndex) {
661 int64_t FrameIndex = cast<FrameIndexSDNode>(Base)->getIndex();
662 Base = CurDAG->getTargetFrameIndex(FrameIndex, VT);
663 } else if (Base.getValueType() != VT) {
665 assert(VT == MVT::i32 && Base.getValueType() == MVT::i64 &&
667 SDLoc DL(Base);
668 SDValue Trunc = CurDAG->getNode(ISD::TRUNCATE, DL, VT, Base);
669 insertDAGNode(CurDAG, Base.getNode(), Trunc);
670 Base = Trunc;
674 Disp = CurDAG->getTargetConstant(AM.Disp, SDLoc(Base), VT);
678 EVT VT, SDValue &Base,
681 getAddressOperands(AM, VT, Base, Disp);
690 SDValue Addr, SDValue &Base,
696 getAddressOperands(AM, Addr.getValueType(), Base, Disp);
701 SDValue Addr, SDValue &Base,
707 getAddressOperands(AM, Addr.getValueType(), Base, Disp);
713 SDValue Addr, SDValue &Base,
719 getAddressOperands(AM, Addr.getValueType(), Base, Disp, Index);
724 SDValue &Base,
731 Base = Regs[I];
1253 SDValue Base, Disp, Index;
1254 if (!selectBDVAddr12Only(Load->getBasePtr(), ElemV, Base, Disp, Index) ||
1260 N->getOperand(0), Base, Disp, Index,
1287 SDValue Base, Disp, Index;
1288 if (!selectBDVAddr12Only(Store->getBasePtr(), ElemV, Base, Disp, Index) ||
1294 Vec, Base, Disp, Index, CurDAG->getTargetConstant(Elem, DL, MVT::i32),
1448 SDValue Base, Disp;
1449 if (!selectBDAddr20Only(StoreNode->getBasePtr(), Base, Disp))
1452 SDValue Ops[] = { Base, Disp, Operand, InputChain };
1803 SDValue Base, Disp, Index;
1841 if (selectBDXAddr(Form, DispRange, Op, Base, Disp, Index)) {
1844 SDLoc DL(Base);
1849 if (Base.getOpcode() != ISD::TargetFrameIndex &&
1850 Base.getOpcode() != ISD::Register) {
1851 Base =
1853 DL, Base.getValueType(),
1854 Base, RC), 0);
1865 OutOps.push_back(Base);