From 0c689c5e051228616e301d54a8ea11ebee5caa4a Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 19 Jun 2009 17:49:54 +0000 Subject: [PATCH] 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 --- lib/Analysis/ScalarEvolution.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 94b75baeee0..049f886c5ab 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 << "<>"; } else { -- 2.34.1