aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ScalarEvolution.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-07-14 14:06:25 +0000
committerDan Gohman <gohman@apple.com>2009-07-14 14:06:25 +0000
commita653fc5f6bdfa016ba703c9b6d520b697c987517 (patch)
tree6b8fcb839e8a07e2e3c71cd36f258f1dbd922257 /lib/Analysis/ScalarEvolution.cpp
parent93990d775ea4ac13c9c2614e84fc19a7a2161771 (diff)
Add a comment about why ScalarEvolution doesn't recognize non-loop PHIs
even when they're obvious. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75632 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/ScalarEvolution.cpp')
-rw-r--r--lib/Analysis/ScalarEvolution.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
index 0152a9ff06..457466f9de 100644
--- a/lib/Analysis/ScalarEvolution.cpp
+++ b/lib/Analysis/ScalarEvolution.cpp
@@ -2402,6 +2402,10 @@ const SCEV *ScalarEvolution::createNodeForPHI(PHINode *PN) {
return SymbolicName;
}
+ // It's tempting to recognize PHIs with a unique incoming value, however
+ // this leads passes like indvars to break LCSSA form. Fortunately, such
+ // PHIs are rare, as instcombine zaps them.
+
// If it's not a loop phi, we can't handle it yet.
return getUnknown(PN);
}