diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-04-15 09:21:47 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-04-15 09:21:47 +0000 |
commit | 9aafdcf20dee238d0e7f14d6723f5a401431fe91 (patch) | |
tree | 735b69193ec0ace1b26a3b334098b672c1606bd1 /test/Transforms/SCCP | |
parent | e9bbaa2293121f505f4ba62b1b919d4174d9c91a (diff) |
For PR1319:
Upgrade to use new Tcl exec based test harness. This exposes 3 bugs that
were previously not being reported:
test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll
test/Transforms/GlobalOpt/memset.ll
test/Transforms/IndVarsSimplify/exit_value_tests.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36065 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/SCCP')
29 files changed, 29 insertions, 37 deletions
diff --git a/test/Transforms/SCCP/2002-05-21-InvalidSimplify.ll b/test/Transforms/SCCP/2002-05-21-InvalidSimplify.ll index c31a421d0e..231bdb95cd 100644 --- a/test/Transforms/SCCP/2002-05-21-InvalidSimplify.ll +++ b/test/Transforms/SCCP/2002-05-21-InvalidSimplify.ll @@ -2,7 +2,8 @@ ; this is in fact NOT the case, so the return should still be alive in the code ; after sccp and CFG simplification have been performed. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -simplifycfg | llvm-dis | grep ret +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -simplifycfg | llvm-dis | \ +; RUN: grep ret void "old_main"() { diff --git a/test/Transforms/SCCP/2002-08-30-GetElementPtrTest.ll b/test/Transforms/SCCP/2002-08-30-GetElementPtrTest.ll index dad9c7e70d..1577685717 100644 --- a/test/Transforms/SCCP/2002-08-30-GetElementPtrTest.ll +++ b/test/Transforms/SCCP/2002-08-30-GetElementPtrTest.ll @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep '%X' +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep %X %G = uninitialized global [40x int] diff --git a/test/Transforms/SCCP/2003-06-24-OverdefinedPHIValue.ll b/test/Transforms/SCCP/2003-06-24-OverdefinedPHIValue.ll index bf33950e34..fd4713a31e 100644 --- a/test/Transforms/SCCP/2003-06-24-OverdefinedPHIValue.ll +++ b/test/Transforms/SCCP/2003-06-24-OverdefinedPHIValue.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -simplifycfg | llvm-dis | not grep then: +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -simplifycfg | llvm-dis | \ +; RUN: not grep then: void %cprop_test11(int* %data.1) { entry: ; No predecessors! diff --git a/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll b/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll index 52cda01e16..c662e0f711 100644 --- a/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll +++ b/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep 'ret i32 1' +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep {ret i32 1} ; This function definitely returns 1, even if we don't know the direction ; of the branch. diff --git a/test/Transforms/SCCP/2006-12-04-PackedType.ll b/test/Transforms/SCCP/2006-12-04-PackedType.ll index 579276cbd6..4868c30783 100644 --- a/test/Transforms/SCCP/2006-12-04-PackedType.ll +++ b/test/Transforms/SCCP/2006-12-04-PackedType.ll @@ -2,6 +2,7 @@ ; SCCP ignores VectorTypes until PR 1034 is fixed ; ; RUN: llvm-upgrade < %s | llvm-as | opt -sccp +; END. target datalayout = "E-p:32:32" target endian = big target pointersize = 32 diff --git a/test/Transforms/SCCP/2006-12-19-UndefBug.ll b/test/Transforms/SCCP/2006-12-19-UndefBug.ll index e991818b6c..3cc61f716b 100644 --- a/test/Transforms/SCCP/2006-12-19-UndefBug.ll +++ b/test/Transforms/SCCP/2006-12-19-UndefBug.ll @@ -1,5 +1,5 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | \ -; RUN: grep 'ret i1 false' +; RUN: grep {ret i1 false} bool %foo() { %X = and bool false, undef diff --git a/test/Transforms/SCCP/apint-array.ll b/test/Transforms/SCCP/apint-array.ll index b9fe68cb6e..ead3f6ab9a 100644 --- a/test/Transforms/SCCP/apint-array.ll +++ b/test/Transforms/SCCP/apint-array.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep 'ret i101 12' +; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep {ret i101 12} @Y = constant [6 x i101] [ i101 12, i101 123456789000000, i101 -12,i101 -123456789000000, i101 0,i101 9123456789000000] diff --git a/test/Transforms/SCCP/apint-basictest.ll b/test/Transforms/SCCP/apint-basictest.ll index eaffc1daa3..12f8326a73 100644 --- a/test/Transforms/SCCP/apint-basictest.ll +++ b/test/Transforms/SCCP/apint-basictest.ll @@ -1,7 +1,6 @@ ; This is a basic sanity check for constant propogation. The add instruction ; should be eliminated. -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep add define i128 @test(i1 %B) { diff --git a/test/Transforms/SCCP/apint-basictest2.ll b/test/Transforms/SCCP/apint-basictest2.ll index 7b6890b90b..7db4e362eb 100644 --- a/test/Transforms/SCCP/apint-basictest2.ll +++ b/test/Transforms/SCCP/apint-basictest2.ll @@ -1,7 +1,6 @@ ; This is a basic sanity check for constant propogation. The add instruction ; and phi instruction should be eliminated. -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep phi ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep add diff --git a/test/Transforms/SCCP/apint-basictest3.ll b/test/Transforms/SCCP/apint-basictest3.ll index 144f646fe0..6e86764bf2 100644 --- a/test/Transforms/SCCP/apint-basictest3.ll +++ b/test/Transforms/SCCP/apint-basictest3.ll @@ -2,7 +2,6 @@ ; arithmatic operations. -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep mul ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep umod @@ -16,7 +15,7 @@ BB1: BB2: %f1 = udiv i128 -1, 1 %f2 = add i128 %f1, 1 - %f3 = umod i128 %f2, 2121 + %f3 = urem i128 %f2, 2121 br label %BB3 BB3: %Ret = phi i128 [%t3, %BB1], [%f3, %BB2] diff --git a/test/Transforms/SCCP/apint-basictest4.ll b/test/Transforms/SCCP/apint-basictest4.ll index e6139c5e09..a90bd7d731 100644 --- a/test/Transforms/SCCP/apint-basictest4.ll +++ b/test/Transforms/SCCP/apint-basictest4.ll @@ -2,10 +2,9 @@ ; logic operations. -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep and ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep trunc -; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep "ret i100 -1" +; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep {ret i100 -1} define i100 @test(i133 %A) { %B = and i133 0, %A diff --git a/test/Transforms/SCCP/apint-bigarray.ll b/test/Transforms/SCCP/apint-bigarray.ll index b7c6d99586..5cd1107a7a 100644 --- a/test/Transforms/SCCP/apint-bigarray.ll +++ b/test/Transforms/SCCP/apint-bigarray.ll @@ -1,5 +1,4 @@ -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && -; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep '%X' +; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep %X @G = global [1000000 x i10000] zeroinitializer diff --git a/test/Transforms/SCCP/apint-bigint.ll b/test/Transforms/SCCP/apint-bigint.ll index 163138c6c1..ebb0d0760f 100644 --- a/test/Transforms/SCCP/apint-bigint.ll +++ b/test/Transforms/SCCP/apint-bigint.ll @@ -1,4 +1,3 @@ -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep xor define i11129 @test1() { diff --git a/test/Transforms/SCCP/apint-bigint2.ll b/test/Transforms/SCCP/apint-bigint2.ll index 73d3b546ff..e95e9d0abb 100644 --- a/test/Transforms/SCCP/apint-bigint2.ll +++ b/test/Transforms/SCCP/apint-bigint2.ll @@ -1,4 +1,3 @@ -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep load @Y = constant [6 x i101] [ i101 12, i101 123456789000000, i101 -12, diff --git a/test/Transforms/SCCP/apint-ipsccp1.ll b/test/Transforms/SCCP/apint-ipsccp1.ll index 348725e905..59cfa3f7a2 100644 --- a/test/Transforms/SCCP/apint-ipsccp1.ll +++ b/test/Transforms/SCCP/apint-ipsccp1.ll @@ -1,4 +1,5 @@ -; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep -v 'ret i512 undef' | grep 'ret i8 2' +; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep -v {ret i512 undef} | \ +; RUN: grep {ret i8 2} define internal i512 @test(i1 %B) { br i1 %B, label %BB1, label %BB2 diff --git a/test/Transforms/SCCP/apint-ipsccp2.ll b/test/Transforms/SCCP/apint-ipsccp2.ll index 77fb696825..65e5ee7e89 100644 --- a/test/Transforms/SCCP/apint-ipsccp2.ll +++ b/test/Transforms/SCCP/apint-ipsccp2.ll @@ -1,7 +1,5 @@ -; RUN: llvm-as < %s | opt -ipsccp | llvm-dis -o /dev/null -f && -; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep -v 'ret i101 0' | \ -; RUN: grep -v 'ret i101 undef' | not grep ret - +; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep -v {ret i101 0} | \ +; RUN: grep -v {ret i101 undef} | not grep ret define internal i101 @bar(i101 %A) { diff --git a/test/Transforms/SCCP/apint-ipsccp3.ll b/test/Transforms/SCCP/apint-ipsccp3.ll index eef5fa83c9..c07a54f8f6 100644 --- a/test/Transforms/SCCP/apint-ipsccp3.ll +++ b/test/Transforms/SCCP/apint-ipsccp3.ll @@ -1,4 +1,3 @@ -; RUN: llvm-as < %s | opt -ipsccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep global @G = internal global i66 undef diff --git a/test/Transforms/SCCP/apint-ipsccp4.ll b/test/Transforms/SCCP/apint-ipsccp4.ll index 67d99e4c34..de355d1d50 100644 --- a/test/Transforms/SCCP/apint-ipsccp4.ll +++ b/test/Transforms/SCCP/apint-ipsccp4.ll @@ -1,7 +1,5 @@ ; This test makes sure that these instructions are properly constant propagated. -; -; RUN: llvm-as < %s | opt -ipsccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep load ; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep add ; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep phi diff --git a/test/Transforms/SCCP/apint-load.ll b/test/Transforms/SCCP/apint-load.ll index b943236205..b353a0b09a 100644 --- a/test/Transforms/SCCP/apint-load.ll +++ b/test/Transforms/SCCP/apint-load.ll @@ -1,7 +1,5 @@ ; This test makes sure that these instructions are properly constant propagated. -; -; RUN: llvm-as < %s | opt -ipsccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep load ; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | not grep fdiv diff --git a/test/Transforms/SCCP/apint-phi.ll b/test/Transforms/SCCP/apint-phi.ll index 899d8a92ba..77f6bc8692 100644 --- a/test/Transforms/SCCP/apint-phi.ll +++ b/test/Transforms/SCCP/apint-phi.ll @@ -1,4 +1,3 @@ -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep phi define i999 @test(i999%A, i1 %c) { diff --git a/test/Transforms/SCCP/apint-select.ll b/test/Transforms/SCCP/apint-select.ll index 25c39ceeab..c856896be9 100644 --- a/test/Transforms/SCCP/apint-select.ll +++ b/test/Transforms/SCCP/apint-select.ll @@ -1,4 +1,3 @@ -; RUN: llvm-as < %s | opt -sccp | llvm-dis -o /dev/null -f && ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep select @A = constant i32 10 diff --git a/test/Transforms/SCCP/calltest.ll b/test/Transforms/SCCP/calltest.ll index 2e46b69183..43df00c694 100644 --- a/test/Transforms/SCCP/calltest.ll +++ b/test/Transforms/SCCP/calltest.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -adce -simplifycfg | llvm-dis | not grep br +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -adce -simplifycfg | llvm-dis | \ +; RUN: not grep br ; No matter how hard you try, sqrt(1.0) is always 1.0. This allows the ; optimizer to delete this loop. diff --git a/test/Transforms/SCCP/dg.exp b/test/Transforms/SCCP/dg.exp index ff34508c3c..879685ca87 100644 --- a/test/Transforms/SCCP/dg.exp +++ b/test/Transforms/SCCP/dg.exp @@ -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}]] diff --git a/test/Transforms/SCCP/ipsccp-basic.ll b/test/Transforms/SCCP/ipsccp-basic.ll index 2c42dface5..2390d619ae 100644 --- a/test/Transforms/SCCP/ipsccp-basic.ll +++ b/test/Transforms/SCCP/ipsccp-basic.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | grep -v 'ret i32 17' | grep -v 'ret i32 undef' | not grep ret +; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | \ +; RUN: grep -v {ret i32 17} | grep -v {ret i32 undef} | not grep ret implementation diff --git a/test/Transforms/SCCP/ipsccp-conditional.ll b/test/Transforms/SCCP/ipsccp-conditional.ll index 5f06df3e8e..db36228e9c 100644 --- a/test/Transforms/SCCP/ipsccp-conditional.ll +++ b/test/Transforms/SCCP/ipsccp-conditional.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | grep -v 'ret i32 0' | grep -v 'ret i32 undef' | not grep ret +; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | \ +; RUN: grep -v {ret i32 0} | grep -v {ret i32 undef} | not grep ret implementation diff --git a/test/Transforms/SCCP/logical-nuke.ll b/test/Transforms/SCCP/logical-nuke.ll index c0a555a300..02c3ac0e36 100644 --- a/test/Transforms/SCCP/logical-nuke.ll +++ b/test/Transforms/SCCP/logical-nuke.ll @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep 'ret i32 0' +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep {ret i32 0} ; Test that SCCP has basic knowledge of when and/or nuke overdefined values. diff --git a/test/Transforms/SCCP/phitest.ll b/test/Transforms/SCCP/phitest.ll index cdbdb2ce08..b44a3189fe 100644 --- a/test/Transforms/SCCP/phitest.ll +++ b/test/Transforms/SCCP/phitest.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -dce -simplifycfg | llvm-dis | not grep br +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -dce -simplifycfg | llvm-dis | \ +; RUN: not grep br int %test(int %param) { entry: diff --git a/test/Transforms/SCCP/sccptest.ll b/test/Transforms/SCCP/sccptest.ll index 6fae7ce957..f0a8244ecf 100644 --- a/test/Transforms/SCCP/sccptest.ll +++ b/test/Transforms/SCCP/sccptest.ll @@ -1,7 +1,8 @@ ; This is the test case taken from appel's book that illustrates a hard case ; that SCCP gets right. BB3 should be completely eliminated. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -constprop -dce -cfgsimplify | llvm-dis | not grep BB3 +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -constprop -dce -simplifycfg | \ +; RUN: llvm-dis | not grep BB3 int %testfunction(int %i0, int %j0) { BB1: diff --git a/test/Transforms/SCCP/select.ll b/test/Transforms/SCCP/select.ll index 0209681c78..cd488e3f02 100644 --- a/test/Transforms/SCCP/select.ll +++ b/test/Transforms/SCCP/select.ll @@ -1,4 +1,3 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep select int %test1(bool %C) { |