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,
408 static void changeComponent(SystemZAddressingMode &AM, bool IsBase, in changeComponent() argument
411 AM.Base = Value; in changeComponent()
413 AM.Index = Value; in changeComponent()
419 static bool expandAdjDynAlloc(SystemZAddressingMode &AM, bool IsBase, in expandAdjDynAlloc() argument
421 if (AM.isDynAlloc() && !AM.IncludesDynAlloc) { in expandAdjDynAlloc()
422 changeComponent(AM, IsBase, Value); in expandAdjDynAlloc()
423 AM.IncludesDynAlloc = true; in expandAdjDynAlloc()
431 static bool expandIndex(SystemZAddressingMode &AM, SDValue Base, in expandIndex() argument
433 if (AM.hasIndexField() && !AM.Index.getNode()) { in expandIndex()
434 AM.Base = Base; in expandIndex()
435 AM.Index = Index; in expandIndex()
443 static bool expandDisp(SystemZAddressingMode &AM, bool IsBase, in expandDisp() argument
446 int64_t TestDisp = AM.Disp + Op1; in expandDisp()
447 if (selectDisp(AM.DR, TestDisp)) { in expandDisp()
448 changeComponent(AM, IsBase, Op0); in expandDisp()
449 AM.Disp = TestDisp; in expandDisp()
458 bool SystemZDAGToDAGISel::expandAddress(SystemZAddressingMode &AM, in expandAddress() argument
460 SDValue N = IsBase ? AM.Base : AM.Index; in expandAddress()
474 return expandAdjDynAlloc(AM, IsBase, Op1); in expandAddress()
476 return expandAdjDynAlloc(AM, IsBase, Op0); in expandAddress()
479 return expandDisp(AM, IsBase, Op1, in expandAddress()
482 return expandDisp(AM, IsBase, Op0, in expandAddress()
485 if (IsBase && expandIndex(AM, Op0, Op1)) in expandAddress()
494 return expandDisp(AM, IsBase, Base, Offset); in expandAddress()
574 SystemZAddressingMode &AM) const { in selectAddress()
577 AM.Base = Addr; in selectAddress()
581 expandDisp(AM, true, SDValue(), in selectAddress()
586 expandAdjDynAlloc(AM, true, SDValue())) in selectAddress()
590 while (expandAddress(AM, true) || in selectAddress()
591 (AM.Index.getNode() && expandAddress(AM, false))) in selectAddress()
595 if (AM.Form == SystemZAddressingMode::FormBDXLA && in selectAddress()
596 !shouldUseLA(AM.Base.getNode(), AM.Disp, AM.Index.getNode())) in selectAddress()
600 if (!isValidDisp(AM.DR, AM.Disp)) in selectAddress()
604 if (AM.isDynAlloc() && !AM.IncludesDynAlloc) in selectAddress()
607 LLVM_DEBUG(AM.dump(CurDAG)); in selectAddress()
630 void SystemZDAGToDAGISel::getAddressOperands(const SystemZAddressingMode &AM, in getAddressOperands() argument
633 Base = AM.Base; in getAddressOperands()
652 Disp = CurDAG->getTargetConstant(AM.Disp, SDLoc(Base), VT); in getAddressOperands()
655 void SystemZDAGToDAGISel::getAddressOperands(const SystemZAddressingMode &AM, in getAddressOperands() argument
659 getAddressOperands(AM, VT, Base, Disp); in getAddressOperands()
661 Index = AM.Index; in getAddressOperands()
670 SystemZAddressingMode AM(SystemZAddressingMode::FormBD, DR); in selectBDAddr() local
671 if (!selectAddress(Addr, AM)) in selectBDAddr()
674 getAddressOperands(AM, Addr.getValueType(), Base, Disp); in selectBDAddr()
681 SystemZAddressingMode AM(SystemZAddressingMode::FormBDXNormal, DR); in selectMVIAddr() local
682 if (!selectAddress(Addr, AM) || AM.Index.getNode()) in selectMVIAddr()
685 getAddressOperands(AM, Addr.getValueType(), Base, Disp); in selectMVIAddr()
693 SystemZAddressingMode AM(Form, DR); in selectBDXAddr() local
694 if (!selectAddress(Addr, AM)) in selectBDXAddr()
697 getAddressOperands(AM, Addr.getValueType(), Base, Disp, Index); in selectBDXAddr()