reapply this hunk from Bill's reversion in r61169, it is conservative

and safe and orthogonal from turning off load pre.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61177 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-12-18 00:51:32 +00:00
parent a5d5c0268a
commit 5f4f84ba3e

View File

@ -956,6 +956,11 @@ bool GVN::processNonLocalLoad(LoadInst *LI,
// it will be too expensive.
if (Deps.size() > 100)
return false;
// If we had a phi translation failure, we'll have a single entry which is a
// clobber in the current block. Reject this early.
if (Deps.size() == 1 && Deps[0].second.isClobber())
return false;
// Filter out useless results (non-locals, etc). Keep track of the blocks
// where we have a value available in repl, also keep track of whether we see