• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/SystemZ/

Lines Matching defs:Base

58   //     Base + Disp + Index + (IncludesDynAlloc ? ADJDYNALLOC : 0)
59 SDValue Base;
65 : Form(form), DR(dr), Base(), Disp(0), Index(),
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,
407 AM.Base = Value;
425 // The base of AM is equivalent to Base + Index. Try to use Index as
427 static bool expandIndex(SystemZAddressingMode &AM, SDValue Base,
430 AM.Base = Base;
456 SDValue N = IsBase ? AM.Base : AM.Index;
486 SDValue Base = N.getOperand(1);
487 SDValue Anchor = Base.getOperand(0);
490 return expandDisp(AM, IsBase, Base, Offset);
516 // Return true if Base + Disp + Index should be performed by LA(Y).
517 static bool shouldUseLA(SDNode *Base, int64_t Disp, SDNode *Index) {
519 if (!Base)
525 if (Base->getOpcode() == ISD::FrameIndex)
562 if (Base->hasOneUse())
573 AM.Base = Addr;
592 !shouldUseLA(AM.Base.getNode(), AM.Disp, AM.Index.getNode()))
627 EVT VT, SDValue &Base,
629 Base = AM.Base;
630 if (!Base.getNode())
632 Base = CurDAG->getRegister(0, VT);
633 else if (Base.getOpcode() == ISD::FrameIndex) {
635 int64_t FrameIndex = cast<FrameIndexSDNode>(Base)->getIndex();
636 Base = CurDAG->getTargetFrameIndex(FrameIndex, VT);
637 } else if (Base.getValueType() != VT) {
639 assert(VT == MVT::i32 && Base.getValueType() == MVT::i64 &&
641 SDLoc DL(Base);
642 SDValue Trunc = CurDAG->getNode(ISD::TRUNCATE, DL, VT, Base);
643 insertDAGNode(CurDAG, Base.getNode(), Trunc);
644 Base = Trunc;
648 Disp = CurDAG->getTargetConstant(AM.Disp, SDLoc(Base), VT);
652 EVT VT, SDValue &Base,
655 getAddressOperands(AM, VT, Base, Disp);
664 SDValue Addr, SDValue &Base,
670 getAddressOperands(AM, Addr.getValueType(), Base, Disp);
675 SDValue Addr, SDValue &Base,
681 getAddressOperands(AM, Addr.getValueType(), Base, Disp);
687 SDValue Addr, SDValue &Base,
693 getAddressOperands(AM, Addr.getValueType(), Base, Disp, Index);
698 SDValue &Base,
705 Base = Regs[I];
1193 SDValue Base, Disp, Index;
1194 if (!selectBDVAddr12Only(Load->getBasePtr(), ElemV, Base, Disp, Index) ||
1200 N->getOperand(0), Base, Disp, Index,
1227 SDValue Base, Disp, Index;
1228 if (!selectBDVAddr12Only(Store->getBasePtr(), ElemV, Base, Disp, Index) ||
1234 Vec, Base, Disp, Index, CurDAG->getTargetConstant(Elem, DL, MVT::i32),
1388 SDValue Base, Disp;
1389 if (!selectBDAddr20Only(StoreNode->getBasePtr(), Base, Disp))
1392 SDValue Ops[] = { Base, Disp, Operand, InputChain };
1636 SDValue Base, Disp, Index;
1669 if (selectBDXAddr(Form, DispRange, Op, Base, Disp, Index)) {
1672 SDLoc DL(Base);
1677 if (Base.getOpcode() != ISD::TargetFrameIndex &&
1678 Base.getOpcode() != ISD::Register) {
1679 Base =
1681 DL, Base.getValueType(),
1682 Base, RC), 0);
1693 OutOps.push_back(Base);