From a4eff77e37a59665b604cb8a644d66796b5622d4 Mon Sep 17 00:00:00 2001 From: Preston Briggs Date: Fri, 30 Nov 2012 00:44:47 +0000 Subject: [PATCH] Modified dump() to provide a little more information for dependences between instructions that don't share a common loop. Updated the test results appropriately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168965 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/DependenceAnalysis.cpp | 62 +++++++++---------- test/Analysis/DependenceAnalysis/ExactRDIV.ll | 4 +- test/Analysis/DependenceAnalysis/ZIV.ll | 4 +- 3 files changed, 34 insertions(+), 36 deletions(-) diff --git a/lib/Analysis/DependenceAnalysis.cpp b/lib/Analysis/DependenceAnalysis.cpp index 1bade20d634..783ebc53488 100644 --- a/lib/Analysis/DependenceAnalysis.cpp +++ b/lib/Analysis/DependenceAnalysis.cpp @@ -583,42 +583,40 @@ void Dependence::dump(raw_ostream &OS) const { else if (isInput()) OS << "input"; unsigned Levels = getLevels(); - if (Levels) { - OS << " ["; - for (unsigned II = 1; II <= Levels; ++II) { - if (isSplitable(II)) - Splitable = true; - if (isPeelFirst(II)) - OS << 'p'; - const SCEV *Distance = getDistance(II); - if (Distance) - OS << *Distance; - else if (isScalar(II)) - OS << "S"; + OS << " ["; + for (unsigned II = 1; II <= Levels; ++II) { + if (isSplitable(II)) + Splitable = true; + if (isPeelFirst(II)) + OS << 'p'; + const SCEV *Distance = getDistance(II); + if (Distance) + OS << *Distance; + else if (isScalar(II)) + OS << "S"; + else { + unsigned Direction = getDirection(II); + if (Direction == DVEntry::ALL) + OS << "*"; else { - unsigned Direction = getDirection(II); - if (Direction == DVEntry::ALL) - OS << "*"; - else { - if (Direction & DVEntry::LT) - OS << "<"; - if (Direction & DVEntry::EQ) - OS << "="; - if (Direction & DVEntry::GT) - OS << ">"; - } + if (Direction & DVEntry::LT) + OS << "<"; + if (Direction & DVEntry::EQ) + OS << "="; + if (Direction & DVEntry::GT) + OS << ">"; } - if (isPeelLast(II)) - OS << 'p'; - if (II < Levels) - OS << " "; } - if (isLoopIndependent()) - OS << "|<"; - OS << "]"; - if (Splitable) - OS << " splitable"; + if (isPeelLast(II)) + OS << 'p'; + if (II < Levels) + OS << " "; } + if (isLoopIndependent()) + OS << "|<"; + OS << "]"; + if (Splitable) + OS << " splitable"; } OS << "!\n"; } diff --git a/test/Analysis/DependenceAnalysis/ExactRDIV.ll b/test/Analysis/DependenceAnalysis/ExactRDIV.ll index f5f57e794c7..81f55161c0d 100644 --- a/test/Analysis/DependenceAnalysis/ExactRDIV.ll +++ b/test/Analysis/DependenceAnalysis/ExactRDIV.ll @@ -201,7 +201,7 @@ entry: br label %for.body ; CHECK: da analyze - none! -; CHECK: da analyze - flow! +; CHECK: da analyze - flow [|<]! ; CHECK: da analyze - confused! ; CHECK: da analyze - none! ; CHECK: da analyze - confused! @@ -388,7 +388,7 @@ entry: br label %for.body ; CHECK: da analyze - none! -; CHECK: da analyze - flow! +; CHECK: da analyze - flow [|<]! ; CHECK: da analyze - confused! ; CHECK: da analyze - none! ; CHECK: da analyze - confused! diff --git a/test/Analysis/DependenceAnalysis/ZIV.ll b/test/Analysis/DependenceAnalysis/ZIV.ll index 226af5c7965..5463c63ba3f 100644 --- a/test/Analysis/DependenceAnalysis/ZIV.ll +++ b/test/Analysis/DependenceAnalysis/ZIV.ll @@ -15,7 +15,7 @@ entry: store i32 0, i32* %arrayidx, align 4 ; CHECK: da analyze - none! -; CHECK: da analyze - consistent flow! +; CHECK: da analyze - consistent flow [|<]! ; CHECK: da analyze - confused! ; CHECK: da analyze - none! ; CHECK: da analyze - confused! @@ -61,7 +61,7 @@ entry: store i32 0, i32* %arrayidx, align 4 ; CHECK: da analyze - none! -; CHECK: da analyze - flow! +; CHECK: da analyze - flow [|<]! ; CHECK: da analyze - confused! ; CHECK: da analyze - none! ; CHECK: da analyze - confused! -- 2.34.1