From 2b544beda337f7d0c071bf3ed49f14e54284d49b Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Sat, 14 Apr 2007 20:13:02 +0000 Subject: [PATCH] For PR1319: Upgrade tests to work with new llvm.exp version of llvm_runtest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36013 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../InstCombine/2002-08-02-CastTest.ll | 2 +- .../InstCombine/2003-08-12-AllocaNonNull.ll | 3 ++- .../InstCombine/2004-08-10-BoolSetCC.ll | 3 ++- .../InstCombine/2004-09-20-BadLoadCombine.llx | 3 ++- .../InstCombine/2004-09-20-BadLoadCombine2.llx | 4 ++-- .../2004-11-27-SetCCForCastLargerAndConstant.ll | 3 ++- .../InstCombine/2005-03-04-ShiftOverflow.ll | 4 +++- .../2005-06-16-SetCCOrSetCCMiscompile.ll | 2 +- .../InstCombine/2006-02-13-DemandedMiscompile.ll | 4 ++-- .../InstCombine/2006-04-28-ShiftShiftLongLong.ll | 2 +- .../2006-10-19-SignedToUnsignedCastAndConst-2.ll | 3 ++- .../2006-10-19-SignedToUnsignedCastAndConst.ll | 3 ++- test/Transforms/InstCombine/2006-10-20-mask.ll | 3 ++- .../InstCombine/2006-10-26-VectorReassoc.ll | 3 ++- .../InstCombine/2006-11-03-Memmove64.ll | 3 ++- test/Transforms/InstCombine/2006-11-27-XorBug.ll | 5 +++-- .../InstCombine/2006-12-01-BadFPVectorXform.ll | 2 +- .../InstCombine/2006-12-08-ICmp-Combining.ll | 3 ++- .../InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll | 5 ++++- .../InstCombine/2006-12-08-Select-ICmp.ll | 1 + .../InstCombine/2006-12-10-ICmp-GEP-GEP.ll | 3 ++- .../InstCombine/2006-12-15-Range-Test.ll | 7 ++++--- .../InstCombine/2006-12-23-Select-Cmp-Cmp.ll | 1 + .../InstCombine/2007-01-14-FcmpSelf.ll | 2 +- .../Transforms/InstCombine/2007-01-27-AndICmp.ll | 2 +- .../InstCombine/2007-02-01-LoadSinkAlloca.ll | 6 ++++-- .../InstCombine/2007-02-07-PointerCast.ll | 12 +++++------- .../InstCombine/2007-03-13-CompareMerge.ll | 2 +- .../InstCombine/2007-03-21-SignedRangeTest.ll | 2 +- .../InstCombine/2007-03-25-BadShiftMask.ll | 2 +- .../InstCombine/2007-03-26-BadShiftMask.ll | 3 ++- test/Transforms/InstCombine/2007-03-27-PR1280.ll | 2 +- .../InstCombine/2007-03-31-InfiniteLoop.ll | 1 + .../2007-04-04-BadFoldBitcastIntoMalloc.ll | 2 +- test/Transforms/InstCombine/CPP_min_max.llx | 3 ++- test/Transforms/InstCombine/GEPIdxCanon.ll | 3 ++- test/Transforms/InstCombine/JavaCompare.ll | 3 ++- test/Transforms/InstCombine/alloca.ll | 4 +++- test/Transforms/InstCombine/and-compare.ll | 3 ++- test/Transforms/InstCombine/and-or-and.ll | 3 ++- test/Transforms/InstCombine/and-xor-merge.ll | 2 +- test/Transforms/InstCombine/apint-add1.ll | 1 - test/Transforms/InstCombine/apint-add2.ll | 1 - test/Transforms/InstCombine/apint-and-or-and.ll | 2 +- .../InstCombine/apint-and-xor-merge.ll | 2 +- test/Transforms/InstCombine/apint-and1.ll | 3 +-- test/Transforms/InstCombine/apint-and2.ll | 3 +-- test/Transforms/InstCombine/apint-cast.ll | 1 - .../InstCombine/apint-elim-logicalops.ll | 5 ++--- test/Transforms/InstCombine/apint-or2.ll | 2 -- test/Transforms/InstCombine/apint-rem1.ll | 1 - test/Transforms/InstCombine/apint-rem2.ll | 1 - test/Transforms/InstCombine/apint-select.ll | 3 +-- .../InstCombine/apint-shift-simplify.ll | 2 +- test/Transforms/InstCombine/apint-shift.ll | 3 +-- test/Transforms/InstCombine/apint-shl-trunc.ll | 2 +- test/Transforms/InstCombine/apint-sub.ll | 4 ++-- test/Transforms/InstCombine/apint-xor1.ll | 3 +-- test/Transforms/InstCombine/apint-xor2.ll | 3 +-- test/Transforms/InstCombine/apint-zext1.ll | 3 +-- test/Transforms/InstCombine/apint-zext2.ll | 3 +-- test/Transforms/InstCombine/bit-tracking.ll | 4 ++-- test/Transforms/InstCombine/bitcount.ll | 5 +++-- test/Transforms/InstCombine/bittest.ll | 4 ++-- test/Transforms/InstCombine/bswap-fold.ll | 6 ++++-- test/Transforms/InstCombine/bswap.ll | 3 ++- test/Transforms/InstCombine/call-cast-target.ll | 3 ++- test/Transforms/InstCombine/call.ll | 3 ++- .../InstCombine/canonicalize_branch.ll | 3 ++- test/Transforms/InstCombine/cast-and-cast.ll | 3 ++- test/Transforms/InstCombine/cast-cast-to-and.ll | 3 ++- test/Transforms/InstCombine/cast-load-gep.ll | 3 ++- test/Transforms/InstCombine/cast-propagate.ll | 3 ++- test/Transforms/InstCombine/cast.ll | 4 ++-- test/Transforms/InstCombine/cast2.ll | 1 - test/Transforms/InstCombine/cast_ptr.ll | 1 - test/Transforms/InstCombine/deadcode.ll | 3 ++- test/Transforms/InstCombine/dg.exp | 2 +- .../InstCombine/getelementptr-setcc.ll | 3 ++- test/Transforms/InstCombine/getelementptr.ll | 3 ++- .../Transforms/InstCombine/getelementptr_cast.ll | 4 +++- .../InstCombine/getelementptr_const.ll | 3 ++- test/Transforms/InstCombine/hoist_instr.ll | 3 ++- test/Transforms/InstCombine/icmp.ll | 2 +- test/Transforms/InstCombine/load.ll | 2 +- .../Transforms/InstCombine/malloc-free-delete.ll | 3 +-- test/Transforms/InstCombine/malloc2.ll | 2 +- test/Transforms/InstCombine/memmove.ll | 4 ++-- test/Transforms/InstCombine/mul.ll | 1 - test/Transforms/InstCombine/narrow.ll | 3 +-- test/Transforms/InstCombine/or.ll | 5 ++--- test/Transforms/InstCombine/or2.ll | 3 +-- test/Transforms/InstCombine/phi.ll | 2 -- test/Transforms/InstCombine/rem.ll | 1 - test/Transforms/InstCombine/select.ll | 4 ++-- test/Transforms/InstCombine/set.ll | 2 +- test/Transforms/InstCombine/setcc-cast-cast.ll | 5 ++++- .../InstCombine/setcc-strength-reduce.ll | 5 +++-- test/Transforms/InstCombine/shift-simplify.ll | 2 +- test/Transforms/InstCombine/shift-sra.ll | 3 +-- test/Transforms/InstCombine/shift.ll | 3 +-- test/Transforms/InstCombine/signext.ll | 3 +-- test/Transforms/InstCombine/sink_instruction.ll | 3 ++- test/Transforms/InstCombine/stacksaverestore.ll | 1 - test/Transforms/InstCombine/store.ll | 4 ++-- test/Transforms/InstCombine/sub.ll | 3 +-- .../InstCombine/udiv_select_to_select_shift.ll | 10 +++++----- test/Transforms/InstCombine/vec_demanded_elts.ll | 16 +++++++++++----- .../InstCombine/vec_insert_to_shuffle.ll | 9 ++++++--- test/Transforms/InstCombine/vec_insertelt.ll | 2 +- test/Transforms/InstCombine/vec_narrow.ll | 3 ++- test/Transforms/InstCombine/vec_shuffle.ll | 1 - test/Transforms/InstCombine/xor.ll | 6 +++--- test/Transforms/InstCombine/xor2.ll | 4 +--- .../Transforms/InstCombine/zeroext-and-reduce.ll | 2 +- test/Transforms/InstCombine/zext.ll | 4 ++-- 116 files changed, 199 insertions(+), 171 deletions(-) diff --git a/test/Transforms/InstCombine/2002-08-02-CastTest.ll b/test/Transforms/InstCombine/2002-08-02-CastTest.ll index 55609f1e7f8..23284a6312d 100644 --- a/test/Transforms/InstCombine/2002-08-02-CastTest.ll +++ b/test/Transforms/InstCombine/2002-08-02-CastTest.ll @@ -1,7 +1,7 @@ ; This testcase is incorrectly getting completely eliminated. There should be ; SOME instruction named %c here, even if it's a bitwise and. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep '%c' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep %c ; ulong %test3(ulong %A) { %c1 = cast ulong %A to ubyte diff --git a/test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll b/test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll index 52b778c10d0..81594dbb6b7 100644 --- a/test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll +++ b/test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll @@ -1,6 +1,7 @@ ; This testcase can be simplified by "realizing" that alloca can never return ; null. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg | llvm-dis | not grep 'br ' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg | \ +; RUN: llvm-dis | not grep br implementation ; Functions: diff --git a/test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll b/test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll index e1144b61b0e..0a0038f217a 100644 --- a/test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll +++ b/test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'ret i1 false' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep {ret i1 false} bool %test(bool %V) { %Y = setlt bool %V, false ret bool %Y diff --git a/test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx b/test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx index 3fcbb88e2de..ddc40394aa8 100644 --- a/test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx +++ b/test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | not grep 'int 1' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | \ +; RUN: not grep {int 1} ; When propagating the load through the select, make sure that the load is ; inserted where the original load was, not where the select is. Not doing diff --git a/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx b/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx index 83acd702c66..c3478a82a2b 100644 --- a/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx +++ b/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx @@ -1,5 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg -simplifycfg | llvm-dis | \ -; RUN: grep -v store | not grep 'int 1' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg -simplifycfg | \ +; RUN: llvm-dis | grep -v store | not grep {int 1} ; Test to make sure that instcombine does not accidentally propagate the load ; into the PHI, which would break the program. diff --git a/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll b/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll index 17958e198a4..7a78b93d531 100644 --- a/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll +++ b/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll @@ -9,7 +9,8 @@ ; be eliminated. In many cases the setCC is also eliminated based on the ; constant value and the range of the casted value. ; -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | notcast '.*int' +; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: notcast .*int implementation ; Functions: diff --git a/test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll b/test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll index c203bb1c442..9a754d842eb 100644 --- a/test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll +++ b/test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll @@ -1,4 +1,6 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'ret bool false' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {ret bool false} + bool %test(ulong %tmp.169) { %tmp.1710 = shr ulong %tmp.169, ubyte 1 %tmp.1912 = setgt ulong %tmp.1710, 0 diff --git a/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll b/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll index f4d6703873b..764b035b547 100644 --- a/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll +++ b/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll @@ -1,5 +1,5 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'ret i1 true' +; RUN: grep {ret i1 true} ; PR586 %g_07918478 = external global uint ; [#uses=1] diff --git a/test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll b/test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll index f3457751492..73ad700961f 100644 --- a/test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll +++ b/test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll @@ -1,5 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep undef +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep undef int %test(sbyte %A) { %B = cast sbyte %A to int diff --git a/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll b/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll index 12fc742a5fe..6e25d79ecb8 100644 --- a/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll +++ b/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shl && +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shl ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast ; This cannot be turned into a sign extending cast! diff --git a/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll b/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll index 89ec03dbbee..58c847fb92a 100644 --- a/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll +++ b/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll @@ -1,5 +1,6 @@ ; The optimizer should be able to remove cast operation here. -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | not grep 'sext.*i32' +; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep sext.*i32 bool %eq_signed_to_small_unsigned(sbyte %SB) { %Y = cast sbyte %SB to uint ; [#uses=1] diff --git a/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll b/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll index edd9054f2f5..3ada90ddc63 100644 --- a/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll +++ b/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll @@ -1,6 +1,7 @@ ; This test case is reduced from llvmAsmParser.cpp ; The optimizer should not remove the cast here. -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | grep 'sext.*i32' +; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep sext.*i32 bool %test(short %X) { %A = cast short %X to uint diff --git a/test/Transforms/InstCombine/2006-10-20-mask.ll b/test/Transforms/InstCombine/2006-10-20-mask.ll index 51855cd9b5d..8e829a79859 100644 --- a/test/Transforms/InstCombine/2006-10-20-mask.ll +++ b/test/Transforms/InstCombine/2006-10-20-mask.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | grep 'and' +; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep and ulong %foo(ulong %tmp, ulong %tmp2) { %tmp = cast ulong %tmp to uint %tmp2 = cast ulong %tmp2 to uint diff --git a/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll b/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll index a7172b8a09e..2c53224e7fe 100644 --- a/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll +++ b/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep mul | wc -l | grep 2 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep mul | wc -l | grep 2 <4 x float> %test(<4 x float> %V) { diff --git a/test/Transforms/InstCombine/2006-11-03-Memmove64.ll b/test/Transforms/InstCombine/2006-11-03-Memmove64.ll index e863ab86e89..550c2eb0c7d 100644 --- a/test/Transforms/InstCombine/2006-11-03-Memmove64.ll +++ b/test/Transforms/InstCombine/2006-11-03-Memmove64.ll @@ -1,4 +1,5 @@ -;RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis |not grep memmove.i32 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep memmove.i32 ; Instcombine was trying to turn this into a memmove.i32 target datalayout = "e-p:64:64" diff --git a/test/Transforms/InstCombine/2006-11-27-XorBug.ll b/test/Transforms/InstCombine/2006-11-27-XorBug.ll index 61501668298..7cbd18eda7b 100644 --- a/test/Transforms/InstCombine/2006-11-27-XorBug.ll +++ b/test/Transforms/InstCombine/2006-11-27-XorBug.ll @@ -1,5 +1,6 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'and.*32' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'or.*153' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep and.*32 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep or.*153 ; PR1014 int %test(int %tmp1) { diff --git a/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll b/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll index 54f70746d1d..e2cdf31e2f7 100644 --- a/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll +++ b/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep sub && +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep sub ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep add <4 x float> %test(<4 x float> %tmp26, <4 x float> %tmp53) { diff --git a/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll b/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll index 7d4e3f3f779..db4b9e289fb 100644 --- a/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll +++ b/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep '%bothcond =' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep {%bothcond =} bool %Doit_bb(int %i.0) { bb: ; preds = %newFuncRoot %tmp = setgt int %i.0, 0 ; [#uses=1] diff --git a/test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll b/test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll index 5e5822a868f..09656234094 100644 --- a/test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll +++ b/test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll @@ -1,4 +1,7 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis|grep 'icmp sgt' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep {icmp sgt} +; END. + ; ModuleID = 'visible.bc' target datalayout = "e-p:32:32" target endian = little diff --git a/test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll b/test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll index 647e15df98f..8e46bfd42cd 100644 --- a/test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll +++ b/test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll @@ -1,4 +1,5 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep select +; END. target datalayout = "e-p:32:32" target endian = little target pointersize = 32 diff --git a/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll b/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll index e5ac37b950b..80ff0cfc582 100644 --- a/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll +++ b/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll @@ -1,5 +1,6 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep -v 'icmp ult int' +; RUN: grep -v {icmp ult int} +; END. ; ModuleID = 'good.bc' target datalayout = "e-p:32:32" target endian = little diff --git a/test/Transforms/InstCombine/2006-12-15-Range-Test.ll b/test/Transforms/InstCombine/2006-12-15-Range-Test.ll index 30ea4ee445a..cf253a97451 100644 --- a/test/Transforms/InstCombine/2006-12-15-Range-Test.ll +++ b/test/Transforms/InstCombine/2006-12-15-Range-Test.ll @@ -1,8 +1,9 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'icmp' | wc -l | grep 1 +; RUN: grep icmp | wc -l | grep 1 ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'icmp ugt' | wc -l | grep 1 -; +; RUN: grep {icmp ugt} | wc -l | grep 1 +; END. + ; ModuleID = 'bugpoint-tooptimize.bc' target datalayout = "e-p:32:32" target endian = little diff --git a/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll b/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll index b9881e3624b..0430a614578 100644 --- a/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll +++ b/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll @@ -1,6 +1,7 @@ ; For PR1065. This causes an assertion in instcombine if a select with two cmp ; operands is encountered. ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output +; END. ; ModuleID = 'PR1065.bc' target datalayout = "e-p:32:32" target endian = little diff --git a/test/Transforms/InstCombine/2007-01-14-FcmpSelf.ll b/test/Transforms/InstCombine/2007-01-14-FcmpSelf.ll index 6d27d4544d3..073d3a15412 100644 --- a/test/Transforms/InstCombine/2007-01-14-FcmpSelf.ll +++ b/test/Transforms/InstCombine/2007-01-14-FcmpSelf.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'fcmp uno.*0.0' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {fcmp uno.*0.0} ; PR1111 define i1 @test(double %X) { %tmp = fcmp une double %X, %X diff --git a/test/Transforms/InstCombine/2007-01-27-AndICmp.ll b/test/Transforms/InstCombine/2007-01-27-AndICmp.ll index 7175c1a5d5c..0e8c5b17666 100644 --- a/test/Transforms/InstCombine/2007-01-27-AndICmp.ll +++ b/test/Transforms/InstCombine/2007-01-27-AndICmp.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep "ugt.*, 1" +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ugt.*, 1} define i1 @test(i32 %tmp1030) { %tmp1037 = icmp ne i32 %tmp1030, 40 ; [#uses=1] diff --git a/test/Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll b/test/Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll index 5f555793872..e559cdd914a 100644 --- a/test/Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll +++ b/test/Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll @@ -1,5 +1,7 @@ -; RUN: llvm-as < %s | opt -instcombine -mem2reg | llvm-dis | grep '%A = alloca' && -; RUN: llvm-as < %s | opt -instcombine -mem2reg | llvm-dis | not grep '%B = alloca' +; RUN: llvm-as < %s | opt -instcombine -mem2reg | llvm-dis | grep {%A = alloca} +; RUN: llvm-as < %s | opt -instcombine -mem2reg | llvm-dis | \ +; RUN: not grep {%B = alloca} +; END. ; Ensure that instcombine doesn't sink the loads in entry/cond_true into ; cond_next. Doing so prevents mem2reg from promoting the B alloca. diff --git a/test/Transforms/InstCombine/2007-02-07-PointerCast.ll b/test/Transforms/InstCombine/2007-02-07-PointerCast.ll index 1f7f199c6b6..f38b4c1d463 100644 --- a/test/Transforms/InstCombine/2007-02-07-PointerCast.ll +++ b/test/Transforms/InstCombine/2007-02-07-PointerCast.ll @@ -1,11 +1,9 @@ -;RUN: llvm-upgrade < %s | llvm-as | opt -instcombine |llvm-dis |grep zext +;RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep zext -;Make sure the uint isn't removed. -;instcombine in llvm 1.9 was dropping the uint cast which was causing a sign -;extend -;this only affected code with pointers in the high half of memory, so it wasn't -;noticed much :) -;compile a kernel though... +; Make sure the uint isn't removed. Instcombine in llvm 1.9 was dropping the +; uint cast which was causing a sign extend. This only affected code with +; pointers in the high half of memory, so it wasn't noticed much +; compile a kernel though... target datalayout = "e-p:32:32" target endian = little diff --git a/test/Transforms/InstCombine/2007-03-13-CompareMerge.ll b/test/Transforms/InstCombine/2007-03-13-CompareMerge.ll index 44418e24121..d101050e930 100644 --- a/test/Transforms/InstCombine/2007-03-13-CompareMerge.ll +++ b/test/Transforms/InstCombine/2007-03-13-CompareMerge.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'icmp sle' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {icmp sle} ; PR1244 define i1 @test(i32 %c.3.i, i32 %d.292.2.i) { diff --git a/test/Transforms/InstCombine/2007-03-21-SignedRangeTest.ll b/test/Transforms/InstCombine/2007-03-21-SignedRangeTest.ll index 75d9fb37de5..c8dafd16629 100644 --- a/test/Transforms/InstCombine/2007-03-21-SignedRangeTest.ll +++ b/test/Transforms/InstCombine/2007-03-21-SignedRangeTest.ll @@ -1,5 +1,5 @@ ; For PR1248 -; RUN: llvm-as %s -o - | opt -instcombine | llvm-dis | grep 'ugt i32 .*, 11' +; RUN: llvm-as %s -o - | opt -instcombine | llvm-dis | grep {ugt i32 .*, 11} define i1 @test(i32 %tmp6) { %tmp7 = sdiv i32 %tmp6, 12 ; [#uses=1] icmp ne i32 %tmp7, -6 ; :1 [#uses=1] diff --git a/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll b/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll index dcd70478c66..0b05f7c6432 100644 --- a/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll +++ b/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll @@ -1,6 +1,6 @@ ; PR1271 ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ -; RUN: grep 'icmp eq i32 .tmp.*, 2146435072' +; RUN: grep {icmp eq i32 .tmp.*, 2146435072} %struct..0anon = type { i32, i32 } %struct..1anon = type { double } diff --git a/test/Transforms/InstCombine/2007-03-26-BadShiftMask.ll b/test/Transforms/InstCombine/2007-03-26-BadShiftMask.ll index 0e08cb0d9d8..6197fcc4f91 100644 --- a/test/Transforms/InstCombine/2007-03-26-BadShiftMask.ll +++ b/test/Transforms/InstCombine/2007-03-26-BadShiftMask.ll @@ -1,6 +1,7 @@ ; PR1271 ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ -; RUN: grep 'ashr i32 %.mp137, 2' +; RUN: grep {ashr i32 %.mp137, 2} +; END. target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64" target triple = "i686-pc-linux-gnu" diff --git a/test/Transforms/InstCombine/2007-03-27-PR1280.ll b/test/Transforms/InstCombine/2007-03-27-PR1280.ll index 9505751c8d3..6cb9aaec098 100644 --- a/test/Transforms/InstCombine/2007-03-27-PR1280.ll +++ b/test/Transforms/InstCombine/2007-03-27-PR1280.ll @@ -4,7 +4,7 @@ ; is not done. It should be removed when code gen supports "funny" ; bit widths. -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'add i49.*-8388608' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {add i49.*-8388608} define i49 @test5(i49 %x) { ;; If we have ADD(XOR(AND(X, 0xFF), 0x80), 0xF..F80), it's a sext. diff --git a/test/Transforms/InstCombine/2007-03-31-InfiniteLoop.ll b/test/Transforms/InstCombine/2007-03-31-InfiniteLoop.ll index d59c43e81bd..640f6d57504 100644 --- a/test/Transforms/InstCombine/2007-03-31-InfiniteLoop.ll +++ b/test/Transforms/InstCombine/2007-03-31-InfiniteLoop.ll @@ -1,4 +1,5 @@ ; RUN: llvm-as < %s | opt -instcombine -disable-output +; END. target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64" target triple = "i686-apple-darwin8" diff --git a/test/Transforms/InstCombine/2007-04-04-BadFoldBitcastIntoMalloc.ll b/test/Transforms/InstCombine/2007-04-04-BadFoldBitcastIntoMalloc.ll index a890e59c14b..d7a5b44b033 100644 --- a/test/Transforms/InstCombine/2007-04-04-BadFoldBitcastIntoMalloc.ll +++ b/test/Transforms/InstCombine/2007-04-04-BadFoldBitcastIntoMalloc.ll @@ -3,7 +3,7 @@ ; 64-bit targets. ; ; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep '= add ' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep {= add } target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64" target triple = "x86_64-unknown-freebsd6.2" diff --git a/test/Transforms/InstCombine/CPP_min_max.llx b/test/Transforms/InstCombine/CPP_min_max.llx index e64d0b91887..3d99ad603b0 100644 --- a/test/Transforms/InstCombine/CPP_min_max.llx +++ b/test/Transforms/InstCombine/CPP_min_max.llx @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep select | not grep 'int\*' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep select | not grep {i32\\*} ; This testcase corresponds to PR362, which notices that this horrible code ; is generated by the C++ front-end and LLVM optimizers, which has lots of diff --git a/test/Transforms/InstCombine/GEPIdxCanon.ll b/test/Transforms/InstCombine/GEPIdxCanon.ll index afaabc3e2f0..bf0ab798414 100644 --- a/test/Transforms/InstCombine/GEPIdxCanon.ll +++ b/test/Transforms/InstCombine/GEPIdxCanon.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -gcse -instcombine | llvm-dis | not grep getelementptr +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -gcse -instcombine | \ +; RUN: llvm-dis | not grep getelementptr bool %test(int* %A) { %B = getelementptr int* %A, int 1 diff --git a/test/Transforms/InstCombine/JavaCompare.ll b/test/Transforms/InstCombine/JavaCompare.ll index 11f706e5662..4ed064c674c 100644 --- a/test/Transforms/InstCombine/JavaCompare.ll +++ b/test/Transforms/InstCombine/JavaCompare.ll @@ -1,7 +1,8 @@ ; This is the sequence of stuff that the Java front-end expands for a single ; <= comparison. Check to make sure we turn it into a <= (only) -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'icmp sle'| not grep '#uses' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep -v {icmp sle} | not grep #uses bool %le(int %A, int %B) { %c1 = setgt int %A, %B; diff --git a/test/Transforms/InstCombine/alloca.ll b/test/Transforms/InstCombine/alloca.ll index 8ce7b65b0c0..43e4e3249a7 100644 --- a/test/Transforms/InstCombine/alloca.ll +++ b/test/Transforms/InstCombine/alloca.ll @@ -1,6 +1,8 @@ ; Zero byte allocas should be deleted. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep alloca +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep alloca +; END. declare void %use(...) void %test() { diff --git a/test/Transforms/InstCombine/and-compare.ll b/test/Transforms/InstCombine/and-compare.ll index 864b8c25e21..5980631c69f 100644 --- a/test/Transforms/InstCombine/and-compare.ll +++ b/test/Transforms/InstCombine/and-compare.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep and | wc -l | grep 1 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep and | wc -l | grep 1 ; Should be optimized to one and. bool %test1(uint %a, uint %b) { diff --git a/test/Transforms/InstCombine/and-or-and.ll b/test/Transforms/InstCombine/and-or-and.ll index 1c8465c7302..dc1eea1a2d0 100644 --- a/test/Transforms/InstCombine/and-or-and.ll +++ b/test/Transforms/InstCombine/and-or-and.ll @@ -9,7 +9,8 @@ ; ; Which corresponds to test1. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'or ' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {or } int %test1(int %X, int %Y) { %A = and int %X, 7 diff --git a/test/Transforms/InstCombine/and-xor-merge.ll b/test/Transforms/InstCombine/and-xor-merge.ll index 290c2d73ee0..c53ebc6f3d3 100644 --- a/test/Transforms/InstCombine/and-xor-merge.ll +++ b/test/Transforms/InstCombine/and-xor-merge.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and | wc -l | grep 1 && +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and | wc -l | grep 1 ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep xor | wc -l | grep 2 ; (x&z) ^ (y&z) -> (x^y)&z diff --git a/test/Transforms/InstCombine/apint-add1.ll b/test/Transforms/InstCombine/apint-add1.ll index 925009214f1..74280ee7f7c 100644 --- a/test/Transforms/InstCombine/apint-add1.ll +++ b/test/Transforms/InstCombine/apint-add1.ll @@ -1,7 +1,6 @@ ; This test makes sure that add instructions are properly eliminated. ; This test is for Integer BitWidth <= 64 && BitWidth % 8 != 0. -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ ; RUN: grep -v OK | not grep add diff --git a/test/Transforms/InstCombine/apint-add2.ll b/test/Transforms/InstCombine/apint-add2.ll index e06b07c61d1..39a54b1ec5c 100644 --- a/test/Transforms/InstCombine/apint-add2.ll +++ b/test/Transforms/InstCombine/apint-add2.ll @@ -1,7 +1,6 @@ ; This test makes sure that add instructions are properly eliminated. ; This test is for Integer BitWidth > 64 && BitWidth <= 1024. -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ ; RUN: grep -v OK | not grep add diff --git a/test/Transforms/InstCombine/apint-and-or-and.ll b/test/Transforms/InstCombine/apint-and-or-and.ll index 6bea6126cdc..e60a1fa16df 100644 --- a/test/Transforms/InstCombine/apint-and-or-and.ll +++ b/test/Transforms/InstCombine/apint-and-or-and.ll @@ -11,7 +11,7 @@ ; ; This tests arbitrary precision integers. -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'or ' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep {or } define i17 @test1(i17 %X, i17 %Y) { %A = and i17 %X, 7 diff --git a/test/Transforms/InstCombine/apint-and-xor-merge.ll b/test/Transforms/InstCombine/apint-and-xor-merge.ll index d2265ed4b67..665a643afe9 100644 --- a/test/Transforms/InstCombine/apint-and-xor-merge.ll +++ b/test/Transforms/InstCombine/apint-and-xor-merge.ll @@ -1,7 +1,7 @@ ; This test case checks that the merge of and/xor can work on arbitrary ; precision integers. -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and | wc -l | grep 1 && +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and | wc -l | grep 1 ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep xor | wc -l | grep 2 ; (x &z ) ^ (y & z) -> (x ^ y) & z diff --git a/test/Transforms/InstCombine/apint-and1.ll b/test/Transforms/InstCombine/apint-and1.ll index 53b9e23f4bf..b6c7bd9a6b0 100644 --- a/test/Transforms/InstCombine/apint-and1.ll +++ b/test/Transforms/InstCombine/apint-and1.ll @@ -1,8 +1,7 @@ ; This test makes sure that and instructions are properly eliminated. ; This test is for Integer BitWidth <= 64 && BitWidth % 8 != 0. -; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'and ' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep {and } define i39 @test0(i39 %A) { %B = and i39 %A, 0 ; zero result diff --git a/test/Transforms/InstCombine/apint-and2.ll b/test/Transforms/InstCombine/apint-and2.ll index e66eeff12d3..3b690169008 100644 --- a/test/Transforms/InstCombine/apint-and2.ll +++ b/test/Transforms/InstCombine/apint-and2.ll @@ -1,8 +1,7 @@ ; This test makes sure that and instructions are properly eliminated. ; This test is for Integer BitWidth > 64 && BitWidth <= 1024. -; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'and ' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep {and } define i999 @test0(i999 %A) { diff --git a/test/Transforms/InstCombine/apint-cast.ll b/test/Transforms/InstCombine/apint-cast.ll index 9973b4aab1c..dd001464002 100644 --- a/test/Transforms/InstCombine/apint-cast.ll +++ b/test/Transforms/InstCombine/apint-cast.ll @@ -1,5 +1,4 @@ ; Tests to make sure elimination of casts is working correctly -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | notcast define i17 @test1(i17 %a) { diff --git a/test/Transforms/InstCombine/apint-elim-logicalops.ll b/test/Transforms/InstCombine/apint-elim-logicalops.ll index 7920d91c60b..13d032cacf2 100644 --- a/test/Transforms/InstCombine/apint-elim-logicalops.ll +++ b/test/Transforms/InstCombine/apint-elim-logicalops.ll @@ -1,9 +1,8 @@ ; Test that elimination of logical operators works with ; arbitrary precision integers. - -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ -; RUN: not grep '(and\|xor\|add\|shl\|shr)' +; RUN: not grep {(and\|xor\|add\|shl\|shr)} +; END. define i33 @test1(i33 %x) { %tmp.1 = and i33 %x, 65535 ; [#uses=1] diff --git a/test/Transforms/InstCombine/apint-or2.ll b/test/Transforms/InstCombine/apint-or2.ll index b8f87836887..21dc5654cee 100644 --- a/test/Transforms/InstCombine/apint-or2.ll +++ b/test/Transforms/InstCombine/apint-or2.ll @@ -1,8 +1,6 @@ ; This test makes sure that or instructions are properly eliminated. ; This test is for Integer BitWidth > 64 && BitWidth <= 1024. ; - -; RUN: llvm-as < %s | opt -instcombine | llvm-dis > /tmp/or2.rel && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep or diff --git a/test/Transforms/InstCombine/apint-rem1.ll b/test/Transforms/InstCombine/apint-rem1.ll index 6b1c772dd59..2ec8c749972 100644 --- a/test/Transforms/InstCombine/apint-rem1.ll +++ b/test/Transforms/InstCombine/apint-rem1.ll @@ -1,7 +1,6 @@ ; This test makes sure that these instructions are properly eliminated. ; This test is for Integer BitWidth < 64 && BitWidth % 2 != 0. ; -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep rem diff --git a/test/Transforms/InstCombine/apint-rem2.ll b/test/Transforms/InstCombine/apint-rem2.ll index 4704018b394..4d22c22d540 100644 --- a/test/Transforms/InstCombine/apint-rem2.ll +++ b/test/Transforms/InstCombine/apint-rem2.ll @@ -1,7 +1,6 @@ ; This test makes sure that these instructions are properly eliminated. ; This test is for Integer BitWidth >= 64 && BitWidth <= 1024. ; -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep rem diff --git a/test/Transforms/InstCombine/apint-select.ll b/test/Transforms/InstCombine/apint-select.ll index 54e905eb104..c2399fb88ef 100644 --- a/test/Transforms/InstCombine/apint-select.ll +++ b/test/Transforms/InstCombine/apint-select.ll @@ -1,7 +1,6 @@ ; This test makes sure that these instructions are properly eliminated. -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep select && -; RUN: llvm-as < %s | opt -instcombine -disable-output +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep select define i41 @test1(i1 %C) { diff --git a/test/Transforms/InstCombine/apint-shift-simplify.ll b/test/Transforms/InstCombine/apint-shift-simplify.ll index 43c00f86fdf..4c352cf8176 100644 --- a/test/Transforms/InstCombine/apint-shift-simplify.ll +++ b/test/Transforms/InstCombine/apint-shift-simplify.ll @@ -1,5 +1,5 @@ ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ -; RUN: egrep 'shl|lshr|ashr' | wc -l | grep 3 +; RUN: egrep {shl|lshr|ashr} | wc -l | grep 3 define i41 @test0(i41 %A, i41 %B, i41 %C) { %X = shl i41 %A, %C diff --git a/test/Transforms/InstCombine/apint-shift.ll b/test/Transforms/InstCombine/apint-shift.ll index 5ed70dce135..afc5360d8de 100644 --- a/test/Transforms/InstCombine/apint-shift.ll +++ b/test/Transforms/InstCombine/apint-shift.ll @@ -1,8 +1,7 @@ ; This test makes sure that shit instructions are properly eliminated ; even with arbitrary precision integers. - -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep sh +; END. define i47 @test1(i47 %A) { %B = shl i47 %A, 0 ; [#uses=1] diff --git a/test/Transforms/InstCombine/apint-shl-trunc.ll b/test/Transforms/InstCombine/apint-shl-trunc.ll index cf5b1f86834..a9cffdef04f 100644 --- a/test/Transforms/InstCombine/apint-shl-trunc.ll +++ b/test/Transforms/InstCombine/apint-shl-trunc.ll @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis > /tmp/sht.rel && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep shl +; END. define i1 @test0(i39 %X, i39 %A) { %B = lshr i39 %X, %A diff --git a/test/Transforms/InstCombine/apint-sub.ll b/test/Transforms/InstCombine/apint-sub.ll index 05328bc1a87..75ea36d143a 100644 --- a/test/Transforms/InstCombine/apint-sub.ll +++ b/test/Transforms/InstCombine/apint-sub.ll @@ -2,8 +2,8 @@ ; even with arbitrary precision integers. ; -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ -; RUN: grep -v 'sub i19 %Cok, %Bok' | not grep sub +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ +; RUN: grep -v {sub i19 %Cok, %Bok} | not grep sub define i23 @test1(i23 %A) { %B = sub i23 %A, %A ; [#uses=1] diff --git a/test/Transforms/InstCombine/apint-xor1.ll b/test/Transforms/InstCombine/apint-xor1.ll index 35cf6ae8225..5ddf5cf9c9b 100644 --- a/test/Transforms/InstCombine/apint-xor1.ll +++ b/test/Transforms/InstCombine/apint-xor1.ll @@ -1,8 +1,7 @@ ; This test makes sure that xor instructions are properly eliminated. ; This test is for Integer BitWidth <= 64 && BitWidth % 8 != 0. -; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'xor ' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep {xor } define i47 @test1(i47 %A, i47 %B) { diff --git a/test/Transforms/InstCombine/apint-xor2.ll b/test/Transforms/InstCombine/apint-xor2.ll index b9d7e82f288..7ce5ad8473d 100644 --- a/test/Transforms/InstCombine/apint-xor2.ll +++ b/test/Transforms/InstCombine/apint-xor2.ll @@ -1,8 +1,7 @@ ; This test makes sure that xor instructions are properly eliminated. ; This test is for Integer BitWidth > 64 && BitWidth <= 1024. -; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'xor ' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep {xor } define i447 @test1(i447 %A, i447 %B) { diff --git a/test/Transforms/InstCombine/apint-zext1.ll b/test/Transforms/InstCombine/apint-zext1.ll index 462e6910ca3..03330c7be96 100644 --- a/test/Transforms/InstCombine/apint-zext1.ll +++ b/test/Transforms/InstCombine/apint-zext1.ll @@ -1,7 +1,6 @@ ; Tests to make sure elimination of casts is working correctly ; This test is for Integer BitWidth <= 64 && BitWidth % 2 != 0. -; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | notcast '' '%c1.*' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | notcast {} {%c1.*} define i47 @test_sext_zext(i11 %A) { %c1 = zext i11 %A to i39 diff --git a/test/Transforms/InstCombine/apint-zext2.ll b/test/Transforms/InstCombine/apint-zext2.ll index ea6000926b5..8350d10282b 100644 --- a/test/Transforms/InstCombine/apint-zext2.ll +++ b/test/Transforms/InstCombine/apint-zext2.ll @@ -1,7 +1,6 @@ ; Tests to make sure elimination of casts is working correctly ; This test is for Integer BitWidth > 64 && BitWidth <= 1024. -; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | notcast '' '%c1.*' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | notcast {} {%c1.*} define i1024 @test_sext_zext(i77 %A) { %c1 = zext i77 %A to i533 diff --git a/test/Transforms/InstCombine/bit-tracking.ll b/test/Transforms/InstCombine/bit-tracking.ll index f6654738d7f..2575ae5520d 100644 --- a/test/Transforms/InstCombine/bit-tracking.ll +++ b/test/Transforms/InstCombine/bit-tracking.ll @@ -1,7 +1,7 @@ ; This file contains various testcases that require tracking whether bits are ; set or cleared by various instructions. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -instcombine | llvm-dis | not grep %ELIM +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -instcombine | llvm-dis |\ +; RUN: not grep %ELIM ; Reduce down to a single XOR int %test3(int %B) { diff --git a/test/Transforms/InstCombine/bitcount.ll b/test/Transforms/InstCombine/bitcount.ll index f23f65521f7..da539200e7f 100644 --- a/test/Transforms/InstCombine/bitcount.ll +++ b/test/Transforms/InstCombine/bitcount.ll @@ -1,6 +1,7 @@ ; Tests to make sure bit counts of constants are folded -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'ret i32 19' && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep -v declare | not grep 'llvm.ct' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ret i32 19} +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ +; RUN: grep -v declare | not grep llvm.ct declare i32 @llvm.ctpop.i31(i31 %val) declare i32 @llvm.cttz.i32(i32 %val) diff --git a/test/Transforms/InstCombine/bittest.ll b/test/Transforms/InstCombine/bittest.ll index 7fb5fdee577..1ba42895a11 100644 --- a/test/Transforms/InstCombine/bittest.ll +++ b/test/Transforms/InstCombine/bittest.ll @@ -1,5 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg | llvm-dis | not grep 'call void %abort' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg | llvm-dis |\ +; RUN: not grep {call void %abort} %b_rec.0 = external global int diff --git a/test/Transforms/InstCombine/bswap-fold.ll b/test/Transforms/InstCombine/bswap-fold.ll index 0ee486ad1aa..1552386db1f 100644 --- a/test/Transforms/InstCombine/bswap-fold.ll +++ b/test/Transforms/InstCombine/bswap-fold.ll @@ -1,5 +1,7 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep ret | wc -l | grep 3 && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call.*bswap' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep ret | wc -l | grep 3 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep call.*bswap bool %test1(ushort %tmp2) { %tmp10 = call ushort %llvm.bswap.i16( ushort %tmp2 ) diff --git a/test/Transforms/InstCombine/bswap.ll b/test/Transforms/InstCombine/bswap.ll index da2354e96ee..209f76c33ac 100644 --- a/test/Transforms/InstCombine/bswap.ll +++ b/test/Transforms/InstCombine/bswap.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'call.*llvm.bswap' | wc -l | grep 5 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep {call.*llvm.bswap} | wc -l | grep 5 uint %test1(uint %i) { %tmp1 = shr uint %i, ubyte 24 ; [#uses=1] diff --git a/test/Transforms/InstCombine/call-cast-target.ll b/test/Transforms/InstCombine/call-cast-target.ll index 4a3cb2af228..6d964905aa4 100644 --- a/test/Transforms/InstCombine/call-cast-target.ll +++ b/test/Transforms/InstCombine/call-cast-target.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep call | not grep bitcast +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep call | not grep bitcast target endian = little target pointersize = 32 diff --git a/test/Transforms/InstCombine/call.ll b/test/Transforms/InstCombine/call.ll index aa9495e0c27..d5a6465e1c2 100644 --- a/test/Transforms/InstCombine/call.ll +++ b/test/Transforms/InstCombine/call.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep call | notcast +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep call | notcast implementation diff --git a/test/Transforms/InstCombine/canonicalize_branch.ll b/test/Transforms/InstCombine/canonicalize_branch.ll index 1434c7bee08..032e2931887 100644 --- a/test/Transforms/InstCombine/canonicalize_branch.ll +++ b/test/Transforms/InstCombine/canonicalize_branch.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'setne\|setle\|setge' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {setne\|setle\|setge} int %test1(uint %X, uint %Y) { %C = setne uint %X, %Y diff --git a/test/Transforms/InstCombine/cast-and-cast.ll b/test/Transforms/InstCombine/cast-and-cast.ll index b141974bece..8da9d3370d5 100644 --- a/test/Transforms/InstCombine/cast-and-cast.ll +++ b/test/Transforms/InstCombine/cast-and-cast.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep bitcast +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep bitcast bool %test1(uint %val) { %t1 = bitcast uint %val to int diff --git a/test/Transforms/InstCombine/cast-cast-to-and.ll b/test/Transforms/InstCombine/cast-cast-to-and.ll index 8789b98b44b..97386bb5384 100644 --- a/test/Transforms/InstCombine/cast-cast-to-and.ll +++ b/test/Transforms/InstCombine/cast-cast-to-and.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep ubyte +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep ubyte int %test1(uint %X) { %Y = cast uint %X to ubyte ;; Turn into an AND diff --git a/test/Transforms/InstCombine/cast-load-gep.ll b/test/Transforms/InstCombine/cast-load-gep.ll index 0a369bce039..4fa63ddd6ab 100644 --- a/test/Transforms/InstCombine/cast-load-gep.ll +++ b/test/Transforms/InstCombine/cast-load-gep.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -globaldce | llvm-dis | not grep Array +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -globaldce | llvm-dis | \ +; RUN: not grep Array ; Pulling the cast out of the load allows us to eliminate the load, and then ; the whole array. diff --git a/test/Transforms/InstCombine/cast-propagate.ll b/test/Transforms/InstCombine/cast-propagate.ll index d4f07a4d842..d556473932f 100644 --- a/test/Transforms/InstCombine/cast-propagate.ll +++ b/test/Transforms/InstCombine/cast-propagate.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | not grep load +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | \ +; RUN: not grep load int %test1(uint* %P) { %A = alloca uint diff --git a/test/Transforms/InstCombine/cast.ll b/test/Transforms/InstCombine/cast.ll index 6cad43bd7dc..36361b7ad92 100644 --- a/test/Transforms/InstCombine/cast.ll +++ b/test/Transforms/InstCombine/cast.ll @@ -1,6 +1,6 @@ ; Tests to make sure elimination of casts is working correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep '%c' | notcast +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep %c | notcast %inbuf = external global [32832 x ubyte] diff --git a/test/Transforms/InstCombine/cast2.ll b/test/Transforms/InstCombine/cast2.ll index c5e91461fa8..5cc9087198b 100644 --- a/test/Transforms/InstCombine/cast2.ll +++ b/test/Transforms/InstCombine/cast2.ll @@ -1,5 +1,4 @@ ; Tests to make sure elimination of casts is working correctly -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | notcast define i16 @test1(i16 %a) { diff --git a/test/Transforms/InstCombine/cast_ptr.ll b/test/Transforms/InstCombine/cast_ptr.ll index a89e65bfd90..ee19f7a80e6 100644 --- a/test/Transforms/InstCombine/cast_ptr.ll +++ b/test/Transforms/InstCombine/cast_ptr.ll @@ -1,5 +1,4 @@ ; Tests to make sure elimination of casts is working correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast ; XFAIL: * diff --git a/test/Transforms/InstCombine/deadcode.ll b/test/Transforms/InstCombine/deadcode.ll index 836d6147f23..370390a834c 100644 --- a/test/Transforms/InstCombine/deadcode.ll +++ b/test/Transforms/InstCombine/deadcode.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'ret i32 %A' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep {ret i32 %A} int %test(int %A) { %X = or bool false, false diff --git a/test/Transforms/InstCombine/dg.exp b/test/Transforms/InstCombine/dg.exp index ff34508c3c6..694e4fdd88a 100644 --- a/test/Transforms/InstCombine/dg.exp +++ b/test/Transforms/InstCombine/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}]] diff --git a/test/Transforms/InstCombine/getelementptr-setcc.ll b/test/Transforms/InstCombine/getelementptr-setcc.ll index 4b637f2cfb1..edf0ccbc679 100644 --- a/test/Transforms/InstCombine/getelementptr-setcc.ll +++ b/test/Transforms/InstCombine/getelementptr-setcc.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep getelementptr +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep getelementptr bool %test1(short* %P, int %I, int %J) { %X = getelementptr short* %P, int %I diff --git a/test/Transforms/InstCombine/getelementptr.ll b/test/Transforms/InstCombine/getelementptr.ll index 2e1c59387f1..5862b4ca2a4 100644 --- a/test/Transforms/InstCombine/getelementptr.ll +++ b/test/Transforms/InstCombine/getelementptr.ll @@ -1,6 +1,7 @@ ; The %A getelementptr instruction should be eliminated here -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v '%B' | not grep getelementptr && +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep -v %B | not grep getelementptr ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep foo1 %Global = constant [10 x sbyte] c"helloworld" diff --git a/test/Transforms/InstCombine/getelementptr_cast.ll b/test/Transforms/InstCombine/getelementptr_cast.ll index 9d629d3bad3..5a0d132519b 100644 --- a/test/Transforms/InstCombine/getelementptr_cast.ll +++ b/test/Transforms/InstCombine/getelementptr_cast.ll @@ -1,4 +1,6 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast '' 'getelementptr.*' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: notcast {} {getelementptr.*} + %G = external global [3 x sbyte] implementation diff --git a/test/Transforms/InstCombine/getelementptr_const.ll b/test/Transforms/InstCombine/getelementptr_const.ll index 9a078c50fd1..e4265f41973 100644 --- a/test/Transforms/InstCombine/getelementptr_const.ll +++ b/test/Transforms/InstCombine/getelementptr_const.ll @@ -1,5 +1,6 @@ ; Test folding of constantexpr geps into normal geps. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -gcse -instcombine | llvm-dis | not grep getelementptr +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -gcse -instcombine | \ +; RUN: llvm-dis | not grep getelementptr %Array = external global [40 x int] diff --git a/test/Transforms/InstCombine/hoist_instr.ll b/test/Transforms/InstCombine/hoist_instr.ll index 4059563dc23..cfe704d5693 100644 --- a/test/Transforms/InstCombine/hoist_instr.ll +++ b/test/Transforms/InstCombine/hoist_instr.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | %prcontext div 1 | grep then: +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: %prcontext div 1 | grep then: ;; This tests that the div is hoisted into the then block. diff --git a/test/Transforms/InstCombine/icmp.ll b/test/Transforms/InstCombine/icmp.ll index e07b53e63a7..bb69ba3be47 100644 --- a/test/Transforms/InstCombine/icmp.ll +++ b/test/Transforms/InstCombine/icmp.ll @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep icmp +; END. define i32 @test1(i32 %X) { entry: diff --git a/test/Transforms/InstCombine/load.ll b/test/Transforms/InstCombine/load.ll index 58f9894903b..d1b8eda2bf8 100644 --- a/test/Transforms/InstCombine/load.ll +++ b/test/Transforms/InstCombine/load.ll @@ -1,7 +1,7 @@ ; This test makes sure that these instructions are properly eliminated. ; - ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep load +; END. %X = constant int 42 %X2 = constant int 47 diff --git a/test/Transforms/InstCombine/malloc-free-delete.ll b/test/Transforms/InstCombine/malloc-free-delete.ll index e75b1f32481..24f793f7ca8 100644 --- a/test/Transforms/InstCombine/malloc-free-delete.ll +++ b/test/Transforms/InstCombine/malloc-free-delete.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'ret i32 0' && +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ret i32 0} ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep malloc ; PR1201 define i32 @main(i32 %argc, i8** %argv) { @@ -9,4 +9,3 @@ define i32 @main(i32 %argc, i8** %argv) { free i8* %tmp_207 ret i32 0 } - diff --git a/test/Transforms/InstCombine/malloc2.ll b/test/Transforms/InstCombine/malloc2.ll index 0ebb5215451..eb7c9abfcef 100644 --- a/test/Transforms/InstCombine/malloc2.ll +++ b/test/Transforms/InstCombine/malloc2.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'ret i32 0' && +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ret i32 0} ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep malloc ; PR1313 diff --git a/test/Transforms/InstCombine/memmove.ll b/test/Transforms/InstCombine/memmove.ll index fb20dbc873c..5ee9c90bb9e 100644 --- a/test/Transforms/InstCombine/memmove.ll +++ b/test/Transforms/InstCombine/memmove.ll @@ -1,7 +1,7 @@ ; This test makes sure that memmove instructions are properly eliminated. ; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call void %llvm.memmove' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {call void @llvm.memmove} %S = internal constant [33 x sbyte] c"panic: restorelist inconsistency\00" diff --git a/test/Transforms/InstCombine/mul.ll b/test/Transforms/InstCombine/mul.ll index ccec6b894a7..86c52fa55be 100644 --- a/test/Transforms/InstCombine/mul.ll +++ b/test/Transforms/InstCombine/mul.ll @@ -1,6 +1,5 @@ ; This test makes sure that mul instructions are properly eliminated. ; - ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep mul implementation diff --git a/test/Transforms/InstCombine/narrow.ll b/test/Transforms/InstCombine/narrow.ll index bff2b88a5db..02d7e31b8ad 100644 --- a/test/Transforms/InstCombine/narrow.ll +++ b/test/Transforms/InstCombine/narrow.ll @@ -1,8 +1,7 @@ ; This file contains various testcases that check to see that instcombine ; is narrowing computations when possible. - ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'ret i1 false' +; RUN: grep {ret i1 false} ; test1 - Eliminating the casts in this testcase (by narrowing the AND ; operation) allows instcombine to realize the function always returns false. diff --git a/test/Transforms/InstCombine/or.ll b/test/Transforms/InstCombine/or.ll index 933f5f006a4..14b1a226473 100644 --- a/test/Transforms/InstCombine/or.ll +++ b/test/Transforms/InstCombine/or.ll @@ -1,8 +1,7 @@ ; This test makes sure that these instructions are properly eliminated. ; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v xor | not grep 'or ' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep -v xor | not grep {or } implementation diff --git a/test/Transforms/InstCombine/or2.ll b/test/Transforms/InstCombine/or2.ll index 3745a48a89b..c632a5d22d4 100644 --- a/test/Transforms/InstCombine/or2.ll +++ b/test/Transforms/InstCombine/or2.ll @@ -1,5 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep ' or' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep { or} define i32 @test1(i32 %b, i32 %c, i32 %d) { %tmp3 = and i32 %c, %b diff --git a/test/Transforms/InstCombine/phi.ll b/test/Transforms/InstCombine/phi.ll index 44841b76431..1fab649d5e9 100644 --- a/test/Transforms/InstCombine/phi.ll +++ b/test/Transforms/InstCombine/phi.ll @@ -1,7 +1,5 @@ ; This test makes sure that these instructions are properly eliminated. ; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep phi implementation diff --git a/test/Transforms/InstCombine/rem.ll b/test/Transforms/InstCombine/rem.ll index 00705aa4750..62740f028f0 100644 --- a/test/Transforms/InstCombine/rem.ll +++ b/test/Transforms/InstCombine/rem.ll @@ -1,6 +1,5 @@ ; This test makes sure that these instructions are properly eliminated. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep rem implementation diff --git a/test/Transforms/InstCombine/select.ll b/test/Transforms/InstCombine/select.ll index a9dd75d9ead..5b3b8bcce1e 100644 --- a/test/Transforms/InstCombine/select.ll +++ b/test/Transforms/InstCombine/select.ll @@ -1,7 +1,7 @@ ; This test makes sure that these instructions are properly eliminated. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep select && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep select implementation diff --git a/test/Transforms/InstCombine/set.ll b/test/Transforms/InstCombine/set.ll index b6ab54392e9..51cffbeba97 100644 --- a/test/Transforms/InstCombine/set.ll +++ b/test/Transforms/InstCombine/set.ll @@ -1,7 +1,7 @@ ; This test makes sure that these instructions are properly eliminated. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep icmp +; END. %X = uninitialized global int diff --git a/test/Transforms/InstCombine/setcc-cast-cast.ll b/test/Transforms/InstCombine/setcc-cast-cast.ll index a25fa0c37d4..903f0b49171 100644 --- a/test/Transforms/InstCombine/setcc-cast-cast.ll +++ b/test/Transforms/InstCombine/setcc-cast-cast.ll @@ -1,7 +1,10 @@ ; This test case was reduced from MultiSource/Applications/hbd. It makes sure ; that folding doesn't happen in case a zext is applied where a sext should have ; been when a setcc is used with two casts. -; RUN: llvm-upgrade < %s | llvm-as | llc -instcombine | llvm-dis | not grep 'br bool false' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {br bool false} +; END. + int %bug(ubyte %inbuff) { entry: %tmp = bitcast ubyte %inbuff to sbyte ; [#uses=1] diff --git a/test/Transforms/InstCombine/setcc-strength-reduce.ll b/test/Transforms/InstCombine/setcc-strength-reduce.ll index d38c6686d0b..b5ea83707d4 100644 --- a/test/Transforms/InstCombine/setcc-strength-reduce.ll +++ b/test/Transforms/InstCombine/setcc-strength-reduce.ll @@ -2,8 +2,9 @@ ; working. Basically this boils down to converting setlt,gt,le,ge instructions ; into equivalent setne,eq instructions. ; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'icmp eq' | grep -v 'icmp ne' | not grep icmp +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep -v {icmp eq} | grep -v {icmp ne} | not grep icmp +; END. bool %test1(uint %A) { %B = setge uint %A, 1 ; setne %A, 0 diff --git a/test/Transforms/InstCombine/shift-simplify.ll b/test/Transforms/InstCombine/shift-simplify.ll index 1049b0c01ab..639c3fae5c6 100644 --- a/test/Transforms/InstCombine/shift-simplify.ll +++ b/test/Transforms/InstCombine/shift-simplify.ll @@ -1,5 +1,5 @@ ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ -; RUN: egrep 'shl|lshr|ashr' | wc -l | grep 3 +; RUN: egrep {shl|lshr|ashr} | wc -l | grep 3 define i32 @test0(i32 %A, i32 %B, i32 %C) { %X = shl i32 %A, %C diff --git a/test/Transforms/InstCombine/shift-sra.ll b/test/Transforms/InstCombine/shift-sra.ll index 80a2ac9cae0..f3907729177 100644 --- a/test/Transforms/InstCombine/shift-sra.ll +++ b/test/Transforms/InstCombine/shift-sra.ll @@ -1,6 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'lshr i32' | wc -l | grep 2 && +; RUN: grep {lshr i32} | wc -l | grep 2 ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep ashr int %test1(int %X, ubyte %A) { diff --git a/test/Transforms/InstCombine/shift.ll b/test/Transforms/InstCombine/shift.ll index 28c517018e4..5ce807063d5 100644 --- a/test/Transforms/InstCombine/shift.ll +++ b/test/Transforms/InstCombine/shift.ll @@ -1,8 +1,7 @@ ; This test makes sure that these instructions are properly eliminated. ; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep sh +; END. implementation diff --git a/test/Transforms/InstCombine/signext.ll b/test/Transforms/InstCombine/signext.ll index 88f7b02c196..d754260cf0e 100644 --- a/test/Transforms/InstCombine/signext.ll +++ b/test/Transforms/InstCombine/signext.ll @@ -1,6 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: not grep '(and\|xor\|add\|shl\|shr)' +; RUN: not grep {(and\|xor\|add\|shl\|shr)} int %test1(int %x) { %tmp.1 = and int %x, 65535 ; [#uses=1] diff --git a/test/Transforms/InstCombine/sink_instruction.ll b/test/Transforms/InstCombine/sink_instruction.ll index a45c16163f7..93519ffdc02 100644 --- a/test/Transforms/InstCombine/sink_instruction.ll +++ b/test/Transforms/InstCombine/sink_instruction.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | %prcontext div 1 | grep ret +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: %prcontext div 1 | grep ret ;; This tests that the instructions in the entry blocks are sunk into each ;; arm of the 'if'. diff --git a/test/Transforms/InstCombine/stacksaverestore.ll b/test/Transforms/InstCombine/stacksaverestore.ll index d9633b5c3be..f9cc9c22a92 100644 --- a/test/Transforms/InstCombine/stacksaverestore.ll +++ b/test/Transforms/InstCombine/stacksaverestore.ll @@ -1,4 +1,3 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep call ;; Test that llvm.stackrestore is removed when possible. diff --git a/test/Transforms/InstCombine/store.ll b/test/Transforms/InstCombine/store.ll index 2102fec100c..0b7d12f5477 100644 --- a/test/Transforms/InstCombine/store.ll +++ b/test/Transforms/InstCombine/store.ll @@ -1,5 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'store.*,.*null' | not grep store +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep -v {store.*,.*null} | not grep store void %test1(int* %P) { store int undef, int* %P diff --git a/test/Transforms/InstCombine/sub.ll b/test/Transforms/InstCombine/sub.ll index 5d9cab929af..dfee31253fa 100644 --- a/test/Transforms/InstCombine/sub.ll +++ b/test/Transforms/InstCombine/sub.ll @@ -1,8 +1,7 @@ ; This test makes sure that these instructions are properly eliminated. ; - ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep -v 'sub i32 %Cok, %Bok' | not grep sub +; RUN: grep -v {sub i32 %Cok, %Bok} | not grep sub implementation diff --git a/test/Transforms/InstCombine/udiv_select_to_select_shift.ll b/test/Transforms/InstCombine/udiv_select_to_select_shift.ll index 33740d567d3..fe057410cd8 100644 --- a/test/Transforms/InstCombine/udiv_select_to_select_shift.ll +++ b/test/Transforms/InstCombine/udiv_select_to_select_shift.ll @@ -1,10 +1,10 @@ -; This tests that this transform: +; Test that this transform works: ; udiv X, (Select Cond, C1, C2) --> Select Cond, (shr X, C1), (shr X, C2) ; -; RUN: llvm-as %s -o - | opt -instcombine | llvm-dis -f -o %t && \ -; RUN: grep select %t | wc -l | grep 1 && \ -; RUN: grep lshr %t | wc -l | grep 2 && \ -; RUN: grep udiv %t | wc -l | grep 0 +; RUN: llvm-as < %s | opt -instcombine | llvm-dis -f -o %t +; RUN: grep select %t | wc -l | grep 1 +; RUN: grep lshr %t | wc -l | grep 2 +; RUN: ignore grep udiv %t | wc -l | grep 0 define i64 @test(i64 %X, i1 %Cond ) { entry: diff --git a/test/Transforms/InstCombine/vec_demanded_elts.ll b/test/Transforms/InstCombine/vec_demanded_elts.ll index 9642ffda56c..d2c6712935d 100644 --- a/test/Transforms/InstCombine/vec_demanded_elts.ll +++ b/test/Transforms/InstCombine/vec_demanded_elts.ll @@ -1,8 +1,14 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'sub float' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'mul float' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'insertelement.*0.00' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call.*llvm.x86.sse.mul' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call.*llvm.x86.sse.sub' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep {sub float} +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep {mul float} +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {insertelement.*0.00} +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {call.*llvm.x86.sse.mul} +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {call.*llvm.x86.sse.sub} +; END. ushort %Convert_sse(float %f) { entry: diff --git a/test/Transforms/InstCombine/vec_insert_to_shuffle.ll b/test/Transforms/InstCombine/vec_insert_to_shuffle.ll index 0611305beea..0a6f88c032a 100644 --- a/test/Transforms/InstCombine/vec_insert_to_shuffle.ll +++ b/test/Transforms/InstCombine/vec_insert_to_shuffle.ll @@ -1,6 +1,9 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shufflevec | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep insertelement && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep extractelement +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep shufflevec | wc -l | grep 1 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep insertelement +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep extractelement <4 x float> %test(<4 x float> %tmp, <4 x float> %tmp1) { %tmp4 = extractelement <4 x float> %tmp, uint 1 ; [#uses=1] diff --git a/test/Transforms/InstCombine/vec_insertelt.ll b/test/Transforms/InstCombine/vec_insertelt.ll index ce75945d432..9be154b9871 100644 --- a/test/Transforms/InstCombine/vec_insertelt.ll +++ b/test/Transforms/InstCombine/vec_insertelt.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'ret <4 x i32> %A' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ret <4 x i32> %A} ; PR1286 define <4 x i32> @test1(<4 x i32> %A) { diff --git a/test/Transforms/InstCombine/vec_narrow.ll b/test/Transforms/InstCombine/vec_narrow.ll index 1ad671c5091..ca94b081d78 100644 --- a/test/Transforms/InstCombine/vec_narrow.ll +++ b/test/Transforms/InstCombine/vec_narrow.ll @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'add float' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep {add float} %V = type <4 x float> diff --git a/test/Transforms/InstCombine/vec_shuffle.ll b/test/Transforms/InstCombine/vec_shuffle.ll index 1ed1e693b88..3d65b630e53 100644 --- a/test/Transforms/InstCombine/vec_shuffle.ll +++ b/test/Transforms/InstCombine/vec_shuffle.ll @@ -1,4 +1,3 @@ -; RUN: llvm-as < %s | opt -instcombine -disable-output && ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep vector_shuffle %T = type <4 x float> diff --git a/test/Transforms/InstCombine/xor.ll b/test/Transforms/InstCombine/xor.ll index 4d128c666d3..e2011499ccb 100644 --- a/test/Transforms/InstCombine/xor.ll +++ b/test/Transforms/InstCombine/xor.ll @@ -1,8 +1,8 @@ ; This test makes sure that these instructions are properly eliminated. ; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'xor ' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: not grep {xor } +; END. %G1 = global uint 0 %G2 = global uint 0 diff --git a/test/Transforms/InstCombine/xor2.ll b/test/Transforms/InstCombine/xor2.ll index 9b6a3fef698..efb3146c68b 100644 --- a/test/Transforms/InstCombine/xor2.ll +++ b/test/Transforms/InstCombine/xor2.ll @@ -1,8 +1,6 @@ ; This test makes sure that these instructions are properly eliminated. ; - -; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'xor ' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep {xor } ; PR1253 define i1 @test0(i32 %A) { diff --git a/test/Transforms/InstCombine/zeroext-and-reduce.ll b/test/Transforms/InstCombine/zeroext-and-reduce.ll index a863d55d4c5..aac8c3bd7fa 100644 --- a/test/Transforms/InstCombine/zeroext-and-reduce.ll +++ b/test/Transforms/InstCombine/zeroext-and-reduce.ll @@ -1,5 +1,5 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'and i32 %Y, 8' +; RUN: grep {and i32 %Y, 8} int %test1(ubyte %X) { %Y = cast ubyte %X to int diff --git a/test/Transforms/InstCombine/zext.ll b/test/Transforms/InstCombine/zext.ll index 7835fe690b2..cd1f1f827bd 100644 --- a/test/Transforms/InstCombine/zext.ll +++ b/test/Transforms/InstCombine/zext.ll @@ -1,6 +1,6 @@ ; Tests to make sure elimination of casts is working correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast '' '%c1.*' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: notcast {} {%c1.*} long %test_sext_zext(short %A) { %c1 = zext short %A to uint