summaryrefslogtreecommitdiff
path: root/lib/Analysis/ScalarEvolutionExpander.cpp
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2012-01-07 01:29:21 +0000
committerAndrew Trick <atrick@apple.com>2012-01-07 01:29:21 +0000
commit139f333f88fb9e0c39dfa3b56fd2a26b33837b70 (patch)
treef81d3627e938ef2db2d300dd1ed6b9e768b8305e /lib/Analysis/ScalarEvolutionExpander.cpp
parentb78307fc58025713fd98c8414fa8f29720f37a76 (diff)
downloadllvm-139f333f88fb9e0c39dfa3b56fd2a26b33837b70.tar.gz
llvm-139f333f88fb9e0c39dfa3b56fd2a26b33837b70.tar.bz2
llvm-139f333f88fb9e0c39dfa3b56fd2a26b33837b70.tar.xz
Cleanup comments and argument types related to my previous replaceCongruentPhis checkin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147709 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/ScalarEvolutionExpander.cpp')
-rw-r--r--lib/Analysis/ScalarEvolutionExpander.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/Analysis/ScalarEvolutionExpander.cpp b/lib/Analysis/ScalarEvolutionExpander.cpp
index 0c4bb825bf..26ae22b56b 100644
--- a/lib/Analysis/ScalarEvolutionExpander.cpp
+++ b/lib/Analysis/ScalarEvolutionExpander.cpp
@@ -1558,8 +1558,8 @@ bool SCEVExpander::hoistStep(Instruction *IncV, Instruction *InsertPos,
return true;
}
-/// Sort Phis by integer width for replaceCongruentIVs.
-static bool width_descending(PHINode *lhs, PHINode *rhs) {
+/// Sort values by integer width for replaceCongruentIVs.
+static bool width_descending(Value *lhs, Value *rhs) {
// Put pointers at the back and make sure pointer < pointer = false.
if (!lhs->getType()->isIntegerTy() || !rhs->getType()->isIntegerTy())
return rhs->getType()->isIntegerTy() && !lhs->getType()->isIntegerTy();
@@ -1632,8 +1632,9 @@ unsigned SCEVExpander::replaceCongruentIVs(Loop *L, const DominatorTree *DT,
// Replacing the congruent phi is sufficient because acyclic redundancy
// elimination, CSE/GVN, should handle the rest. However, once SCEV proves
// that a phi is congruent, it's often the head of an IV user cycle that
- // is isomorphic with the original phi. So it's worth eagerly cleaning up
- // the common case of a single IV increment.
+ // is isomorphic with the original phi. It's worth eagerly cleaning up the
+ // common case of a single IV increment so that DeleteDeadPHIs can remove
+ // cycles that had postinc uses.
const SCEV *TruncExpr = SE.getTruncateOrNoop(SE.getSCEV(OrigInc),
IsomorphicInc->getType());
if (OrigInc != IsomorphicInc