Corrects a problem where we reply exclusively of GEPs to drive

analysis.  Better is to look for cases with useful GEPs and use them
when possible.  When a pair of useful GEPs is not available, use the
raw SCEVs directly. This approach supports better analysis of pointer
dereferencing.

In parallel, all the test cases are updated appropriately.
Cases where we have a store to *B++ can now be analyzed!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168474 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Preston Briggs
2012-11-21 23:50:04 +00:00
parent 198ad916d7
commit 72a2c0622a
16 changed files with 295 additions and 211 deletions

View File

@@ -19,7 +19,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -70,7 +70,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
for.cond1.preheader.preheader: ; preds = %entry
%0 = add i64 %n, 1
@@ -136,7 +136,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -186,7 +186,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -236,7 +236,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -286,7 +286,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -336,7 +336,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -386,7 +386,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -436,7 +436,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -486,7 +486,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -537,7 +537,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -587,7 +587,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -637,7 +637,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [= =|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]

View File

@@ -18,7 +18,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -54,7 +54,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -90,7 +90,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -128,7 +128,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -166,7 +166,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -205,7 +205,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -246,7 +246,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -282,7 +282,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -318,7 +318,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -355,7 +355,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -393,7 +393,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -431,7 +431,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -469,7 +469,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -506,7 +506,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -543,7 +543,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -580,7 +580,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

View File

@@ -19,7 +19,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -67,7 +67,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -113,7 +113,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -159,7 +159,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -205,7 +205,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -251,7 +251,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -298,7 +298,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -345,7 +345,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -392,7 +392,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -439,7 +439,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc5
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@@ -488,7 +488,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc5
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@@ -536,7 +536,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc5
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]
@@ -584,7 +584,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc5
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc5 ]

View File

@@ -18,7 +18,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -55,7 +55,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -93,7 +93,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -129,7 +129,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -165,7 +165,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -201,7 +201,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -237,7 +237,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -273,7 +273,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -309,7 +309,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -345,7 +345,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -381,7 +381,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -417,7 +417,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -453,7 +453,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -489,7 +489,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

View File

@@ -19,7 +19,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -71,7 +71,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc9
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@@ -124,7 +124,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc9
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@@ -177,7 +177,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc7 ]
@@ -228,7 +228,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc17
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ]
@@ -289,7 +289,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc17
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ]
@@ -351,7 +351,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@@ -422,7 +422,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@@ -505,7 +505,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@@ -583,7 +583,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [* *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader

View File

@@ -13,7 +13,7 @@ define i32 @p0(i32 %n, i32* %A, i32* %B) nounwind uwtable ssp {
entry:
store i32 %n, i32* %A, align 4
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input!
@@ -31,7 +31,7 @@ define i32 @p1(i32 %n, i32* noalias %A, i32* noalias %B) nounwind uwtable ssp {
entry:
store i32 %n, i32* %A, align 4
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
; CHECK: da analyze - none!
; CHECK: da analyze - consistent input!
@@ -59,7 +59,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* * *|<]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@@ -168,7 +168,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 S 0 0 S 0 S S S S 0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* * * * * * * * * * * *|<]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader
@@ -430,7 +430,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -476,7 +476,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -522,7 +522,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -564,7 +564,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
store i32 0, i32* %arrayidx, align 4
%conv = sext i8 %n to i64
@@ -591,7 +591,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
%conv = sext i16 %n to i64
%add = add i64 %conv, 1
@@ -617,7 +617,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
%add = add nsw i32 %n, 1
%idxprom1 = sext i32 %add to i64
@@ -643,7 +643,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
%add = add i32 %n, 1
%idxprom1 = zext i32 %add to i64
@@ -652,3 +652,48 @@ entry:
store i32 %0, i32* %B, align 4
ret void
}
;;typedef struct { int v; } S;
;;
;;void f(S *s, unsigned size) {
;; S *i = s, *e = s + size - 1;
;; while (i != e) {
;; *i = *(i + 1);
;; ++i;
%struct.S = type { i32 }
define void @f(%struct.S* %s, i32 %size) nounwind uwtable ssp {
entry:
%idx.ext = zext i32 %size to i64
%add.ptr.sum = add i64 %idx.ext, -1
%add.ptr1 = getelementptr inbounds %struct.S* %s, i64 %add.ptr.sum
%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 anti [1]!
; CHECK: da analyze - consistent output [0|<]!
while.body.preheader: ; preds = %entry
br label %while.body
while.body: ; preds = %while.body.preheader, %while.body
%i.02 = phi %struct.S* [ %incdec.ptr, %while.body ], [ %s, %while.body.preheader ]
%0 = getelementptr inbounds %struct.S* %i.02, i64 1, i32 0
%1 = load i32* %0, align 4
%2 = getelementptr inbounds %struct.S* %i.02, i64 0, i32 0
store i32 %1, i32* %2, align 4
%incdec.ptr = getelementptr inbounds %struct.S* %i.02, i64 1
%cmp = icmp eq %struct.S* %incdec.ptr, %add.ptr1
br i1 %cmp, label %while.end.loopexit, label %while.body
while.end.loopexit: ; preds = %while.body
br label %while.end
while.end: ; preds = %while.end.loopexit, %entry
ret void
}
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind

View File

@@ -19,7 +19,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc9
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@@ -69,7 +69,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc18
%B.addr.06 = phi i32* [ %B, %entry ], [ %scevgep7, %for.inc18 ]
@@ -131,7 +131,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc8 ]
@@ -181,7 +181,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc9
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ]
@@ -232,7 +232,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc11
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc11 ]
@@ -285,7 +285,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc13
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc13 ]
@@ -338,7 +338,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc12
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc12 ]
@@ -392,7 +392,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc14
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc14 ]
@@ -447,7 +447,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc10
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ]
@@ -498,7 +498,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc10
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ]

