diff options
author | Owen Anderson <resistor@mac.com> | 2010-11-27 08:15:55 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2010-11-27 08:15:55 +0000 |
commit | 35bf4d6d8018160557a92b86181acbcef76f86eb (patch) | |
tree | fc85169448d2343bf3c6e1931eda1227994d1949 /include | |
parent | 4581dae9ea6d21da0a584aad9f1143343bb7c32e (diff) | |
download | llvm-35bf4d6d8018160557a92b86181acbcef76f86eb.tar.gz llvm-35bf4d6d8018160557a92b86181acbcef76f86eb.tar.bz2 llvm-35bf4d6d8018160557a92b86181acbcef76f86eb.tar.xz |
Second attempt at fixing the performance regressions introduced
by my recent GVN improvement. Looking through a single layer of
PHI nodes when attempting to sink GEPs, we need to iteratively
look through arbitrary PHI nests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120202 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Transforms/Utils/AddrModeMatcher.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/Transforms/Utils/AddrModeMatcher.h b/include/llvm/Transforms/Utils/AddrModeMatcher.h index be601e257b..61d2c01c72 100644 --- a/include/llvm/Transforms/Utils/AddrModeMatcher.h +++ b/include/llvm/Transforms/Utils/AddrModeMatcher.h @@ -39,6 +39,12 @@ struct ExtAddrMode : public TargetLowering::AddrMode { ExtAddrMode() : BaseReg(0), ScaledReg(0) {} void print(raw_ostream &OS) const; void dump() const; + + bool operator==(const ExtAddrMode& O) const { + return (BaseReg == O.BaseReg) && (ScaledReg == O.ScaledReg) && + (BaseGV == O.BaseGV) && (BaseOffs == O.BaseOffs) && + (HasBaseReg == O.HasBaseReg) && (Scale == O.Scale); + } }; static inline raw_ostream &operator<<(raw_ostream &OS, const ExtAddrMode &AM) { |