aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-06-19 17:49:54 +0000
committerDan Gohman <gohman@apple.com>2009-06-19 17:49:54 +0000
commit8db598a317b794b814f3a1bf49d40308688327fb (patch)
tree7800aa0cda96b4414931d3b44da0415022df4cd7 /lib/Analysis
parentcb634e00609b345c034c83fabdad4ebd04fa5f1a (diff)
downloadexternal_llvm-8db598a317b794b814f3a1bf49d40308688327fb.zip
external_llvm-8db598a317b794b814f3a1bf49d40308688327fb.tar.gz
external_llvm-8db598a317b794b814f3a1bf49d40308688327fb.tar.bz2
Make ScalarEvolution::print print getSCEVAtScope values for
expressions, when interesting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73776 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis')
-rw-r--r--lib/Analysis/ScalarEvolution.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
index 94b75ba..049f886 100644
--- a/lib/Analysis/ScalarEvolution.cpp
+++ b/lib/Analysis/ScalarEvolution.cpp
@@ -4048,9 +4048,17 @@ void ScalarEvolution::print(raw_ostream &OS, const Module* ) const {
SCEVHandle SV = SE.getSCEV(&*I);
SV->print(OS);
- if (const Loop *L = LI->getLoopFor((*I).getParent())) {
+ const Loop *L = LI->getLoopFor((*I).getParent());
+
+ SCEVHandle AtUse = SE.getSCEVAtScope(SV, L);
+ if (AtUse != SV) {
+ OS << " --> ";
+ AtUse->print(OS);
+ }
+
+ if (L) {
OS << "\t\t" "Exits: ";
- SCEVHandle ExitValue = SE.getSCEVAtScope(&*I, L->getParentLoop());
+ SCEVHandle ExitValue = SE.getSCEVAtScope(SV, L->getParentLoop());
if (!ExitValue->isLoopInvariant(L)) {
OS << "<<Unknown>>";
} else {