add -da-delinearize runs and checks to MIV testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201869 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sebastian Pop 2014-02-21 18:15:18 +00:00
parent 24d33a55a1
commit 4449ed2a70
2 changed files with 188 additions and 2 deletions

View File

@ -1,4 +1,5 @@
; RUN: opt < %s -analyze -basicaa -da | FileCheck %s ; RUN: opt < %s -analyze -basicaa -da -da-delinearize=false | FileCheck %s
; RUN: opt < %s -analyze -basicaa -da -da-delinearize | FileCheck %s -check-prefix=DELIN
; ModuleID = 'Banerjee.bc' ; ModuleID = 'Banerjee.bc'
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
@ -21,6 +22,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee0':
; DELIN: da analyze - none!
; DELIN: da analyze - consistent flow [0 1]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc7 for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
%i.03 = phi i64 [ 1, %entry ], [ %inc8, %for.inc7 ] %i.03 = phi i64 [ 1, %entry ], [ %inc8, %for.inc7 ]
@ -73,6 +82,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *]! ; CHECK: da analyze - output [* *]!
; DELIN: 'Dependence Analysis' for function 'banerjee1':
; DELIN: da analyze - none
; DELIN: da analyze - consistent flow [0 1]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none
; DELIN: da analyze - confused!
; DELIN: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry for.cond1.preheader.preheader: ; preds = %entry
%0 = add i64 %n, 1 %0 = add i64 %n, 1
br label %for.cond1.preheader br label %for.cond1.preheader
@ -140,6 +157,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee2':
; DELIN: da analyze - none!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc8 for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ] %i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ]
@ -191,6 +216,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee3':
; DELIN: da analyze - none!
; DELIN: da analyze - consistent flow [-9 -9]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc8 for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ] %i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ]
@ -242,6 +275,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee4':
; DELIN: da analyze - none!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc7 for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ] %i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ]
@ -293,6 +334,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee5':
; DELIN: da analyze - none!
; DELIN: da analyze - consistent flow [9 9]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc7 for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ] %i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ]
@ -344,6 +393,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee6':
; DELIN: da analyze - none!
; DELIN: da analyze - consistent flow [0 -9]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc8 for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ] %i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ]
@ -395,6 +452,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee7':
; DELIN: da analyze - none!
; DELIN: da analyze - consistent flow [-1 0]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc8 for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ] %i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ]
@ -446,6 +511,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee8':
; DELIN: da analyze - none!
; DELIN: da analyze - consistent flow [-1 -1]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc8 for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ] %i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ]
@ -497,6 +570,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee9':
; DELIN: da analyze - none!
; DELIN: da analyze - flow [<= =|<]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc8 for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc8 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ] %i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ]
@ -549,6 +630,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee10':
; DELIN: da analyze - none!
; DELIN: da analyze - flow [<> =]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc7 for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ] %i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ]
@ -600,6 +689,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee11':
; DELIN: da analyze - none!
; DELIN: da analyze - flow [<= <>]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc7 for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ] %i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ]
@ -651,6 +748,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'banerjee12':
; DELIN: da analyze - none!
; DELIN: da analyze - consistent flow [0 -11]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc7 for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ] %B.addr.04 = phi i64* [ %B, %entry ], [ %scevgep, %for.inc7 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ] %i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ]

View File

@ -1,4 +1,5 @@
; RUN: opt < %s -analyze -basicaa -da | FileCheck %s ; RUN: opt < %s -analyze -basicaa -da -da-delinearize=false | FileCheck %s
; RUN: opt < %s -analyze -basicaa -da -da-delinearize | FileCheck %s -check-prefix=DELIN
; ModuleID = 'GCD.bc' ; ModuleID = 'GCD.bc'
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
@ -22,6 +23,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'gcd0'
; DELIN: da analyze - none!
; DELIN: da analyze - flow [=> *|<]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc8 for.cond1.preheader: ; preds = %entry, %for.inc8
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc8 ] %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc8 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ] %i.03 = phi i64 [ 0, %entry ], [ %inc9, %for.inc8 ]
@ -75,6 +84,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'gcd1'
; DELIN: da analyze - none!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: 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 ]
@ -129,6 +146,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'gcd2'
; DELIN: da analyze - none!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: 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 ]
@ -183,6 +208,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'gcd3'
; DELIN: da analyze - output [* *]!
; DELIN: da analyze - flow [<> *]!
; DELIN: da analyze - confused!
; DELIN: da analyze - input [* *]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc7 for.cond1.preheader: ; preds = %entry, %for.inc7
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc7 ] %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc7 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ] %i.03 = phi i64 [ 0, %entry ], [ %inc8, %for.inc7 ]
@ -235,6 +268,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'gcd4'
; DELIN: da analyze - output [* *]!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - input [* *]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc17 for.cond1.preheader: ; preds = %entry, %for.inc17
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ] %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc18, %for.inc17 ] %i.03 = phi i64 [ 0, %entry ], [ %inc18, %for.inc17 ]
@ -297,6 +338,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - none! ; CHECK: da analyze - none!
; DELIN: 'Dependence Analysis' for function 'gcd5'
; DELIN: da analyze - output [* *]!
; DELIN: da analyze - flow [<> *]!
; DELIN: da analyze - confused!
; DELIN: da analyze - input [* *]!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
for.cond1.preheader: ; preds = %entry, %for.inc17 for.cond1.preheader: ; preds = %entry, %for.inc17
%B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ] %B.addr.04 = phi i32* [ %B, %entry ], [ %scevgep, %for.inc17 ]
%i.03 = phi i64 [ 0, %entry ], [ %inc18, %for.inc17 ] %i.03 = phi i64 [ 0, %entry ], [ %inc18, %for.inc17 ]
@ -360,6 +409,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *]! ; CHECK: da analyze - output [* *]!
; DELIN: 'Dependence Analysis' for function 'gcd6'
; DELIN: da analyze - none!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader br label %for.cond1.preheader
@ -432,6 +489,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *]! ; CHECK: da analyze - output [* *]!
; DELIN: 'Dependence Analysis' for function 'gcd7'
; DELIN: da analyze - output [* *]!
; DELIN: da analyze - flow [* *|<]!
; DELIN: da analyze - confused!
; DELIN: da analyze - input [* *]!
; DELIN: da analyze - confused!
; DELIN: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader br label %for.cond1.preheader
@ -516,6 +581,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *]! ; CHECK: da analyze - output [* *]!
; DELIN: 'Dependence Analysis' for function 'gcd8'
; DELIN: da analyze - output [* *]!
; DELIN: da analyze - none!
; DELIN: da analyze - confused!
; DELIN: da analyze - input [* *]!
; DELIN: da analyze - confused!
; DELIN: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader br label %for.cond1.preheader
@ -595,6 +668,14 @@ entry:
; CHECK: da analyze - confused! ; CHECK: da analyze - confused!
; CHECK: da analyze - output [* *]! ; CHECK: da analyze - output [* *]!
; DELIN: 'Dependence Analysis' for function 'gcd9'
; DELIN: da analyze - output [* *]!
; DELIN: da analyze - flow [* *|<]!
; DELIN: da analyze - confused!
; DELIN: da analyze - input [* *]!
; DELIN: da analyze - confused!
; DELIN: da analyze - output [* *]!
for.cond1.preheader.preheader: ; preds = %entry for.cond1.preheader.preheader: ; preds = %entry
br label %for.cond1.preheader br label %for.cond1.preheader