For PR1319:

Upgrade to use new Tcl exec based test harness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36062 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2007-04-15 08:30:33 +00:00
parent 08af6fd5fc
commit 2aabd0722d
54 changed files with 114 additions and 87 deletions

View File

@ -1,4 +1,4 @@
; RUN: llvm-as < %s | opt -deadargelim | llvm-dis | grep '@test(' &&
; RUN: llvm-as < %s | opt -deadargelim | llvm-dis | grep {@test(}
; RUN: llvm-as < %s | opt -deadargelim | llvm-dis | not grep dead
define internal i32 @test(i32 %X, i32 %dead) {

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,4 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -dse -scalarrepl -instcombine | llvm-dis | not grep 'ret int undef'
; RUN: llvm-upgrade < %s | llvm-as | opt -dse -scalarrepl -instcombine | \
; RUN: llvm-dis | not grep {ret int undef}
int %test(double %__x) {
%__u = alloca { [3 x int] }

View File

@ -1,4 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep 'store i32 1234567'
; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | \
; RUN: grep {store i32 1234567}
; Do not delete stores that are only partially killed.

View File

@ -1,4 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep 'store sbyte'
; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | \
; RUN: not grep {store sbyte}
; Ensure that the dead store is deleted in this case. It is wholely
; overwritten by the second store.
int %test() {

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,7 +1,8 @@
; This entire chain of computation should be optimized away, but
; wasn't because the two multiplies were not detected as being identical.
;
; RUN: llvm-as < %s | opt -gcse -instcombine -dce | llvm-dis | not grep sub
; RUN: llvm-upgrade < %s | llvm-as | opt -gcse -instcombine -dce | \
; RUN: llvm-dis | not grep sub
implementation ; Functions:

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,4 +1,6 @@
; RUN: llvm-as < %s | opt -instcombine -globalopt | llvm-dis | grep 'internal fastcc float @foo'
; RUN: llvm-as < %s | opt -instcombine -globalopt | llvm-dis | \
; RUN: grep {internal fastcc float @foo}
define internal float @foo() {
ret float 0.000000e+00
}

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,5 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -instcombine | \
; RUN: llvm-dis | grep 'ret i1 true'
; RUN: llvm-dis | grep {ret i1 true}
;; check that global opt turns integers that only hold 0 or 1 into bools.

View File

@ -1,5 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | \
; RUN: grep 'G1 = internal constant'
; RUN: grep {G1 = internal constant}
%G1 = internal global [58 x sbyte] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00"

View File

@ -1,20 +1,22 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep internal
; both globals are write only, delete them.
; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | \
; RUN: not grep internal
%G0 = internal global [58 x sbyte] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00"
%G1 = internal global [4 x int] [ int 1, int 2, int 3, int 4]
implementation ; Functions:
declare void %llvm.memcpy(sbyte*, sbyte*, uint, uint)
declare void %llvm.memset(sbyte*, ubyte, uint, uint)
declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint)
declare void %llvm.memset.i32(sbyte*, ubyte, uint, uint)
void %foo() {
%Blah = alloca [58 x sbyte] ; <[58 x sbyte]*> [#uses=2]
%tmp3 = cast [58 x sbyte]* %Blah to sbyte*
call void %llvm.memcpy( sbyte* cast ([4 x int]* %G1 to sbyte*), sbyte* %tmp3, uint 16, uint 1)
call void %llvm.memset( sbyte* getelementptr ([58 x sbyte]* %G0, int 0, int 0), uint 17, uint 58, uint 1)
call void %llvm.memcpy.i32( sbyte* cast ([4 x int]* %G1 to sbyte*), sbyte* %tmp3, uint 16, uint 1)
call void %llvm.memset.i32( sbyte* getelementptr ([58 x sbyte]* %G0, int 0, int 0), uint 17, uint 58, uint 1)
ret void
}

View File

@ -1,4 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | grep 'call void @Actual'
; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | \
; RUN: grep {call void @Actual}
; Check that a comparison does not prevent an indirect call from being made
; direct. The global will still remain, but indirect call elim is still good.

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,5 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -ipconstprop -instcombine | \
; RUN: llvm-dis | grep 'ret i1 true'
; RUN: llvm-dis | grep {ret i1 true}
implementation
internal int %foo(bool %C) {

View File

@ -1,4 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep 'ret i32 152'
; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | \
; RUN: grep {ret i32 152}
int %main() {
entry:

View File

@ -1,7 +1,8 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep 'ret i32 27'
; PR726
; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | \
; RUN: grep {ret i32 27}
; Make sure to compute the right exit value based on negative strides.
; PR726
int %test() {
entry:

View File

@ -1,6 +1,5 @@
; RUN: llvm-as < %s | opt -indvars -disable-output &&
; RUN: llvm-as < %s | opt -indvars | llvm-dis | not grep 'ret i32 0'
; PR1015
; RUN: llvm-as < %s | opt -indvars | llvm-dis | not grep {ret i32 0}
target datalayout = "e-p:32:32"
target triple = "i686-apple-darwin8"

View File

@ -1,5 +1,5 @@
; RUN: llvm-as < %s | llc -march=x86-64 | grep '(%rdi,%rax,8)' &&
; RUN: llvm-as < %s | llc -march=x86-64 | not grep 'addq.*8'
; RUN: llvm-as < %s | llc -march=x86-64 | grep {(%rdi,%rax,8)}
; RUN: llvm-as < %s | llc -march=x86-64 | not grep {addq.*8}
define void @foo(double* %y) {
entry:

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -2,7 +2,8 @@
; these loops all have predictable exit values we can replace the use outside
; of the loop with a closed-form computation, making the loop dead.
;
; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | not grep br
; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | \
; RUN: llvm-dis | not grep br
int %polynomial_constant() {
br label %Loop

View File

@ -1,4 +1,4 @@
; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep 'ret i32 600000'
; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep {ret i32 600000}
; PR1179
define i32 @foo() {

View File

@ -1,4 +1,4 @@
; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep 'ret i32 9900'
; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep {ret i32 9900}
; PR1179
define i32 @test4() {

View File

@ -1,4 +1,6 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -instcombine | llvm-dis | grep 'store i32 0'
; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -instcombine | llvm-dis | \
; RUN: grep {store i32 0}
; END.
; Test that -indvars can reduce variable stride IVs. If it can reduce variable
; stride iv's, it will make %iv. and %m.0.0 isomorphic to each other without
; cycles, allowing the tmp.21 subtraction to be eliminated.

View File

@ -1,4 +1,4 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | grep 'ret i32 1'
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | grep {ret i32 1}
; ModuleID = 'short.opt.bc'
implementation ; Functions:

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,9 +1,10 @@
; Test that the inliner doesn't leave around dead allocas, and that it folds
; uncond branches away after it is done specializing.
; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output &&
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep 'alloca.*uses=0' &&
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep 'br label'
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
; RUN: not grep {alloca.*uses=0}
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
; RUN: not grep {br label}
%A = weak global int 0 ; <int*> [#uses=1]
%B = weak global int 0 ; <int*> [#uses=1]

View File

@ -1,5 +1,4 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output &&
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep callee &&
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep callee
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep div
implementation

View File

@ -1,7 +1,8 @@
; This checks to ensure that the inline pass deletes functions if they get
; inlined into all of their callers.
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep %reallysmall
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
; RUN: not grep %reallysmall
implementation

View File

@ -1,5 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output &&
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep 'callee[12](' &&
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
; RUN: not grep {callee\[12\](}
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep mul
implementation

View File

@ -1,7 +1,8 @@
; Test that we can inline a simple function, turning the calls in it into invoke
; instructions
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep 'call[^e]'
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
; RUN: not grep {call\[^e\]}
declare void %might_throw()

View File

@ -1,7 +1,8 @@
; Test that if an invoked function is inlined, and if that function cannot
; throw, that the dead handler is now unreachable.
; RUN: llvm-upgrade < %s | llvm-as | opt -inline -simplifycfg | llvm-dis | not grep UnreachableExceptionHandler
; RUN: llvm-upgrade < %s | llvm-as | opt -inline -simplifycfg | llvm-dis | \
; RUN: not grep UnreachableExceptionHandler
declare void %might_throw()

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -3,7 +3,8 @@
; happens because preheader insertion doesn't insert a preheader for this
; case... bad.
; RUN: llvm-upgrade < %s | llvm-as | opt -licm -adce -simplifycfg | llvm-dis | not grep 'br '
; RUN: llvm-upgrade < %s | llvm-as | opt -licm -adce -simplifycfg | llvm-dis | \
; RUN: not grep {br }
int %main(int %argc) {
br label %bb5

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -3,7 +3,8 @@
; instructions from the loop. Instead they got hoisted, which is better than
; leaving them in the loop, but increases register pressure pointlessly.
; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext getelementptr 1 | grep Out:
; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | \
; RUN: %prcontext getelementptr 1 | grep Out:
%Ty = type { int, int }
%X = external global %Ty

View File

@ -1,7 +1,8 @@
; This testcase ensures that we can sink instructions from loops with
; multiple exits.
;
; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext mul 1 | grep 'Out[12]:'
; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | \
; RUN: %prcontext mul 1 | grep {Out\[12\]:}
int %test(int %N, bool %C) {
Entry:

View File

@ -2,7 +2,8 @@
; some exits out of the loop, and that we can do so without breaking dominator
; info.
;
; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext add 1 | grep exit2:
; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | \
; RUN: %prcontext add 1 | grep exit2:
implementation ; Functions:

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,4 +1,7 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -std-compile-opts | llvm-dis | %prcontext strstr 2 | grep -v declare |grep "bb36.outer:"
; RUN: llvm-upgrade < %s | llvm-as | opt -std-compile-opts | llvm-dis | \
; RUN: %prcontext strstr 2 | grep -v declare | grep bb36.outer:
; END.
@str = internal constant [68 x i8] c"Dot. date. datum. 123. Some more doubtful demonstration dummy data.\00" ; <[68 x i8]*> [#uses=1]
@str1 = internal constant [5 x i8] c"ummy\00" ; <[5 x i8]*> [#uses=1]
@str2 = internal constant [6 x i8] c" data\00" ; <[6 x i8]*> [#uses=1]

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,4 +1,6 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep 'cast uint 1 to uint'
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \
; RUN: not grep {cast uint 1 to uint}
; END.
; The setlt wants to use a value that is incremented one more than the dominant
; IV. Don't insert the 1 outside the loop, preventing folding it into the add.

View File

@ -3,7 +3,7 @@
; instruction immediately before the conditional branch.
;
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \
; RUN: %prcontext 'br i1' 1 | grep icmp
; RUN: %prcontext {br i1} 1 | grep icmp
void %foo(float* %D, uint %E) {
entry:

View File

@ -1,4 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep 'add i32 %iv.*inc, 1'
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \
; RUN: grep {add i32 %iv.*inc, 1}
;
; Make sure that the use of the IV outside of the loop (the store) uses the
; post incremented value of the IV, not the preincremented value. This

View File

@ -1,10 +1,11 @@
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis &&
; Base should not be i*3, it should be i*2.
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep 'mul.*%i, 3' &&
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \
; RUN: not grep {mul.*%i, 3}
; Indvar should not start at zero:
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep 'phi uint .* 0'
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \
; RUN: not grep {phi uint .* 0}
; END.
; mul uint %i, 3

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp
load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]