Lines Matching full:addr

84 bool VEDAGToDAGISel::selectADDRrri(SDValue Addr, SDValue &Base, SDValue &Index,  in INITIALIZE_PASS()
86 if (Addr.getOpcode() == ISD::FrameIndex) in INITIALIZE_PASS()
88 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in INITIALIZE_PASS()
89 Addr.getOpcode() == ISD::TargetGlobalAddress || in INITIALIZE_PASS()
90 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in INITIALIZE_PASS()
94 if (matchADDRri(Addr, LHS, RHS)) { in INITIALIZE_PASS()
102 if (matchADDRrr(Addr, LHS, RHS)) { in INITIALIZE_PASS()
121 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in INITIALIZE_PASS()
127 bool VEDAGToDAGISel::selectADDRrii(SDValue Addr, SDValue &Base, SDValue &Index, in selectADDRrii() argument
129 if (matchADDRri(Addr, Base, Offset)) { in selectADDRrii()
130 Index = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRrii()
134 Base = Addr; in selectADDRrii()
135 Index = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRrii()
136 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRrii()
140 bool VEDAGToDAGISel::selectADDRzri(SDValue Addr, SDValue &Base, SDValue &Index, in selectADDRzri() argument
146 bool VEDAGToDAGISel::selectADDRzii(SDValue Addr, SDValue &Base, SDValue &Index, in selectADDRzii() argument
148 if (isa<FrameIndexSDNode>(Addr)) in selectADDRzii()
150 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in selectADDRzii()
151 Addr.getOpcode() == ISD::TargetGlobalAddress || in selectADDRzii()
152 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in selectADDRzii()
155 if (auto *CN = dyn_cast<ConstantSDNode>(Addr)) { in selectADDRzii()
157 Base = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRzii()
158 Index = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRzii()
160 CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr), MVT::i32); in selectADDRzii()
167 bool VEDAGToDAGISel::selectADDRri(SDValue Addr, SDValue &Base, in selectADDRri() argument
169 if (matchADDRri(Addr, Base, Offset)) in selectADDRri()
172 Base = Addr; in selectADDRri()
173 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRri()
177 bool VEDAGToDAGISel::selectADDRzi(SDValue Addr, SDValue &Base, in selectADDRzi() argument
179 if (isa<FrameIndexSDNode>(Addr)) in selectADDRzi()
181 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in selectADDRzi()
182 Addr.getOpcode() == ISD::TargetGlobalAddress || in selectADDRzi()
183 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in selectADDRzi()
186 if (auto *CN = dyn_cast<ConstantSDNode>(Addr)) { in selectADDRzi()
188 Base = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in selectADDRzi()
190 CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr), MVT::i32); in selectADDRzi()
197 bool VEDAGToDAGISel::matchADDRrr(SDValue Addr, SDValue &Base, SDValue &Index) { in matchADDRrr() argument
198 if (isa<FrameIndexSDNode>(Addr)) in matchADDRrr()
200 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in matchADDRrr()
201 Addr.getOpcode() == ISD::TargetGlobalAddress || in matchADDRrr()
202 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in matchADDRrr()
205 if (Addr.getOpcode() == ISD::ADD) { in matchADDRrr()
207 } else if (Addr.getOpcode() == ISD::OR) { in matchADDRrr()
210 if (!CurDAG->haveNoCommonBitsSet(Addr.getOperand(0), Addr.getOperand(1))) in matchADDRrr()
216 if (Addr.getOperand(0).getOpcode() == VEISD::Lo || in matchADDRrr()
217 Addr.getOperand(1).getOpcode() == VEISD::Lo) in matchADDRrr()
220 Base = Addr.getOperand(0); in matchADDRrr()
221 Index = Addr.getOperand(1); in matchADDRrr()
225 bool VEDAGToDAGISel::matchADDRri(SDValue Addr, SDValue &Base, SDValue &Offset) { in matchADDRri() argument
226 auto AddrTy = Addr->getValueType(0); in matchADDRri()
227 if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(Addr)) { in matchADDRri()
229 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32); in matchADDRri()
232 if (Addr.getOpcode() == ISD::TargetExternalSymbol || in matchADDRri()
233 Addr.getOpcode() == ISD::TargetGlobalAddress || in matchADDRri()
234 Addr.getOpcode() == ISD::TargetGlobalTLSAddress) in matchADDRri()
237 if (CurDAG->isBaseWithConstantOffset(Addr)) { in matchADDRri()
238 ConstantSDNode *CN = cast<ConstantSDNode>(Addr.getOperand(1)); in matchADDRri()
241 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) { in matchADDRri()
245 Base = Addr.getOperand(0); in matchADDRri()
248 CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr), MVT::i32); in matchADDRri()