diff options
author | Dan Gohman <gohman@apple.com> | 2009-06-19 17:49:54 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-06-19 17:49:54 +0000 |
commit | 0c689c5e051228616e301d54a8ea11ebee5caa4a (patch) | |
tree | 7800aa0cda96b4414931d3b44da0415022df4cd7 | |
parent | 8e1c17aa5af9b01d9e1d36abd66aade615d097b7 (diff) | |
download | external_llvm-0c689c5e051228616e301d54a8ea11ebee5caa4a.zip external_llvm-0c689c5e051228616e301d54a8ea11ebee5caa4a.tar.gz external_llvm-0c689c5e051228616e301d54a8ea11ebee5caa4a.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
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 12 |
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 { |