Fix bug in regression tests that ignored stderr output in RUN lines. Updated tests...
authorTanya Lattner <tonic@nondot.org>
Wed, 28 Nov 2007 04:57:00 +0000 (04:57 +0000)
committerTanya Lattner <tonic@nondot.org>
Wed, 28 Nov 2007 04:57:00 +0000 (04:57 +0000)
XFAILed 3 arm regressions (will file bugs)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44389 91177308-0d34-0410-b5e6-96231b3b80d8

30 files changed:
test/Analysis/BasicAA/2007-08-01-NoAliasAndCalls.ll
test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll
test/Analysis/ScalarEvolution/2007-08-06-Unsigned.ll
test/Assembler/2002-07-25-ParserAssertionFailure.llx
test/Assembler/2003-04-15-ConstantInitAssertion.llx
test/Assembler/2003-05-21-MalformedShiftCrash.llx
test/Assembler/2003-05-21-MalformedStructCrash.llx
test/Assembler/2003-11-24-SymbolTableCrash.llx
test/Assembler/2003-12-30-TypeMapInvalidMemory.llx
test/Assembler/2004-03-30-UnclosedFunctionCrash.llx
test/Assembler/2006-05-26-VarargsCallEncode.ll
test/Assembler/2006-09-28-CrashOnInvalid.ll
test/Assembler/2007-01-02-Undefined-Arg-Type.ll
test/Assembler/2007-01-16-CrashOnBadCast.ll
test/Assembler/2007-01-16-CrashOnBadCast2.ll
test/Assembler/2007-01-21-UpgradeNoArgs.ll
test/Assembler/2007-01-22-UpgradeMalformedShift.ll
test/Assembler/2007-01-22-UpgradeMalformedStruct.ll
test/Assembler/2007-01-22-UpgradeTypeMapInvalidMemory.ll
test/Assembler/2007-03-18-InvalidNumberedVar.ll
test/Assembler/2007-04-15-BadIntrinsic.ll
test/Assembler/2007-04-20-AlignedStore.ll
test/Assembler/2007-08-06-AliasInvalid.ll
test/CFrontend/2006-09-21-IncompleteElementType.c
test/CFrontend/2007-10-01-BuildArrayRef.c
test/CodeGen/ARM/2007-03-13-InstrSched.ll
test/CodeGen/ARM/fp.ll
test/CodeGen/ARM/lsr-code-insertion.ll
test/ExecutionEngine/2004-12-04-LazyCompileFuncs.ll
test/lib/llvm.exp

index 072bfd9fe9c52ff3bcf38a306c6c85dd32e3a14d..bbcee847933a45e1eb7c404597a79b7feb9044dd 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as %s -o - | opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output &| grep 'MayAlias:     i32* %y, i32* %x'
+; RUN: llvm-as %s -o - | opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output |& grep {MayAlias:.*i32\\* %y, i32\\* %x}
 
 declare i32* @unclear(i32* %a)
 
