Lines Matching refs:AM

152   bool expandAddress(SystemZAddressingMode &AM, bool IsBase) const;
155 bool selectAddress(SDValue N, SystemZAddressingMode &AM) const;
158 void getAddressOperands(const SystemZAddressingMode &AM, EVT VT,
160 void getAddressOperands(const SystemZAddressingMode &AM, EVT VT,
429 static void changeComponent(SystemZAddressingMode &AM, bool IsBase, in changeComponent() argument
432 AM.Base = Value; in changeComponent()
434 AM.Index = Value; in changeComponent()
440 static bool expandAdjDynAlloc(SystemZAddressingMode &AM, bool IsBase, in expandAdjDynAlloc() argument
442 if (AM.isDynAlloc() && !AM.IncludesDynAlloc) { in expandAdjDynAlloc()
443 changeComponent(AM, IsBase, Value); in expandAdjDynAlloc()
444 AM.IncludesDynAlloc = true; in expandAdjDynAlloc()
452 static bool expandIndex(SystemZAddressingMode &AM, SDValue Base, in expandIndex() argument
454 if (AM.hasIndexField() && !AM.Index.getNode()) { in expandIndex()
455 AM.Base = Base; in expandIndex()
456 AM.Index = Index; in expandIndex()
464 static bool expandDisp(SystemZAddressingMode &AM, bool IsBase, in expandDisp() argument
467 int64_t TestDisp = AM.Disp + Op1; in expandDisp()
468 if (selectDisp(AM.DR, TestDisp)) { in expandDisp()
469 changeComponent(AM, IsBase, Op0); in expandDisp()
470 AM.Disp = TestDisp; in expandDisp()
479 bool SystemZDAGToDAGISel::expandAddress(SystemZAddressingMode &AM, in expandAddress() argument
481 SDValue N = IsBase ? AM.Base : AM.Index; in expandAddress()
496 return expandAdjDynAlloc(AM, IsBase, Op1); in expandAddress()
498 return expandAdjDynAlloc(AM, IsBase, Op0); in expandAddress()
501 return expandDisp(AM, IsBase, Op1, in expandAddress()
504 return expandDisp(AM, IsBase, Op0, in expandAddress()
507 if (IsBase && expandIndex(AM, Op0, Op1)) in expandAddress()
516 return expandDisp(AM, IsBase, Base, Offset); in expandAddress()
596 SystemZAddressingMode &AM) const { in selectAddress()
599 AM.Base = Addr; in selectAddress()
603 expandDisp(AM, true, SDValue(), in selectAddress()
608 expandAdjDynAlloc(AM, true, SDValue())) in selectAddress()
612 while (expandAddress(AM, true) || in selectAddress()
613 (AM.Index.getNode() && expandAddress(AM, false))) in selectAddress()
617 if (AM.Form == SystemZAddressingMode::FormBDXLA && in selectAddress()
618 !shouldUseLA(AM.Base.getNode(), AM.Disp, AM.Index.getNode())) in selectAddress()
622 if (!isValidDisp(AM.DR, AM.Disp)) in selectAddress()
626 if (AM.isDynAlloc() && !AM.IncludesDynAlloc) in selectAddress()
629 LLVM_DEBUG(AM.dump(CurDAG)); in selectAddress()
652 void SystemZDAGToDAGISel::getAddressOperands(const SystemZAddressingMode &AM, in getAddressOperands() argument
655 Base = AM.Base; in getAddressOperands()
674 Disp = CurDAG->getTargetConstant(AM.Disp, SDLoc(Base), VT); in getAddressOperands()
677 void SystemZDAGToDAGISel::getAddressOperands(const SystemZAddressingMode &AM, in getAddressOperands() argument
681 getAddressOperands(AM, VT, Base, Disp); in getAddressOperands()
683 Index = AM.Index; in getAddressOperands()
692 SystemZAddressingMode AM(SystemZAddressingMode::FormBD, DR); in selectBDAddr() local
693 if (!selectAddress(Addr, AM)) in selectBDAddr()
696 getAddressOperands(AM, Addr.getValueType(), Base, Disp); in selectBDAddr()
703 SystemZAddressingMode AM(SystemZAddressingMode::FormBDXNormal, DR); in selectMVIAddr() local
704 if (!selectAddress(Addr, AM) || AM.Index.getNode()) in selectMVIAddr()
707 getAddressOperands(AM, Addr.getValueType(), Base, Disp); in selectMVIAddr()
715 SystemZAddressingMode AM(Form, DR); in selectBDXAddr() local
716 if (!selectAddress(Addr, AM)) in selectBDXAddr()
719 getAddressOperands(AM, Addr.getValueType(), Base, Disp, Index); in selectBDXAddr()