// Complex Pattern.
/// (reg + imm).
- bool selectAddrRegImm(SDNode *Parent, SDValue Addr, SDValue &Base,
- SDValue &Offset) const;
+ bool selectAddrRegImm(SDValue Addr, SDValue &Base, SDValue &Offset) const;
/// Fall back on this function if all else fails.
- bool selectAddrDefault(SDNode *Parent, SDValue Addr, SDValue &Base,
- SDValue &Offset) const;
+ bool selectAddrDefault(SDValue Addr, SDValue &Base, SDValue &Offset) const;
/// Match integer address pattern.
- bool selectIntAddr(SDNode *Parent, SDValue Addr, SDValue &Base,
- SDValue &Offset) const;
+ bool selectIntAddr(SDValue Addr, SDValue &Base, SDValue &Offset) const;
bool SelectAddr16(SDNode *Parent, SDValue N, SDValue &Base, SDValue &Offset,
SDValue &Alias);
/// ComplexPattern used on MipsInstrInfo
/// Used on Mips Load/Store instructions
-bool MipsDAGToDAGISel::selectAddrRegImm(SDNode *Parent, SDValue Addr,
- SDValue &Base, SDValue &Offset) const {
+bool MipsDAGToDAGISel::selectAddrRegImm(SDValue Addr, SDValue &Base,
+ SDValue &Offset) const {
EVT ValTy = Addr.getValueType();
// if Address is FI, get the TargetFrameIndex.
return false;
}
-bool MipsDAGToDAGISel::selectAddrDefault(SDNode *Parent, SDValue Addr,
- SDValue &Base, SDValue &Offset) const {
+bool MipsDAGToDAGISel::selectAddrDefault(SDValue Addr, SDValue &Base,
+ SDValue &Offset) const {
Base = Addr;
Offset = CurDAG->getTargetConstant(0, Addr.getValueType());
return true;
}
-bool MipsDAGToDAGISel::selectIntAddr(SDNode *Parent, SDValue Addr,
- SDValue &Base, SDValue &Offset) const {
- return selectAddrRegImm(Parent, Addr, Base, Offset) ||
- selectAddrDefault(Parent, Addr, Base, Offset);
+bool MipsDAGToDAGISel::selectIntAddr(SDValue Addr, SDValue &Base,
+ SDValue &Offset) const {
+ return selectAddrRegImm(Addr, Base, Offset) ||
+ selectAddrDefault(Addr, Base, Offset);
}
void MipsDAGToDAGISel::getMips16SPRefReg(SDNode *Parent, SDValue &AliasReg) {
// Mips Address Mode! SDNode frameindex could possibily be a match
// since load and store instructions from stack used it.
def addr :
- ComplexPattern<iPTR, 2, "selectIntAddr", [frameindex], [SDNPWantParent]>;
+ ComplexPattern<iPTR, 2, "selectIntAddr", [frameindex]>;
def addrRegImm :
- ComplexPattern<iPTR, 2, "selectAddrRegImm", [frameindex], [SDNPWantParent]>;
+ ComplexPattern<iPTR, 2, "selectAddrRegImm", [frameindex]>;
def addrDefault :
- ComplexPattern<iPTR, 2, "selectAddrDefault", [frameindex], [SDNPWantParent]>;
+ ComplexPattern<iPTR, 2, "selectAddrDefault", [frameindex]>;
//===----------------------------------------------------------------------===//
// Instructions specific format