Lines Matching refs:Addr
76 bool SparcDAGToDAGISel::SelectADDRri(SDValue Addr,
78 if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(Addr)) {
81 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32);
84 if (Addr.getOpcode() == ISD::TargetExternalSymbol ||
85 Addr.getOpcode() == ISD::TargetGlobalAddress ||
86 Addr.getOpcode() == ISD::TargetGlobalTLSAddress)
89 if (Addr.getOpcode() == ISD::ADD) {
90 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) {
93 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) {
98 Base = Addr.getOperand(0);
100 Offset = CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(Addr),
105 if (Addr.getOperand(0).getOpcode() == SPISD::Lo) {
106 Base = Addr.getOperand(1);
107 Offset = Addr.getOperand(0).getOperand(0);
110 if (Addr.getOperand(1).getOpcode() == SPISD::Lo) {
111 Base = Addr.getOperand(0);
112 Offset = Addr.getOperand(1).getOperand(0);
116 Base = Addr;
117 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32);
121 bool SparcDAGToDAGISel::SelectADDRrr(SDValue Addr, SDValue &R1, SDValue &R2) {
122 if (Addr.getOpcode() == ISD::FrameIndex) return false;
123 if (Addr.getOpcode() == ISD::TargetExternalSymbol ||
124 Addr.getOpcode() == ISD::TargetGlobalAddress ||
125 Addr.getOpcode() == ISD::TargetGlobalTLSAddress)
128 if (Addr.getOpcode() == ISD::ADD) {
129 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))
132 if (Addr.getOperand(0).getOpcode() == SPISD::Lo ||
133 Addr.getOperand(1).getOpcode() == SPISD::Lo)
135 R1 = Addr.getOperand(0);
136 R2 = Addr.getOperand(1);
140 R1 = Addr;