aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/LCSSA.cpp
AgeCommit message (Collapse)Author
2006-06-01More cleanups. Also, add a special case for updating PHI nodes, andOwen Anderson
reimplement getValueDominatingFunction to walk the DominanceTree rather than just searching blindly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28618 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31Extract a huge loop into a helper method. Fix a few iterator-invalidation bugs.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28599 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29Add Use replacement. Assuming there is nothing horribly wrong with this, LCSSAOwen Anderson
is now theoretically feature-complete. It has not, however, been thoroughly test, and is still considered experimental. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28529 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-28Major think-o. Iterate over all live out-of-loop values, and perform theOwen Anderson
other calculations on each individually, rather than trying to delay it and do them all at the end. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28527 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-27Make LCSSA insert proper Phi nodes throughout the rest of the CFG by computingOwen Anderson
the iterated Dominance Frontier of the loop-closure Phi's. This is the second phase of the LCSSA pass. The third phase (coming soon) will be to update all uses of loop variables to use the loop-closure Phi's instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28524 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-27A few small clean-ups, and the addition of an LCSSA statistic.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28512 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-26Fix a copy-and-paste-o that would break some compilers.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28507 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-26Clean up and refactor LCSSA a bunch. It should also run faster now, thoughOwen Anderson
there's still a lot of work to be done on it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28506 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-26Skeletal LCSSA pass. This is currently non-functional. Expect functionalityOwen Anderson
and documentation updates soo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28495 91177308-0d34-0410-b5e6-96231b3b80d8