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

Lines Matching defs:Addr

47   bool SelectFrameADDR_ri(SDValue Addr, SDValue &Base, SDValue &Offset);
48 bool SelectAddrModeS9(SDValue Addr, SDValue &Base, SDValue &Offset);
49 bool SelectAddrModeImm(SDValue Addr, SDValue &Base, SDValue &Offset);
50 bool SelectAddrModeFar(SDValue Addr, SDValue &Base, SDValue &Offset);
75 bool ARCDAGToDAGISel::SelectAddrModeImm(SDValue Addr, SDValue &Base,
77 if (Addr.getOpcode() == ARCISD::GAWRAPPER) {
78 Base = Addr.getOperand(0);
79 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32);
85 bool ARCDAGToDAGISel::SelectAddrModeS9(SDValue Addr, SDValue &Base,
87 if (Addr.getOpcode() == ARCISD::GAWRAPPER) {
91 if (Addr.getOpcode() != ISD::ADD && Addr.getOpcode() != ISD::SUB &&
92 !CurDAG->isBaseWithConstantOffset(Addr)) {
93 if (Addr.getOpcode() == ISD::FrameIndex) {
95 int FI = cast<FrameIndexSDNode>(Addr)->getIndex();
99 Base = Addr;
101 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32);
105 if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) {
107 if (Addr.getOpcode() == ISD::SUB)
113 Base = Addr.getOperand(0);
119 Offset = CurDAG->getTargetConstant(RHSC, SDLoc(Addr), MVT::i32);
122 Base = Addr;
123 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32);
127 bool ARCDAGToDAGISel::SelectAddrModeFar(SDValue Addr, SDValue &Base,
129 if (SelectAddrModeS9(Addr, Base, Offset))
131 if (Addr.getOpcode() == ARCISD::GAWRAPPER) {
134 if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) {
136 if (Addr.getOpcode() == ISD::SUB)
138 Base = Addr.getOperand(0);
139 Offset = CurDAG->getTargetConstant(RHSC, SDLoc(Addr), MVT::i32);
146 bool ARCDAGToDAGISel::SelectFrameADDR_ri(SDValue Addr, SDValue &Base,
149 if ((FIN = dyn_cast<FrameIndexSDNode>(Addr))) {
151 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32);
154 if (Addr.getOpcode() == ISD::ADD) {
156 if ((FIN = dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) &&
157 (CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) &&
162 CurDAG->getTargetConstant(CN->getSExtValue(), SDLoc(Addr), MVT::i32);