[DAG] Add const variants for BaseIndexOffset functions.

llvm-svn: 345623
This commit is contained in:
Nirav Dave 2018-10-30 18:26:43 +00:00
parent bfac17f21e
commit eedd2ccd02
2 changed files with 11 additions and 7 deletions

View File

@ -45,18 +45,21 @@ public:
IsIndexSignExt(IsIndexSignExt) {}
SDValue getBase() { return Base; }
SDValue getBase() const { return Base; }
SDValue getIndex() { return Index; }
SDValue getIndex() const { return Index; }
bool equalBaseIndex(BaseIndexOffset &Other, const SelectionDAG &DAG) {
bool equalBaseIndex(const BaseIndexOffset &Other,
const SelectionDAG &DAG) const {
int64_t Off;
return equalBaseIndex(Other, DAG, Off);
}
bool equalBaseIndex(BaseIndexOffset &Other, const SelectionDAG &DAG,
int64_t &Off);
bool equalBaseIndex(const BaseIndexOffset &Other, const SelectionDAG &DAG,
int64_t &Off) const;
/// Parses tree in Ptr for base, index, offset addresses.
static BaseIndexOffset match(LSBaseSDNode *N, const SelectionDAG &DAG);
static BaseIndexOffset match(const LSBaseSDNode *N, const SelectionDAG &DAG);
};
} // end namespace llvm

View File

@ -19,8 +19,9 @@
using namespace llvm;
bool BaseIndexOffset::equalBaseIndex(BaseIndexOffset &Other,
const SelectionDAG &DAG, int64_t &Off) {
bool BaseIndexOffset::equalBaseIndex(const BaseIndexOffset &Other,
const SelectionDAG &DAG,
int64_t &Off) const {
// Conservatively fail if we a match failed..
if (!Base.getNode() || !Other.Base.getNode())
return false;
@ -75,7 +76,7 @@ bool BaseIndexOffset::equalBaseIndex(BaseIndexOffset &Other,
}
/// Parses tree in Ptr for base, index, offset addresses.
BaseIndexOffset BaseIndexOffset::match(LSBaseSDNode *N,
BaseIndexOffset BaseIndexOffset::match(const LSBaseSDNode *N,
const SelectionDAG &DAG) {
SDValue Ptr = N->getBasePtr();