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,
414 static void changeComponent(SystemZAddressingMode &AM, bool IsBase, in changeComponent() argument
417 AM.Base = Value; in changeComponent()
419 AM.Index = Value; in changeComponent()
425 static bool expandAdjDynAlloc(SystemZAddressingMode &AM, bool IsBase, in expandAdjDynAlloc() argument
427 if (AM.isDynAlloc() && !AM.IncludesDynAlloc) { in expandAdjDynAlloc()
428 changeComponent(AM, IsBase, Value); in expandAdjDynAlloc()
429 AM.IncludesDynAlloc = true; in expandAdjDynAlloc()
437 static bool expandIndex(SystemZAddressingMode &AM, SDValue Base, in expandIndex() argument
439 if (AM.hasIndexField() && !AM.Index.getNode()) { in expandIndex()
440 AM.Base = Base; in expandIndex()
441 AM.Index = Index; in expandIndex()
449 static bool expandDisp(SystemZAddressingMode &AM, bool IsBase, in expandDisp() argument
452 int64_t TestDisp = AM.Disp + Op1; in expandDisp()
453 if (selectDisp(AM.DR, TestDisp)) { in expandDisp()
454 changeComponent(AM, IsBase, Op0); in expandDisp()
455 AM.Disp = TestDisp; in expandDisp()
464 bool SystemZDAGToDAGISel::expandAddress(SystemZAddressingMode &AM, in expandAddress() argument
466 SDValue N = IsBase ? AM.Base : AM.Index; in expandAddress()
481 return expandAdjDynAlloc(AM, IsBase, Op1); in expandAddress()
483 return expandAdjDynAlloc(AM, IsBase, Op0); in expandAddress()
486 return expandDisp(AM, IsBase, Op1, in expandAddress()
489 return expandDisp(AM, IsBase, Op0, in expandAddress()
492 if (IsBase && expandIndex(AM, Op0, Op1)) in expandAddress()
501 return expandDisp(AM, IsBase, Base, Offset); in expandAddress()
581 SystemZAddressingMode &AM) const { in selectAddress()
584 AM.Base = Addr; in selectAddress()
588 expandDisp(AM, true, SDValue(), in selectAddress()
593 expandAdjDynAlloc(AM, true, SDValue())) in selectAddress()
597 while (expandAddress(AM, true) || in selectAddress()
598 (AM.Index.getNode() && expandAddress(AM, false))) in selectAddress()
602 if (AM.Form == SystemZAddressingMode::FormBDXLA && in selectAddress()
603 !shouldUseLA(AM.Base.getNode(), AM.Disp, AM.Index.getNode())) in selectAddress()
607 if (!isValidDisp(AM.DR, AM.Disp)) in selectAddress()
611 if (AM.isDynAlloc() && !AM.IncludesDynAlloc) in selectAddress()
614 LLVM_DEBUG(AM.dump(CurDAG)); in selectAddress()
637 void SystemZDAGToDAGISel::getAddressOperands(const SystemZAddressingMode &AM, in getAddressOperands() argument
640 Base = AM.Base; in getAddressOperands()
659 Disp = CurDAG->getTargetConstant(AM.Disp, SDLoc(Base), VT); in getAddressOperands()
662 void SystemZDAGToDAGISel::getAddressOperands(const SystemZAddressingMode &AM, in getAddressOperands() argument
666 getAddressOperands(AM, VT, Base, Disp); in getAddressOperands()
668 Index = AM.Index; in getAddressOperands()
677 SystemZAddressingMode AM(SystemZAddressingMode::FormBD, DR); in selectBDAddr() local
678 if (!selectAddress(Addr, AM)) in selectBDAddr()
681 getAddressOperands(AM, Addr.getValueType(), Base, Disp); in selectBDAddr()
688 SystemZAddressingMode AM(SystemZAddressingMode::FormBDXNormal, DR); in selectMVIAddr() local
689 if (!selectAddress(Addr, AM) || AM.Index.getNode()) in selectMVIAddr()
692 getAddressOperands(AM, Addr.getValueType(), Base, Disp); in selectMVIAddr()
700 SystemZAddressingMode AM(Form, DR); in selectBDXAddr() local
701 if (!selectAddress(Addr, AM)) in selectBDXAddr()
704 getAddressOperands(AM, Addr.getValueType(), Base, Disp, Index); in selectBDXAddr()