mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-25 12:49:50 +00:00
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:
parent
08af6fd5fc
commit
2aabd0722d
@ -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) {
|
||||
|
@ -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}]]
|
||||
|
@ -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] }
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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() {
|
||||
|
@ -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}]]
|
||||
|
@ -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}]]
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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}]]
|
||||
|
@ -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}]]
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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}]]
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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}]]
|
||||
|
@ -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) {
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
@ -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:
|
||||
|
@ -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}]]
|
||||
|
@ -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
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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.
|
||||
|
@ -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:
|
||||
|
@ -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}]]
|
||||
|
@ -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]
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
||||
|
@ -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()
|
||||
|
||||
|
@ -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}]]
|
||||
|
@ -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
|
||||
|
@ -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}]]
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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}]]
|
||||
|
@ -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]
|
||||
|
@ -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}]]
|
||||
|
@ -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}]]
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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}]]
|
||||
|
@ -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}]]
|
||||
|
@ -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}]]
|
||||
|
@ -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}]]
|
||||
|
@ -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}]]
|
||||
|
Loading…
Reference in New Issue
Block a user