Changeset View
Changeset View
Standalone View
Standalone View
test/Analysis/DependenceAnalysis/Propagating.ll
Show First 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | |||||
;; A[j - i][i + 1][j + k] = i; | ;; A[j - i][i + 1][j + k] = i; | ||||
;; *B++ = A[j - i][i][j + k]; | ;; *B++ = A[j - i][i][j + k]; | ||||
define void @prop1([100 x [100 x i32]]* %A, i32* %B, i32 %n) nounwind uwtable ssp { | define void @prop1([100 x [100 x i32]]* %A, i32* %B, i32 %n) nounwind uwtable ssp { | ||||
entry: | entry: | ||||
br label %for.cond1.preheader | br label %for.cond1.preheader | ||||
; CHECK-LABEL: prop1 | ; CHECK-LABEL: prop1 | ||||
; CHECK: da analyze - output [* * *]! | ; CHECK: da analyze - none! | ||||
; CHECK: da analyze - flow [<> <> *]! | ; CHECK: da analyze - flow [<> <> *]! | ||||
; CHECK: da analyze - confused! | ; CHECK: da analyze - confused! | ||||
; CHECK: da analyze - input [* * *]! | ; CHECK: da analyze - none! | ||||
; CHECK: da analyze - confused! | ; CHECK: da analyze - confused! | ||||
; CHECK: da analyze - none! | ; CHECK: da analyze - none! | ||||
for.cond1.preheader: ; preds = %entry, %for.inc18 | for.cond1.preheader: ; preds = %entry, %for.inc18 | ||||
%B.addr.06 = phi i32* [ %B, %entry ], [ %scevgep7, %for.inc18 ] | %B.addr.06 = phi i32* [ %B, %entry ], [ %scevgep7, %for.inc18 ] | ||||
%i.05 = phi i64 [ 0, %entry ], [ %inc19, %for.inc18 ] | %i.05 = phi i64 [ 0, %entry ], [ %inc19, %for.inc18 ] | ||||
br label %for.cond4.preheader | br label %for.cond4.preheader | ||||
▲ Show 20 Lines • Show All 94 Lines • ▼ Show 20 Lines | |||||
;; A[i][2*j + i] = i; | ;; A[i][2*j + i] = i; | ||||
;; *B++ = A[i][2*j - i + 5]; | ;; *B++ = A[i][2*j - i + 5]; | ||||
define void @prop3([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp { | define void @prop3([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp { | ||||
entry: | entry: | ||||
br label %for.cond1.preheader | br label %for.cond1.preheader | ||||
; CHECK-LABEL: prop3 | ; CHECK-LABEL: prop3 | ||||
; CHECK: da analyze - output [* *]! | ; CHECK: da analyze - none! | ||||
; CHECK: da analyze - flow [<> *]! | ; CHECK: da analyze - flow [<> *]! | ||||
; CHECK: da analyze - confused! | ; CHECK: da analyze - confused! | ||||
; CHECK: da analyze - input [* *]! | ; CHECK: da analyze - none! | ||||
; CHECK: da analyze - confused! | ; CHECK: da analyze - confused! | ||||
; CHECK: da analyze - none! | ; CHECK: da analyze - none! | ||||
for.cond1.preheader: ; preds = %entry, %for.inc9 | for.cond1.preheader: ; preds = %entry, %for.inc9 | ||||
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ] | %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc9 ] | ||||
%i.03 = phi i64 [ 0, %entry ], [ %inc10, %for.inc9 ] | %i.03 = phi i64 [ 0, %entry ], [ %inc10, %for.inc9 ] | ||||
br label %for.body3 | br label %for.body3 | ||||
▲ Show 20 Lines • Show All 249 Lines • ▼ Show 20 Lines | |||||
;; A[4][j + 2] = i; | ;; A[4][j + 2] = i; | ||||
;; *B++ = A[-2*i + 4][5*i + j]; | ;; *B++ = A[-2*i + 4][5*i + j]; | ||||
define void @prop8([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp { | define void @prop8([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp { | ||||
entry: | entry: | ||||
br label %for.cond1.preheader | br label %for.cond1.preheader | ||||
; CHECK-LABEL: prop8 | ; CHECK-LABEL: prop8 | ||||
; CHECK: da analyze - consistent output [S 0]! | ; CHECK: da analyze - none! | ||||
; CHECK: da analyze - flow [=> <]! | ; CHECK: da analyze - flow [=> <]! | ||||
; CHECK: da analyze - confused! | ; CHECK: da analyze - confused! | ||||
; CHECK: da analyze - none! | ; CHECK: da analyze - none! | ||||
; CHECK: da analyze - confused! | ; CHECK: da analyze - confused! | ||||
; CHECK: da analyze - none! | ; CHECK: da analyze - none! | ||||
for.cond1.preheader: ; preds = %entry, %for.inc10 | for.cond1.preheader: ; preds = %entry, %for.inc10 | ||||
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ] | %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ] | ||||
Show All 38 Lines | |||||
define void @prop9([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp { | define void @prop9([100 x i32]* %A, i32* %B, i32 %n) nounwind uwtable ssp { | ||||
entry: | entry: | ||||
br label %for.cond1.preheader | br label %for.cond1.preheader | ||||
; CHECK-LABEL: prop9 | ; CHECK-LABEL: prop9 | ||||
; CHECK: da analyze - none! | ; CHECK: da analyze - none! | ||||
; CHECK: da analyze - flow [<= <]! | ; CHECK: da analyze - flow [<= <]! | ||||
; CHECK: da analyze - confused! | ; CHECK: da analyze - confused! | ||||
; CHECK: da analyze - consistent input [S 0]! | ; CHECK: da analyze - none! | ||||
; CHECK: da analyze - confused! | ; CHECK: da analyze - confused! | ||||
; CHECK: da analyze - none! | ; CHECK: da analyze - none! | ||||
for.cond1.preheader: ; preds = %entry, %for.inc10 | for.cond1.preheader: ; preds = %entry, %for.inc10 | ||||
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ] | %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc10 ] | ||||
%i.03 = phi i64 [ 0, %entry ], [ %inc11, %for.inc10 ] | %i.03 = phi i64 [ 0, %entry ], [ %inc11, %for.inc10 ] | ||||
br label %for.body3 | br label %for.body3 | ||||
Show All 28 Lines |