View File

@@ -21,7 +21,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [0 * S *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = = =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc22
%B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc22 ]
@@ -96,7 +96,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [0 * S *|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = = =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc22
%B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc22 ]
@@ -170,7 +170,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [0 * * 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = = =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc26
%B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc26 ]
@@ -244,7 +244,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - input [0 * * 0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [= = = =|<]!
for.cond1.preheader: ; preds = %entry, %for.inc27
%B.addr.08 = phi i32* [ %B, %entry ], [ %scevgep11, %for.inc27 ]

View File

@@ -19,7 +19,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -61,7 +61,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
%0 = sext i32 %n to i64
@@ -104,7 +104,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -146,7 +146,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -188,7 +188,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -223,7 +223,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -258,7 +258,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -295,7 +295,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -332,7 +332,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -368,7 +368,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -411,7 +411,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

View File

@@ -20,7 +20,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -82,7 +82,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -146,7 +146,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -208,7 +208,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -268,7 +268,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -329,7 +329,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -390,7 +390,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *|<]!
for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader

View File

@@ -19,7 +19,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -64,7 +64,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -111,7 +111,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -156,7 +156,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -202,7 +202,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -247,7 +247,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -295,7 +295,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -339,7 +339,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -388,7 +388,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body

View File

@@ -22,7 +22,7 @@ for.body.preheader: ; preds = %entry
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; 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 ]
@@ -65,7 +65,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -108,7 +108,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -143,7 +143,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -178,7 +178,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -214,7 +214,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -258,7 +258,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]

View File

@@ -18,7 +18,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -55,7 +55,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -97,7 +97,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -132,7 +132,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -167,7 +167,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -202,7 +202,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -238,7 +238,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [S|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body

View File

@@ -18,7 +18,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -55,7 +55,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body
@@ -97,7 +97,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -132,7 +132,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -167,7 +167,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -202,7 +202,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body: ; preds = %entry, %for.body
%i.02 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
@@ -238,7 +238,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input [0|<]!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output [0|<]!
for.body.preheader: ; preds = %entry
br label %for.body

View File

@@ -19,7 +19,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
%add1 = add i64 %n, 1
%arrayidx2 = getelementptr inbounds i32* %A, i64 %add1
@@ -42,7 +42,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
%add = add i64 %n, 1
%arrayidx1 = getelementptr inbounds i32* %A, i64 %add
@@ -65,7 +65,7 @@ entry:
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent input!
; CHECK: da analyze - confused!
; CHECK: da analyze - confused!
; CHECK: da analyze - consistent output!
%arrayidx1 = getelementptr inbounds i32* %A, i64 %m
%0 = load i32* %arrayidx1, align 4