Modify depends(Src, Dst, PossiblyLoopIndependent).

If the Src and Dst are the same instruction,
no loop-independent dependence is possible,
so we force the PossiblyLoopIndependent flag to false.

The test case results are updated appropriately.

llvm-svn: 168678
This commit is contained in:
Preston Briggs 2012-11-27 06:41:46 +00:00
parent 25c9b3b6e4
commit 1084fa2ef2
15 changed files with 404 additions and 401 deletions

View File

@ -3199,6 +3199,9 @@ static void dumpSmallBitVector(SmallBitVector &BV) {
Dependence *DependenceAnalysis::depends(Instruction *Src,
Instruction *Dst,
bool PossiblyLoopIndependent) {
if (Src == Dst)
PossiblyLoopIndependent = false;
if ((!Src->mayReadFromMemory() && !Src->mayWriteToMemory()) ||
(!Dst->mayReadFromMemory() && !Dst->mayWriteToMemory()))
// if both instructions don't reference memory, there's no dependence

View File

@ -14,12 +14,12 @@ define void @banerjee0(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [<= <>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@ -65,12 +65,12 @@ entry:
%cmp4 = icmp sgt i64 %n, 0
br i1 %cmp4, label %for.cond1.preheader.preheader, label %for.end9
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - flow [* <>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry
%0 = add i64 %n, 1
@ -131,12 +131,12 @@ define void @banerjee2(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@ -181,12 +181,12 @@ define void @banerjee3(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [> >]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@ -231,12 +231,12 @@ define void @banerjee4(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@ -281,12 +281,12 @@ define void @banerjee5(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [< <]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@ -331,12 +331,12 @@ define void @banerjee6(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [=> <>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@ -381,12 +381,12 @@ define void @banerjee7(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [> <=]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@ -431,12 +431,12 @@ define void @banerjee8(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [> <>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@ -481,12 +481,12 @@ define void @banerjee9(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - flow [<= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@ -532,12 +532,12 @@ define void @banerjee10(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [<> =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@ -582,12 +582,12 @@ define void @banerjee11(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [<= <>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@ -632,12 +632,12 @@ define void @banerjee12(i64* %A, i64* %B, i64 %m, i64 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [= <>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - input [= =]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]

View File

@ -13,12 +13,12 @@ define void @couple0([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -49,12 +49,12 @@ define void @couple1([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [-9]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -85,12 +85,12 @@ define void @couple2([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [*|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -123,12 +123,12 @@ define void @couple3([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -161,12 +161,12 @@ define void @couple4([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [*|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -200,12 +200,12 @@ define void @couple5([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -241,12 +241,12 @@ define void @couple6([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [=|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -277,12 +277,12 @@ define void @couple7([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -313,12 +313,12 @@ define void @couple8([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -350,12 +350,12 @@ define void @couple9([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -387,13 +387,13 @@ define void @couple10([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [>] splitable!
; CHECK: da analyze - split level = 1, iteration = 3!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -425,13 +425,13 @@ define void @couple11([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [=|<] splitable!
; CHECK: da analyze - split level = 1, iteration = 9!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -463,13 +463,13 @@ define void @couple12([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [<] splitable!
; CHECK: da analyze - split level = 1, iteration = 11!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -501,12 +501,12 @@ define void @couple13([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -537,13 +537,13 @@ define void @couple14([100 x [100 x i32]]* %A, i32* %B, i32 %n) nounwind uwtable
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [=|<] splitable!
; CHECK: da analyze - split level = 1, iteration = 9!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -575,12 +575,12 @@ define void @couple15([100 x [100 x i32]]* %A, i32* %B, i32 %n) nounwind uwtable
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

View File

@ -14,12 +14,12 @@ define void @rdiv0(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -62,12 +62,12 @@ define void @rdiv1(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -108,12 +108,12 @@ define void @rdiv2(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -154,12 +154,12 @@ define void @rdiv3(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -200,12 +200,12 @@ define void @rdiv4(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -246,12 +246,12 @@ define void @rdiv5(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -293,12 +293,12 @@ define void @rdiv6(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -340,12 +340,12 @@ define void @rdiv7(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -387,12 +387,12 @@ define void @rdiv8(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -434,12 +434,12 @@ define void @rdiv9(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - consistent input [S S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc5
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@ -483,12 +483,12 @@ define void @rdiv10(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - consistent input [S S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc5
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@ -531,12 +531,12 @@ define void @rdiv11(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - consistent input [S S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc5
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@ -579,12 +579,12 @@ define void @rdiv12(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
; CHECK: da analyze - flow [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - consistent input [S S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc5
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]

View File

@ -13,12 +13,12 @@ define void @exact0(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [<=|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -50,12 +50,12 @@ define void @exact1(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -88,12 +88,12 @@ define void @exact2(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -124,12 +124,12 @@ define void @exact3(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -160,12 +160,12 @@ define void @exact4(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -196,12 +196,12 @@ define void @exact5(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [=>|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -232,12 +232,12 @@ define void @exact6(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [=>|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -268,12 +268,12 @@ define void @exact7(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [*|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -304,12 +304,12 @@ define void @exact8(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -340,12 +340,12 @@ define void @exact9(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -376,12 +376,12 @@ define void @exact10(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -412,12 +412,12 @@ define void @exact11(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [=>|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -448,12 +448,12 @@ define void @exact12(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [=>|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -484,12 +484,12 @@ define void @exact13(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [*|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

View File

@ -14,12 +14,12 @@ define void @gcd0(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - flow [=> *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@ -66,12 +66,12 @@ define void @gcd1(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc9
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@ -119,12 +119,12 @@ define void @gcd2(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc9
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@ -172,12 +172,12 @@ define void @gcd3(i32* %A, i32* %B) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - flow [<> *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@ -223,12 +223,12 @@ define void @gcd4(i32* %A, i32* %B, i64 %M, i64 %N) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc17
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ]
@ -284,12 +284,12 @@ define void @gcd5(i32* %A, i32* %B, i64 %M, i64 %N) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - flow [<> *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc17
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ]
@ -346,12 +346,12 @@ entry:
%cmp4 = icmp sgt i64 %n, 0
br i1 %cmp4, label %for.cond1.preheader.preheader, label %for.end12
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@ -417,12 +417,12 @@ entry:
%cmp4 = icmp sgt i32 %n, 0
br i1 %cmp4, label %for.cond1.preheader.preheader, label %for.end15
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - flow [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@ -500,12 +500,12 @@ entry:
%cmp4 = icmp sgt i32 %n, 0
br i1 %cmp4, label %for.cond1.preheader.preheader, label %for.end15
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@ -578,12 +578,12 @@ entry:
%cmp4 = icmp eq i32 %n, 0
br i1 %cmp4, label %for.end15, label %for.cond1.preheader.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - flow [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - input [* *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader

View File

@ -54,12 +54,12 @@ entry:
%cmp10 = icmp sgt i64 %n, 0
br i1 %cmp10, label %for.cond1.preheader.preheader, label %for.end26
; CHECK: da analyze - consistent output [0 0 0|<]!
; CHECK: da analyze - consistent output [0 0 0]!
; CHECK: da analyze - flow [-3 -2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0 0|<]!
; CHECK: da analyze - consistent input [0 0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* * *|<]!
; CHECK: da analyze - output [* * *]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@ -162,13 +162,13 @@ entry:
%cmp44 = icmp sgt i64 %n, 0
br i1 %cmp44, label %for.cond1.preheader.preheader, label %for.end90
; CHECK: da analyze - output [0 0 0 0 0 S * * * * S S|<]!
; CHECK: da analyze - output [0 0 0 0 0 S * * * * S S]!
; CHECK: da analyze - flow [-6 * * => * * * * * * * *] splitable!
; CHECK: da analyze - split level = 3, iteration = 1!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 S 0 0 S 0 S S S S 0 0|<]!
; CHECK: da analyze - consistent input [0 S 0 0 S 0 S S S S 0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* * * * * * * * * * * *|<]!
; CHECK: da analyze - output [* * * * * * * * * * * *]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@ -425,12 +425,12 @@ entry:
%cmp1 = icmp sgt i64 %n, 0
br i1 %cmp1, label %for.body.preheader, label %for.end
; CHECK: da analyze - output [*|<]!
; CHECK: da analyze - output [*]!
; CHECK: da analyze - flow [*|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -471,12 +471,12 @@ entry:
%cmp1 = icmp sgt i64 %n, 0
br i1 %cmp1, label %for.body.preheader, label %for.end
; CHECK: da analyze - output [*|<]!
; CHECK: da analyze - output [*]!
; CHECK: da analyze - flow [*|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -517,12 +517,12 @@ entry:
%cmp1 = icmp sgt i64 %n, 0
br i1 %cmp1, label %for.body.preheader, label %for.end
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -672,9 +672,9 @@ entry:
%cmp1 = icmp eq i64 %add.ptr.sum, 0
br i1 %cmp1, label %while.end, label %while.body.preheader
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - consistent anti [1]!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
while.body.preheader: ; preds = %entry
br label %while.body

View File

@ -14,12 +14,12 @@ define void @prop0([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 0|<]!
; CHECK: da analyze - consistent output [0 0]!
; CHECK: da analyze - consistent flow [1 -1]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - consistent input [0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc9
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@ -64,12 +64,12 @@ define void @prop1([100 x [100 x i32]]* %A, i32* %B, i32 %n) nounwind uwtable ss
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 0 0|<]!
; CHECK: da analyze - consistent output [0 0 0]!
; CHECK: da analyze - consistent flow [1 1 -1]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0 0|<]!
; CHECK: da analyze - consistent input [0 0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = =|<]!
; CHECK: da analyze - output [= = =]!
for.cond1.preheader: ; preds = %entry, %for.inc18
%B.addr.06 = phi i32* [ %B, %entry ], [ %scevgep7, %for.inc18 ]
@ -126,12 +126,12 @@ define void @prop2([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 S|<]!
; CHECK: da analyze - consistent output [0 S]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - consistent input [0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@ -176,12 +176,12 @@ define void @prop3([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 0|<]!
; CHECK: da analyze - consistent output [0 0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - consistent input [0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc9
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@ -227,12 +227,12 @@ define void @prop4([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 0|<]!
; CHECK: da analyze - consistent output [0 0]!
; CHECK: da analyze - consistent flow [2 -3]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - consistent input [0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc11
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc11 ]
@ -279,13 +279,13 @@ define void @prop5([100 x [100 x i32]]* %A, i32* %B, i32 %n) nounwind uwtable ss
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 0|<]!
; CHECK: da analyze - consistent output [0 0]!
; CHECK: da analyze - flow [< -16] splitable!
; CHECK: da analyze - split level = 1, iteration = 11!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - consistent input [0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc13
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc13 ]
@ -333,12 +333,12 @@ define void @prop6([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 0|<]!
; CHECK: da analyze - consistent output [0 0]!
; CHECK: da analyze - flow [=> -2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - consistent input [0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc12
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc12 ]
@ -386,13 +386,13 @@ define void @prop7([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 0|<]!
; CHECK: da analyze - consistent output [0 0]!
; CHECK: da analyze - flow [* -38] splitable!
; CHECK: da analyze - split level = 1, iteration = 4!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - consistent input [0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc14
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc14 ]
@ -442,12 +442,12 @@ define void @prop8([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [S 0|<]!
; CHECK: da analyze - consistent output [S 0]!
; CHECK: da analyze - flow [p<= 2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - consistent input [0 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc10
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ]
@ -493,12 +493,12 @@ define void @prop9([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp {
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 0|<]!
; CHECK: da analyze - consistent output [0 0]!
; CHECK: da analyze - flow [p<= 2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S 0|<]!
; CHECK: da analyze - consistent input [S 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
; CHECK: da analyze - output [= =]!
for.cond1.preheader: ; preds = %entry, %for.inc10
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ]

View File

@ -16,12 +16,12 @@ define void @sep0([100 x [100 x i32]]* %A, i32* %B, i32 %n) nounwind uwtable ssp
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [0 * * S|<]!
; CHECK: da analyze - output [0 * * S]!
; CHECK: da analyze - flow [-10 * * *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [0 * S *|<]!
; CHECK: da analyze - input [0 * S *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = = =|<]!
; CHECK: da analyze - output [= = = =]!
for.cond1.preheader: ; preds = %entry, %for.inc22
%B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc22 ]
@ -91,12 +91,12 @@ define void @sep1([100 x [100 x i32]]* %A, i32* %B, i32 %n) nounwind uwtable ssp
entry:
br label %for.cond1.preheader
; CHECK: da analyze - output [0 * * S|<]!
; CHECK: da analyze - output [0 * * S]!
; CHECK: da analyze - flow [> * * *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [0 * S *|<]!
; CHECK: da analyze - input [0 * S *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = = =|<]!
; CHECK: da analyze - output [= = = =]!
for.cond1.preheader: ; preds = %entry, %for.inc22
%B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc22 ]
@ -165,12 +165,12 @@ define void @sep2([100 x [100 x [100 x i32]]]* %A, i32* %B, i32 %n) nounwind uwt
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 S 0 0|<]!
; CHECK: da analyze - consistent output [0 S 0 0]!
; CHECK: da analyze - flow [> * * -10]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [0 * * 0|<]!
; CHECK: da analyze - input [0 * * 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = = =|<]!
; CHECK: da analyze - output [= = = =]!
for.cond1.preheader: ; preds = %entry, %for.inc26
%B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc26 ]
@ -239,12 +239,12 @@ define void @sep3([100 x [100 x [100 x i32]]]* %A, i32* %B, i32 %n) nounwind uwt
entry:
br label %for.cond1.preheader
; CHECK: da analyze - consistent output [0 S 0 0|<]!
; CHECK: da analyze - consistent output [0 S 0 0]!
; CHECK: da analyze - flow [> * * *]!
; CHECK: da analyze - confused!
; CHECK: da analyze - input [0 * * 0|<]!
; CHECK: da analyze - input [0 * * 0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = = =|<]!
; CHECK: da analyze - output [= = = =]!
for.cond1.preheader: ; preds = %entry, %for.inc27
%B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc27 ]

View File

@ -14,12 +14,12 @@ entry:
%cmp1 = icmp sgt i64 %n, 0
br i1 %cmp1, label %for.body.preheader, label %for.end
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -56,12 +56,12 @@ entry:
%cmp1 = icmp sgt i32 %n, 0
br i1 %cmp1, label %for.body.preheader, label %for.end
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
%0 = sext i32 %n to i64
@ -99,12 +99,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -141,12 +141,12 @@ entry:
%cmp1 = icmp sgt i32 %n, 0
br i1 %cmp1, label %for.body.preheader, label %for.end
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [2]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -183,12 +183,12 @@ define void @strong4(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -218,12 +218,12 @@ define void @strong5(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [19]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -253,12 +253,12 @@ define void @strong6(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [3]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -290,12 +290,12 @@ define void @strong7(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -327,12 +327,12 @@ define void @strong8(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [%n|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -363,12 +363,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -406,12 +406,12 @@ define void @strong10(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - consistent flow [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

View File

@ -15,12 +15,12 @@ entry:
%cmp4 = icmp eq i64 %n1, 0
br i1 %cmp4, label %for.cond1.preheader, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -77,12 +77,12 @@ entry:
%cmp4 = icmp eq i64 %n1, 0
br i1 %cmp4, label %for.cond2.preheader, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -141,12 +141,12 @@ entry:
%cmp4 = icmp eq i64 %n1, 0
br i1 %cmp4, label %for.cond1.preheader, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -203,12 +203,12 @@ entry:
%cmp4 = icmp eq i64 %n1, 0
br i1 %cmp4, label %for.cond1.preheader, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -263,12 +263,12 @@ entry:
%cmp4 = icmp eq i64 %n1, 0
br i1 %cmp4, label %for.cond1.preheader, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -324,12 +324,12 @@ entry:
%cmp4 = icmp eq i64 %n1, 0
br i1 %cmp4, label %for.cond1.preheader, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -385,12 +385,12 @@ entry:
%cmp4 = icmp eq i64 %n1, 0
br i1 %cmp4, label %for.end7, label %for.cond1.preheader.preheader
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - consistent input [S S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
; CHECK: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader

View File

@ -14,12 +14,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -59,12 +59,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -106,12 +106,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -151,12 +151,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -197,12 +197,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -242,12 +242,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -289,13 +289,13 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [*|<] splitable!
; CHECK: da analyze - split level = 1, iteration = ((0 smax (-1 + (-1 * %n))) /u 2)!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -334,12 +334,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -383,12 +383,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [<>]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body

View File

@ -17,12 +17,12 @@ entry:
for.body.preheader: ; preds = %entry
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %for.body.preheader, %for.body
%i.03 = phi i64 [ %inc, %for.body ], [ 0, %for.body.preheader ]
@ -59,13 +59,13 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [<>] splitable!
; CHECK: da analyze - split level = 1, iteration = 0!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -103,12 +103,12 @@ define void @weakcrossing2(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -138,12 +138,12 @@ define void @weakcrossing3(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -173,12 +173,12 @@ define void @weakcrossing4(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -209,12 +209,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -252,13 +252,13 @@ define void @weakcrossing6(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [<>] splitable!
; CHECK: da analyze - split level = 1, iteration = 2!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

View File

@ -13,12 +13,12 @@ define void @weakzerodst0(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [p<=|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - consistent input [S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -50,12 +50,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [p<=|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - consistent input [S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -92,12 +92,12 @@ define void @weakzerodst2(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - consistent input [S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -127,12 +127,12 @@ define void @weakzerodst3(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [=>p|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - consistent input [S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -162,12 +162,12 @@ define void @weakzerodst4(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - flow [*|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - consistent input [S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -197,12 +197,12 @@ define void @weakzerodst5(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - consistent input [S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -233,12 +233,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - consistent input [S]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body

View File

@ -13,12 +13,12 @@ define void @weakzerosrc0(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [S|<]!
; CHECK: da analyze - consistent output [S]!
; CHECK: da analyze - flow [p<=|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -50,12 +50,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [S|<]!
; CHECK: da analyze - consistent output [S]!
; CHECK: da analyze - flow [p<=|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body
@ -92,12 +92,12 @@ define void @weakzerosrc2(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [S|<]!
; CHECK: da analyze - consistent output [S]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -127,12 +127,12 @@ define void @weakzerosrc3(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [S|<]!
; CHECK: da analyze - consistent output [S]!
; CHECK: da analyze - flow [=>p|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -162,12 +162,12 @@ define void @weakzerosrc4(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [S|<]!
; CHECK: da analyze - consistent output [S]!
; CHECK: da analyze - flow [*|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -197,12 +197,12 @@ define void @weakzerosrc5(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
br label %for.body
; CHECK: da analyze - consistent output [S|<]!
; CHECK: da analyze - consistent output [S]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@ -233,12 +233,12 @@ entry:
%cmp1 = icmp eq i64 %n, 0
br i1 %cmp1, label %for.end, label %for.body.preheader
; CHECK: da analyze - consistent output [S|<]!
; CHECK: da analyze - consistent output [S]!
; CHECK: da analyze - none!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - consistent input [0]!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
; CHECK: da analyze - consistent output [0]!
for.body.preheader: ; preds = %entry
br label %for.body