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