diff options
author | Dan Gohman <gohman@apple.com> | 2011-06-04 06:48:50 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2011-06-04 06:48:50 +0000 |
commit | a3351a0e5db0b5b2c53920f2f15d3e862fecfad3 (patch) | |
tree | e3950ad2badcb5f73f54fa0aff620e158e13bc2a /lib/Analysis | |
parent | baddf6c8b07afd48c145e08d8e5b524b1012deff (diff) | |
download | external_llvm-a3351a0e5db0b5b2c53920f2f15d3e862fecfad3.zip external_llvm-a3351a0e5db0b5b2c53920f2f15d3e862fecfad3.tar.gz external_llvm-a3351a0e5db0b5b2c53920f2f15d3e862fecfad3.tar.bz2 |
Disable the main feature of 130180, the elimination of loads that are
redundant with partially-aliasing loads.
When computing what portion of a clobbering load value is needed,
it doesn't consider phi-translation which may have occurred
between the clobbing load and the redundant load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132631 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/MemoryDependenceAnalysis.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Analysis/MemoryDependenceAnalysis.cpp b/lib/Analysis/MemoryDependenceAnalysis.cpp index a412425..5f640c0 100644 --- a/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -374,10 +374,16 @@ getPointerDependencyFrom(const AliasAnalysis::Location &MemLoc, bool isLoad, if (R == AliasAnalysis::MustAlias) return MemDepResult::getDef(Inst); +#if 0 // FIXME: Temporarily disabled. GVN is cleverly rewriting loads + // in terms of clobbering loads, but since it does this by looking + // at the clobbering load directly, it doesn't know about any + // phi translation that may have happened along the way. + // If we have a partial alias, then return this as a clobber for the // client to handle. if (R == AliasAnalysis::PartialAlias) return MemDepResult::getClobber(Inst); +#endif // Random may-alias loads don't depend on each other without a // dependence. |