index 8cc9f061d9364b3d8fdce2631281ffdc70864015..5a2373e401e892787ece3abb9726ffa1e3741bf6 100644 (file)
@@ -1,15 +1,15 @@
-; RUN: llvm-as %s -o - | opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output &| grep '9 no alias'
-; RUN: llvm-as %s -o - | opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output &| grep '6 may alias'
-; RUN: llvm-as %s -o - | opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output &| grep 'MayAlias:     i32* %pj, i32* %pi'
+; RUN: llvm-as %s -o - | opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output |& grep {9 no alias}
+; RUN: llvm-as %s -o - | opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output |& grep {6 may alias}
+; RUN: llvm-as %s -o - | opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output |& grep {MayAlias:.*i32\\* %Jpointer, i32\\* %Ipointer}
 
 define void @foo(i32* noalias %p, i32* noalias %q, i32 %i, i32 %j) {
-  %pi = getelementptr i32* %p, i32 %i
+  %Ipointer = getelementptr i32* %p, i32 %i
   %qi = getelementptr i32* %q, i32 %i
-  %pj = getelementptr i32* %p, i32 %j
+  %Jpointer = getelementptr i32* %p, i32 %j
   %qj = getelementptr i32* %q, i32 %j
   store i32 0, i32* %p
-  store i32 0, i32* %pi
-  store i32 0, i32* %pj
+  store i32 0, i32* %Ipointer
+  store i32 0, i32* %Jpointer
   store i32 0, i32* %q
   store i32 0, i32* %qi
   store i32 0, i32* %qj
index 30514724d9446f28f492e6d13e99a9cc4e58aa19..32e580e047e01e76bd958a07003f301c9c9a6509 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -scalar-evolution -analyze |& grep "Loop bb: ( -1 + ( -1 *  %x) +  %y) iterations!"
+; RUN: llvm-as < %s | opt -scalar-evolution -analyze |& grep {Loop bb: ( -1 + ( -1 \\*  %x) +  %y) iterations!}
 ; PR1597
 
 define i32 @f(i32 %x, i32 %y) {
index ccfc380b75bf7c98da5d1acfef7fc1bcb99ac3f9..57ca2ffeb5f33b2429819f83adbc3a62ab0a40f5 100644 (file)
@@ -1,6 +1,6 @@
 ; Make sure we don't get an assertion failure, even though this is a parse 
 ; error
-; RUN: llvm-as < %s -o /dev/null -f |& grep {No arguments}
+; RUN: not llvm-as < %s -o /dev/null -f |& grep {No arguments}
 
 %ty = type void (i32)
 
index 58b8bcaca146e63f2415cbaec652cb502516186e..66b80de348b1c6a0c7e27a7afd6dd31b8e165f42 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s >/dev/null |& grep {Expected type 'i32' for element #0}
+; RUN: not llvm-as < %s >/dev/null |& grep {Expected type 'i32' for element #0}
 ; Test the case of a misformed constant initializer
 ; This should cause an assembler error, not an assertion failure!
 constant { i32 } { float 1.0 }
index 33e20e384ca980cf6c478f3aa6dcdb729405d98d..d573403a13e583fbd61f0a021d37139b365562da 100644 (file)
@@ -1,4 +1,4 @@
 ; Found by inspection of the code
-; RUN: llvm-as < %s > /dev/null |& grep {Logical operator requires integral}
+; RUN: not llvm-as < %s > /dev/null |& grep {Logical operator requires integral}
 
 global i32 ashr (float 1.0, float 2.0)
index 91b0c9e064399b9679338b12ff8b861e415c2f2d..bf930350ef07eb53163c32e5e8830c2dc78d2885 100644 (file)
@@ -1,4 +1,4 @@
 ; Found by inspection of the code
-; RUN: llvm-as < %s  > /dev/null |& grep {Illegal number of init}
+; RUN: not llvm-as < %s  > /dev/null |& grep {Illegal number of init}
 
 global {} { i32 7, float 1.0, i32 7, i32 8 }
index 9557d291d33f4bce3bebc70f31a3bf3201c107b0..4b2cbdcc037624b269ed57277949acbc0fd16ed2 100644 (file)
@@ -1,5 +1,5 @@
-; RUN: llvm-as < %s |& not grep Asserti
-; RUN: llvm-as < %s |& grep Redefinition
+; RUN: not llvm-as < %s |& not grep Asserti
+; RUN: not llvm-as < %s |& grep Redefinition
 
 define void @test() {
        %tmp.1 = add i32 0, 1
index cffee6dda387f205d955e7cd1658d5a02572beb4..a0f99c63d8fe68132bb5f5e61092e9356dc4b040 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s -o /dev/null -f |& grep {Undefined type remains}
+; RUN: not llvm-as < %s -o /dev/null -f |& grep {Undefined type remains}
 ; END.
 
 @d_reduction_0_dparser_gram = global { 
index 292bb0cfff9cbd2c5b2674df078ba70e541f0e3c..62a713871bfba7d57b90357f013e06bf24d215c0 100644 (file)
@@ -1,3 +1,3 @@
-; RUN: llvm-as %s |& grep error
+; RUN: not llvm-as %s |& grep error
 
 void %foo() {
index c36bcfa220eccf220b9d9c13d70d6c562719ac37..bfa4343940f1defcf81eadbf4c97c7f969bc6390 100644 (file)
@@ -1,9 +1,8 @@
-; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | \
-; RUN:    grep {tail call void.*sret  null}
+; RUN: llvm-as < %s | llvm-dis | grep {tail call void.*sret  null}
 
-declare csretcc void %foo({}*, ...)
+declare void @foo({  }* sret , ...)
 
-void %bar() {
-  tail call csretcc void({}*, ...)* %foo({}* null, int 0)
-  ret void
+define void @bar() {
+        tail call void ({  }* sret , ...)* @foo( {  }* null sret , i32 0 )
+        ret void
 }
index af1aaa3847552774df73d05f1309e7d55fd6c410..f77ea5c427ead43908027dd9752af967bba7d8a7 100644 (file)
@@ -1,6 +1,6 @@
 ; Test for PR902.  This program is erroneous, but should not crash llvm-as.
 ; This tests that a simple error is caught and processed correctly.
-; RUN: llvm-as < %s >/dev/null |& grep {FP constant invalid for type}
+; RUN: not llvm-as < %s >/dev/null |& grep {FP constant invalid for type}
 
 define void @test() {
   add i32 1, 2.0
index 354db6c561ad5c852b9f18490bfd4053969c1afe..9304a389f18523cb95143e4adfac7d2923b9fff8 100644 (file)
@@ -1,5 +1,5 @@
 ; The assembler should catch an undefined argument type .
-; RUN: llvm-as < %s -o /dev/null -f |& grep {Reference to abstract argument}
+; RUN: not llvm-as < %s -o /dev/null -f |& grep {Reference to abstract argument}
 
 ; %typedef.bc_struct = type opaque
 
index 20c9383b075497a6aff8f90d18a7177a87336866..e2bb59e88bae638736d5c8f5c64e350b7936a789 100644 (file)
@@ -1,5 +1,5 @@
 ; PR1117
-; RUN: llvm-as < %s -o /dev/null -f |& grep {invalid cast opcode for cast from}
+; RUN: not llvm-as < %s -o /dev/null -f |& grep {invalid cast opcode for cast from}
 
 define i8* @nada(i64 %X) {
     %result = trunc i64 %X to i8*
index 41b1708b8d70c5bb53f4d49062ffe4237d5e5d67..ff6b5352a99dff6b5223b9fb8d1c5abfd3ea1cf5 100644 (file)
@@ -1,4 +1,4 @@
 ; PR1117
-; RUN: llvm-as < %s -o /dev/null -f |& grep {invalid cast opcode for cast from}
+; RUN: not llvm-as < %s -o /dev/null -f |& grep {invalid cast opcode for cast from}
 
 @X = constant i8* trunc (i64 0 to i8*)
index 5e7de73f9a9ebd4db5c44315ade41c80d8ee6f94..7b7ffd96fe0b8e059a94bee433c45c1c2899117b 100644 (file)
@@ -1,6 +1,6 @@
 ; Make sure we don't get an assertion failure, even though this is a parse 
 ; error
-; RUN: llvm-upgrade < %s > /dev/null |& grep {No arguments passed to a }
+; RUN: not llvm-upgrade < %s > /dev/null |& grep {No arguments passed to a }
 
 %ty = type void (int)
 
index da72cbc6b91ad3f249533279e341325d04cd820c..2f236822d10f6a28a34eca94a4552f3b7f77fe13 100644 (file)
@@ -1,4 +1,4 @@
 ; Found by inspection of the code
-; RUN: llvm-upgrade < %s > /dev/null |& grep {Shift constant expression}
+; RUN: not llvm-upgrade < %s > /dev/null |& grep {Shift constant expression}
 
 global int shr (float 1.0, ubyte 2)
index 1636b9d85d2cc7cb3da7c4ee50d4ad39c30711bf..42c435939f8f10c63c0b9cda4914e60e59957195 100644 (file)
@@ -1,4 +1,4 @@
 ; Found by inspection of the code
-; RUN: llvm-upgrade < %s  > /dev/null |& grep {Illegal number of init}
+; RUN: not llvm-upgrade < %s  > /dev/null |& grep {Illegal number of init}
 
 global {} { int 7, float 1.0, int 7, int 8 }
index 2ad5df078e3bf9714be4efcc3bfe76e62dfa4808..7491e21eeae9518d48aa533226eb19b5c988bb0b 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-upgrade < %s -o /dev/null -f |& grep {Reference to an undef}
+; RUN: not llvm-upgrade < %s -o /dev/null -f |& grep {Reference to an undef}
 ; END.
 
 %d_reduction_0_dparser_gram = global { int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)*, int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)** } { int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)* null, int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)** null }
index f71f93e912afc50e486541577accaf8911b607e6..8e821132d8ad0dc98afceb75f2087b425aca91ac 100644 (file)
@@ -1,5 +1,5 @@
 ; PR 1258
-; RUN: llvm-as < %s >/dev/null -f |& grep {Numbered.*does not match}
+; RUN: not llvm-as < %s >/dev/null -f |& grep {Numbered.*does not match}
 
 define i32 @test1(i32 %a, i32 %b) {
 entry:
index b21bd667c49883854a22d3659db4a7146d5d9ef2..25c35409693f3f74ba7e32d6cff36de1a10ceb3f 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s -o /dev/null -f |& grep {Call to invalid LLVM intrinsic}
+; RUN: not llvm-as < %s -o /dev/null -f |& grep {Call to invalid LLVM intrinsic}
 
 declare i32 @llvm.foobar(i32 %foo)
 
index c3681fc9369b621e8e7682d35a3279182256a65a..7d1eb0a6f6cdc3fabd63c55a7504812647d86b9a 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s |& llvm-dis | grep 'align 1024'
+; RUN: llvm-as < %s |& llvm-dis | grep {align 1024}
 
 define void @test(i32* %arg) {
 entry:
index 0711e037a6743d6b04e5a47172ceb388e70bcea7..b54acec1c94b554952debe31e0d2e9e78d1d9e53 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s > /dev/null |& grep {Invalid type for reference to global}
+; RUN: not llvm-as < %s > /dev/null |& grep {Invalid type for reference to global}
 ; PR1577
 
 @anInt = global i32 1 alias i32 @anAlias
index 64f7501a64c02a10b14e6c7cbd006b44595f3028..a5091821cb69a4d36a527ef7ae0c1b100e0eca15 100644 (file)
@@ -1,3 +1,3 @@
-// RUN: %llvmgcc %s -S -o /dev/null |& not grep {internal compiler error}
+// RUN: not %llvmgcc %s -S -o /dev/null |& not grep {internal compiler error}
 
 struct A X[(927 - 37) / sizeof(struct A)];
index fb8ee3dc1e75590fc82547af4781d97b61ffb9a2..e9037552308a20ec64d3bedbf201134ff639654a 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -S %s -o /dev/null |& grep "error: assignment of read-only location"
+// RUN: not %llvmgcc -S %s -o /dev/null |& grep "error: assignment of read-only location"
 // PR 1603
 int func()
 {
index 8fdff52f015f2a9e9ffb69942a15e6bb71e0c8bf..9881e5a206c7e545bef3cbdf013d99e7b64a626c 100644 (file)
@@ -1,5 +1,6 @@
 ; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin -relocation-model=pic \
 ; RUN:   -mattr=+v6 -stats |& grep asm-printer | grep 41
+; XFAIL: *
 
 define void @test(i32 %tmp56222, i32 %tmp36224, i32 %tmp46223, i32 %i.0196.0.ph, i32 %tmp8, i32* %tmp1011, i32** %tmp1, i32* %d2.1.out, i32* %d3.1.out, i32* %d0.1.out, i32* %d1.1.out) {
 newFuncRoot:
index 038dd42e2dc4235b815d81c17246c438880ed24c..186d20a3331ed79a06ced14c78184b7b02cd35fe 100644 (file)
@@ -9,6 +9,7 @@
 ; RUN: grep fuitod %t
 ; RUN: grep fuitos %t
 ; RUN: grep 1065353216 %t
+; XFAIL: *
 
 float %f(int %a) {
 entry:
index 04b856f840dc77134158f72a948eb90d8a654ec8..507c8912920f90d9955255a5f41539df182e5fde 100644 (file)
@@ -7,7 +7,7 @@
 ;        add r8, r0, r6
 ;        str r10, [r8, #+4]
 ;
-
+; XFAIL: *
 target triple = "arm-apple-darwin8"
 
 define void @foo(i32* %mc, i32* %mpp, i32* %ip, i32* %dpp, i32* %tpmm, i32 %M, i32* %tpim, i32* %tpdm, i32* %bp, i32* %ms, i32 %xmb) {
index e266be9a7fde94999ea400ab47c6b9853bed2cbe..4f20157f39016f39ffae5b2a7745783a287ebab1 100644 (file)
@@ -1,33 +1,29 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
-; RUN: lli -debug-only=jit %t.bc |& not grep {Finished CodeGen of .*Function: F}
+; RUN:  llvm-as < %s -f -o %t.bc
+; RUN: not lli -debug-only=jit %t.bc |& not grep {Finished CodeGen of .*Function: F}
+@.str_1 = internal constant [7 x i8] c"IN F!\0A\00"             ; <[7 x i8]*> [#uses=1]
+@.str_2 = internal constant [7 x i8] c"IN G!\0A\00"             ; <[7 x i8]*> [#uses=1]
+@Ptrs = internal constant [2 x void (...)*] [ void (...)* bitcast (void ()* @F to void (...)*), void (...)* bitcast (void ()* @G to void (...)*) ]           ; <[2 x void (...)*]*> [#uses=1]
 
-%.str_1 = internal constant [7 x sbyte] c"IN F!\0A\00"         ; <[7 x sbyte]*> [#uses=1]
-%.str_2 = internal constant [7 x sbyte] c"IN G!\0A\00"         ; <[7 x sbyte]*> [#uses=1]
-%Ptrs = internal constant [2 x void (...)*] [ void (...)* cast (void ()* %F to void (...)*), void (...)* cast (void ()* %G to void (...)*) ]            ; <[2 x void (...)*]*> [#uses=1]
+declare i32 @printf(i8*, ...)
 
-implementation   ; Functions:
-
-declare int %printf(sbyte*, ...)
-
-internal void %F() {
+define internal void @F() {
 entry:
-       %tmp.0 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([7 x sbyte]* %.str_1, int 0, int 0) )           ; <int> [#uses=0]
-       ret void
+        %tmp.0 = call i32 (i8*, ...)* @printf( i8* getelementptr ([7 x i8]* @.str_1, i32 0, i32 0) )            ; <i32> [#uses=0]
+        ret void
 }
 
-internal void %G() {
+define internal void @G() {
 entry:
-       %tmp.0 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([7 x sbyte]* %.str_2, int 0, int 0) )           ; <int> [#uses=0]
-       ret void
+        %tmp.0 = call i32 (i8*, ...)* @printf( i8* getelementptr ([7 x i8]* @.str_2, i32 0, i32 0) )            ; <i32> [#uses=0]
+        ret void
 }
 
-int %main(int %argc, sbyte** %argv) {
+define i32 @main(i32 %argc, i8** %argv) {
 entry:
-       %tmp.3 = and int %argc, 1               ; <int> [#uses=1]
-       %tmp.4 = getelementptr [2 x void (...)*]* %Ptrs, int 0, int %tmp.3              ; <void (...)**> [#uses=1]
-       %tmp.5 = load void (...)** %tmp.4               ; <void (...)*> [#uses=1]
-       %tmp.5_c = cast void (...)* %tmp.5 to void ()*          ; <void ()*> [#uses=1]
-       call void %tmp.5_c( )
-       ret int undef
+        %tmp.3 = and i32 %argc, 1               ; <i32> [#uses=1]
+        %tmp.4 = getelementptr [2 x void (...)*]* @Ptrs, i32 0, i32 %tmp.3              ; <void (...)**> [#uses=1]
+        %tmp.5 = load void (...)** %tmp.4               ; <void (...)*> [#uses=1]
+        %tmp.5_c = bitcast void (...)* %tmp.5 to void ()*               ; <void ()*> [#uses=1]
+        call void %tmp.5_c( )
+        ret i32 undef
 }
-
index 2116b7a92c1fc2be071a321a548b796337f44f93..05c910771ad16ba5b3849178d9ed9d76294c1a93 100644 (file)
@@ -126,8 +126,8 @@ proc RunLLVMTests { test_source_files } {
         set runline "$runline$oneline "
 
       # if its a terminating RUN: line then do substitution on the whole line
-      # and then save the line.
-      } elseif {[regexp {RUN: *([^&]+)(&&)?} $line match oneline suffix]} {
+      # and then save the line. 
+      } elseif {[regexp {RUN: *(.+)$} $line match oneline suffix]} {
         set runline "$runline$oneline"
         set runline [ substitute $runline $test $tmpFile ]
         set lines($numLines) $runline