diff options
author | Tanya Lattner <tonic@nondot.org> | 2004-11-06 20:38:27 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2004-11-06 20:38:27 +0000 |
commit | 12ff96854d6f03dd6cc67abb68843fd8b94e065b (patch) | |
tree | 802c948bbb9372b04be00a607f8030a671079b65 | |
parent | d2fb4d7906e9e89f4069c014a8c0b8bda0a3563f (diff) |
Adding XFAIL lines for dejagnu support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17514 91177308-0d34-0410-b5e6-96231b3b80d8
38 files changed, 41 insertions, 24 deletions
diff --git a/test/Analysis/DSGraph/2003-07-16-ConstantExprCollapse.ll b/test/Analysis/DSGraph/2003-07-16-ConstantExprCollapse.ll index 54e640af2c..aec1e99fd8 100644 --- a/test/Analysis/DSGraph/2003-07-16-ConstantExprCollapse.ll +++ b/test/Analysis/DSGraph/2003-07-16-ConstantExprCollapse.ll @@ -1,5 +1,5 @@ ; This should cause the global node to collapse!! -; +; XFAIL: * ; RUN: analyze %s -datastructure-gc --dsgc-check-flags=test:GAU %Tree = type { int, %Tree*, %Tree* } diff --git a/test/Analysis/DSGraph/incompletenode.ll b/test/Analysis/DSGraph/incompletenode.ll index 5dffaabff0..b9940db157 100644 --- a/test/Analysis/DSGraph/incompletenode.ll +++ b/test/Analysis/DSGraph/incompletenode.ll @@ -1,6 +1,6 @@ ; This test was failing because the globals X and Y are marked incomplete ; in the TD graph for %test - +; XFAIL: * ; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse -instcombine | llvm-dis | not grep seteq %X = internal global int 20 diff --git a/test/Analysis/DSGraph/mustalias.ll b/test/Analysis/DSGraph/mustalias.ll index d9ff094164..4425157f08 100644 --- a/test/Analysis/DSGraph/mustalias.ll +++ b/test/Analysis/DSGraph/mustalias.ll @@ -1,5 +1,5 @@ ; Test that ds-aa is returning must-alias information when it can. - +; XFAIL: * ; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load %X = internal global int 20 diff --git a/test/Assembler/2002-05-02-ParseError.ll b/test/Assembler/2002-05-02-ParseError.ll index b5809a8710..9d8469877d 100644 --- a/test/Assembler/2002-05-02-ParseError.ll +++ b/test/Assembler/2002-05-02-ParseError.ll @@ -1,6 +1,6 @@ ; This should parse correctly without an 'implementation', but our current YACC ; based parser doesn't have the required 2 token lookahead... -; XFAIL +; XFAIL: * %T = type int * diff --git a/test/Assembler/2002-07-08-HugePerformanceProblem.llx b/test/Assembler/2002-07-08-HugePerformanceProblem.llx index 46caeaed46..9c97b5dc39 100644 --- a/test/Assembler/2002-07-08-HugePerformanceProblem.llx +++ b/test/Assembler/2002-07-08-HugePerformanceProblem.llx @@ -1,6 +1,5 @@ ; This file takes about 48 __MINUTES__ to assemble using as. This is WAY too ; long. The type resolution code needs to be sped up a lot. - ; RUN: ulimit -t 20; llvm-as < %s %ALL_INTERSECTIONS_METHOD = type int (%OBJECT*, %RAY*, %ISTACK*)* diff --git a/test/C++Frontend/2003-08-28-ForwardType.cpp b/test/C++Frontend/2003-08-28-ForwardType.cpp index 646729fb50..a64531c066 100644 --- a/test/C++Frontend/2003-08-28-ForwardType.cpp +++ b/test/C++Frontend/2003-08-28-ForwardType.cpp @@ -1,4 +1,4 @@ - +// XFAIL: darwin,sun // Default placement versions of operator new. inline void* operator new(unsigned, void* __p) throw(); diff --git a/test/CFrontend/2003-01-30-UnionInit.c b/test/CFrontend/2003-01-30-UnionInit.c index 05422543f7..a6557859fd 100644 --- a/test/CFrontend/2003-01-30-UnionInit.c +++ b/test/CFrontend/2003-01-30-UnionInit.c @@ -1,4 +1,4 @@ - +// XFAIL: linux,sun,darwin union foo { struct { char A, B; } X; diff --git a/test/CFrontend/2003-02-12-NonlocalGoto.c b/test/CFrontend/2003-02-12-NonlocalGoto.c index cb84dc9456..16373af1a8 100644 --- a/test/CFrontend/2003-02-12-NonlocalGoto.c +++ b/test/CFrontend/2003-02-12-NonlocalGoto.c @@ -1,4 +1,4 @@ - +// XFAIL: * /* It is unlikely that LLVM will ever support nested functions, but if it does, here is a testcase. */ diff --git a/test/CFrontend/2003-06-29-MultipleFunctionDefinition.c b/test/CFrontend/2003-06-29-MultipleFunctionDefinition.c index d2e07cb21a..588da7198a 100644 --- a/test/CFrontend/2003-06-29-MultipleFunctionDefinition.c +++ b/test/CFrontend/2003-06-29-MultipleFunctionDefinition.c @@ -1,4 +1,5 @@ -/* This is apparently legal C. */ +/* This is apparently legal C. + */ extern __inline__ void test() { } void test() { diff --git a/test/CFrontend/2003-08-30-AggregateInitializer.c b/test/CFrontend/2003-08-30-AggregateInitializer.c index 7ae173df92..c7a0f806b8 100644 --- a/test/CFrontend/2003-08-30-AggregateInitializer.c +++ b/test/CFrontend/2003-08-30-AggregateInitializer.c @@ -1,4 +1,4 @@ - +// XFAIL: linux,sun,darwin struct istruct { unsigned char C; }; diff --git a/test/CFrontend/2003-08-30-LargeIntegerBitfieldMember.c b/test/CFrontend/2003-08-30-LargeIntegerBitfieldMember.c index 66d778c57c..fa81802b71 100644 --- a/test/CFrontend/2003-08-30-LargeIntegerBitfieldMember.c +++ b/test/CFrontend/2003-08-30-LargeIntegerBitfieldMember.c @@ -1,4 +1,3 @@ - struct foo { unsigned int I:1; unsigned char J[1][123]; diff --git a/test/CFrontend/2004-01-01-UnknownInitSize.c b/test/CFrontend/2004-01-01-UnknownInitSize.c index 076c54b39f..f9b49ccfa1 100644 --- a/test/CFrontend/2004-01-01-UnknownInitSize.c +++ b/test/CFrontend/2004-01-01-UnknownInitSize.c @@ -1,7 +1,8 @@ /* * This regression test ensures that the C front end can compile initializers * even when it cannot determine the size (as below). - */ + * XFAIL: linux,darwin +*/ struct one { int a; diff --git a/test/CFrontend/2004-02-13-StringInit.c.tr b/test/CFrontend/2004-02-13-StringInit.c.tr index 6953fd5aea..0dfe557700 100644 --- a/test/CFrontend/2004-02-13-StringInit.c.tr +++ b/test/CFrontend/2004-02-13-StringInit.c.tr @@ -1,3 +1,4 @@ +// XFAIL: * // RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep llvm.memset char test(int X) { diff --git a/test/CFrontend/2004-02-20-StaticRedeclare.c.tr b/test/CFrontend/2004-02-20-StaticRedeclare.c.tr index 4549300e7b..e409facdcb 100644 --- a/test/CFrontend/2004-02-20-StaticRedeclare.c.tr +++ b/test/CFrontend/2004-02-20-StaticRedeclare.c.tr @@ -1,3 +1,4 @@ +// XFAIL: * // RUN: %llvmgcc -xc %s -c -o - | llvm-dis | not grep declare int one (int a) { diff --git a/test/CFrontend/2004-03-07-BitfieldCrash.c b/test/CFrontend/2004-03-07-BitfieldCrash.c index 3a68d67589..42b3bb37a1 100644 --- a/test/CFrontend/2004-03-07-BitfieldCrash.c +++ b/test/CFrontend/2004-03-07-BitfieldCrash.c @@ -1,4 +1,6 @@ - +/* + * XFAIL: linux + */ struct s { unsigned long long u33: 33; unsigned long long u40: 40; diff --git a/test/CodeGen/Generic/2003-07-29-BadConstSbyte.ll b/test/CodeGen/Generic/2003-07-29-BadConstSbyte.ll index 32da5cb372..be7767fa69 100644 --- a/test/CodeGen/Generic/2003-07-29-BadConstSbyte.ll +++ b/test/CodeGen/Generic/2003-07-29-BadConstSbyte.ll @@ -9,6 +9,7 @@ ;; ;; Incorrect LLC Output for the array yy_ec was: ;; yy_ec_1094: +;; XFAIL: darwin ;; .ascii "\000\001\001\001\001\001\001\001\001\002\003\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\002\004\005\001\001\006\a\001\b\t\n\v\f\r\016\017\020\020\020\020\020\020\020\020\020\020\001\021\022\023\024\001\001\025\025\025\025\025\025\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\026\027\030\031\032\001\033\034\035\036\037 !\"#$%&'()*+,-./$0$1$234\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001" ;; diff --git a/test/CodeGen/Generic/BurgBadRegAlloc.ll b/test/CodeGen/Generic/BurgBadRegAlloc.ll index 1caee0fa31..323841c9b0 100644 --- a/test/CodeGen/Generic/BurgBadRegAlloc.ll +++ b/test/CodeGen/Generic/BurgBadRegAlloc.ll @@ -6,6 +6,7 @@ ;; -- outgoing args of some function calls have to be swapped, causing ;; another write/read from stack to do the exchange (use -dregalloc=y). ;; +;; XFAIL: darwin %Arity = type %struct.arity* %Binding = type %struct.binding* %DeltaCost = type [4 x short] diff --git a/test/CodeGen/X86/2003-08-03-ReservedWordFunction.llx b/test/CodeGen/X86/2003-08-03-ReservedWordFunction.llx index 8ca27cffb0..2d0a0bd440 100644 --- a/test/CodeGen/X86/2003-08-03-ReservedWordFunction.llx +++ b/test/CodeGen/X86/2003-08-03-ReservedWordFunction.llx @@ -1,6 +1,6 @@ ; This testcase ensures the code emitter does something about the fact that ; we can have collisions with keywords - +; XFAIL: linux,sun ; RUN: llvm-as < %s | llc | not grep '^byte:' void %byte() { diff --git a/test/LLC/2003-07-29-BadConstSbyte.ll b/test/LLC/2003-07-29-BadConstSbyte.ll index 32da5cb372..be7767fa69 100644 --- a/test/LLC/2003-07-29-BadConstSbyte.ll +++ b/test/LLC/2003-07-29-BadConstSbyte.ll @@ -9,6 +9,7 @@ ;; ;; Incorrect LLC Output for the array yy_ec was: ;; yy_ec_1094: +;; XFAIL: darwin ;; .ascii "\000\001\001\001\001\001\001\001\001\002\003\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\002\004\005\001\001\006\a\001\b\t\n\v\f\r\016\017\020\020\020\020\020\020\020\020\020\020\001\021\022\023\024\001\001\025\025\025\025\025\025\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\026\027\030\031\032\001\033\034\035\036\037 !\"#$%&'()*+,-./$0$1$234\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001" ;; diff --git a/test/LLC/BurgBadRegAlloc.ll b/test/LLC/BurgBadRegAlloc.ll index 1caee0fa31..323841c9b0 100644 --- a/test/LLC/BurgBadRegAlloc.ll +++ b/test/LLC/BurgBadRegAlloc.ll @@ -6,6 +6,7 @@ ;; -- outgoing args of some function calls have to be swapped, causing ;; another write/read from stack to do the exchange (use -dregalloc=y). ;; +;; XFAIL: darwin %Arity = type %struct.arity* %Binding = type %struct.binding* %DeltaCost = type [4 x short] diff --git a/test/Transforms/CorrelatedExprs/looptest.ll b/test/Transforms/CorrelatedExprs/looptest.ll index 62a983a5ad..c9895d15a5 100644 --- a/test/Transforms/CorrelatedExprs/looptest.ll +++ b/test/Transforms/CorrelatedExprs/looptest.ll @@ -11,6 +11,7 @@ ; ; Note that this is a "feature" test, not a correctness test. ; +; XFAIL: * ; RUN: llvm-as < %s | opt -cee -simplifycfg | llvm-dis | not grep cond213 ; implementation ; Functions: diff --git a/test/Transforms/CorrelatedExprs/nullpointer.ll b/test/Transforms/CorrelatedExprs/nullpointer.ll index fdb561eefa..bec083a093 100644 --- a/test/Transforms/CorrelatedExprs/nullpointer.ll +++ b/test/Transforms/CorrelatedExprs/nullpointer.ll @@ -1,6 +1,7 @@ ; a load or store of a pointer indicates that the pointer is not null. ; Any succeeding uses of the pointer should get this info - +; +; XFAIL: * ; RUN: llvm-as < %s | opt -cee -instcombine -simplifycfg | llvm-dis | not grep br implementation ; Functions: diff --git a/test/Transforms/FunctionResolve/2002-11-09-ExternFn.ll b/test/Transforms/FunctionResolve/2002-11-09-ExternFn.ll index be7fd308f9..8a1723abf0 100644 --- a/test/Transforms/FunctionResolve/2002-11-09-ExternFn.ll +++ b/test/Transforms/FunctionResolve/2002-11-09-ExternFn.ll @@ -1,3 +1,4 @@ +; XFAIL: * ; ; RUN: llvm-as < %s | opt -funcresolve -instcombine | llvm-dis | not grep '\.\.\.' diff --git a/test/Transforms/FunctionResolve/2003-08-23-ArgumentWarning.ll b/test/Transforms/FunctionResolve/2003-08-23-ArgumentWarning.ll index 8d89c7d4a4..d6ac279d05 100644 --- a/test/Transforms/FunctionResolve/2003-08-23-ArgumentWarning.ll +++ b/test/Transforms/FunctionResolve/2003-08-23-ArgumentWarning.ll @@ -1,3 +1,4 @@ +; XFAIL: * ; RUN: llvm-as < %s | opt -funcresolve -disable-output 2>&1 | not grep WARNING declare int %foo(int *%X) diff --git a/test/Transforms/IndVarsSimplify/subtract.ll b/test/Transforms/IndVarsSimplify/subtract.ll index 49f4089172..40bbce9ed9 100644 --- a/test/Transforms/IndVarsSimplify/subtract.ll +++ b/test/Transforms/IndVarsSimplify/subtract.ll @@ -1,3 +1,4 @@ +; XFAIL: * ; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar %G = global long 0 diff --git a/test/Transforms/InstCombine/bit-tracking.ll b/test/Transforms/InstCombine/bit-tracking.ll index 06cf65ccc9..c979833bc0 100644 --- a/test/Transforms/InstCombine/bit-tracking.ll +++ b/test/Transforms/InstCombine/bit-tracking.ll @@ -1,6 +1,6 @@ ; This file contains various testcases that require tracking whether bits are ; set or cleared by various instructions. - +; XFAIL: * ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep %ELIM ; test1 - Eliminating the casts in this testcase (by narrowing the AND diff --git a/test/Transforms/InstCombine/pow.ll b/test/Transforms/InstCombine/pow.ll index 308bf5a40d..2b215dbf2f 100644 --- a/test/Transforms/InstCombine/pow.ll +++ b/test/Transforms/InstCombine/pow.ll @@ -1,7 +1,7 @@ ; Testcase for calls to the standard C "pow" function ; ; Equivalent to: http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01786.html - +; XFAIL: * ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'call double %pow' declare double %pow(double, double) diff --git a/test/Transforms/LevelRaise/2002-02-11-ArrayShape.ll b/test/Transforms/LevelRaise/2002-02-11-ArrayShape.ll index 08d2c24327..1bb63dd778 100644 --- a/test/Transforms/LevelRaise/2002-02-11-ArrayShape.ll +++ b/test/Transforms/LevelRaise/2002-02-11-ArrayShape.ll @@ -17,6 +17,7 @@ ; The fix is to have the -raise pass correctly convert it to the second ; equivelent form. ; +; XFAIL: * ; RUN: llvm-as < %s | opt -q -raise > Output/%s.raised.bc ; RUN: lli -force-interpreter -array-checks < Output/%s.raised.bc ; diff --git a/test/Transforms/LevelRaise/2002-03-21-MissedRaise.ll b/test/Transforms/LevelRaise/2002-03-21-MissedRaise.ll index 969fdfc738..61c39723c1 100644 --- a/test/Transforms/LevelRaise/2002-03-21-MissedRaise.ll +++ b/test/Transforms/LevelRaise/2002-03-21-MissedRaise.ll @@ -1,7 +1,7 @@ ; This example should be raised to return a Hash directly without casting. To ; successful, all cast instructions should be eliminated from this testcase. ; - +; XFAIL: * ; RUN: llvm-as < %s | opt -raise | llvm-dis | not grep cast %Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } * diff --git a/test/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll b/test/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll index bae5a285dc..be25022e49 100644 --- a/test/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll +++ b/test/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll @@ -2,7 +2,7 @@ ; instructions to change type if they were 'array' allocations. This ; prevented reg115 from being able to change. ; - +; XFAIL: * ; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \* %Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } * diff --git a/test/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll b/test/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll index e1350cb403..b3e42cc9dc 100644 --- a/test/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll +++ b/test/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll @@ -1,3 +1,4 @@ +; XFAIL: * ; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \* %Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } * diff --git a/test/Transforms/LevelRaise/2002-04-16-MissedRaise.ll b/test/Transforms/LevelRaise/2002-04-16-MissedRaise.ll index f89551ddce..c1a4e056a9 100644 --- a/test/Transforms/LevelRaise/2002-04-16-MissedRaise.ll +++ b/test/Transforms/LevelRaise/2002-04-16-MissedRaise.ll @@ -1,3 +1,4 @@ +; XFAIL: * ; this testcase is distilled from this C source: ; int *foo(unsigned N, unsigned M) { ; unsigned i = (N+1)*sizeof(int); diff --git a/test/Transforms/LevelRaise/2002-05-02-MissedRaise.ll b/test/Transforms/LevelRaise/2002-05-02-MissedRaise.ll index 322e3248a0..615217e09c 100644 --- a/test/Transforms/LevelRaise/2002-05-02-MissedRaise.ll +++ b/test/Transforms/LevelRaise/2002-05-02-MissedRaise.ll @@ -1,5 +1,5 @@ ; This testcase is not level raised properly... -; +; XFAIL: * ; RUN: llvm-as < %s | opt -raise | llvm-dis | grep ' cast ' | not grep '*' %List = type { int, %List* } diff --git a/test/Transforms/LevelRaise/2002-05-23-MissedRaise.ll b/test/Transforms/LevelRaise/2002-05-23-MissedRaise.ll index 97549f4d37..c092e6b181 100644 --- a/test/Transforms/LevelRaise/2002-05-23-MissedRaise.ll +++ b/test/Transforms/LevelRaise/2002-05-23-MissedRaise.ll @@ -1,3 +1,4 @@ +; XFAIL: * ; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \* %FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint } diff --git a/test/Transforms/LevelRaise/2002-07-16-MissedRaise.ll b/test/Transforms/LevelRaise/2002-07-16-MissedRaise.ll index 5d49248ad1..c3406bab72 100644 --- a/test/Transforms/LevelRaise/2002-07-16-MissedRaise.ll +++ b/test/Transforms/LevelRaise/2002-07-16-MissedRaise.ll @@ -4,7 +4,7 @@ ; ; This could be fixed by making all stores add themselves to a list, and check ; their arguments are consistent AFTER all other values are propogated. - +; XFAIL: * ; RUN: llvm-as < %s | opt -raise | llvm-dis | not grep '= cast' %Tree = type %struct.tree* diff --git a/test/Transforms/LevelRaise/2002-07-18-MissedAllocaRaise.ll b/test/Transforms/LevelRaise/2002-07-18-MissedAllocaRaise.ll index e8a71beff7..422b977e24 100644 --- a/test/Transforms/LevelRaise/2002-07-18-MissedAllocaRaise.ll +++ b/test/Transforms/LevelRaise/2002-07-18-MissedAllocaRaise.ll @@ -1,5 +1,5 @@ ; Looks like we don't raise alloca's like we do mallocs -; +; XFAIL: * ; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \* implementation ; Functions: diff --git a/test/Transforms/Mem2Reg/DifferingTypes.ll b/test/Transforms/Mem2Reg/DifferingTypes.ll index 91e33e04c0..8cf793c85e 100644 --- a/test/Transforms/Mem2Reg/DifferingTypes.ll +++ b/test/Transforms/Mem2Reg/DifferingTypes.ll @@ -1,7 +1,7 @@ ; This is a feature test. Hopefully one day this will be implemented. The ; generated code should perform the appropriate masking operations required ; depending on the endianness of the target... - +; XFAIL: * ; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep 'alloca' implementation diff --git a/test/Transforms/TailCallElim/tail_call_with_branch.ll b/test/Transforms/TailCallElim/tail_call_with_branch.ll index de606fc231..159cb4ae55 100644 --- a/test/Transforms/TailCallElim/tail_call_with_branch.ll +++ b/test/Transforms/TailCallElim/tail_call_with_branch.ll @@ -1,7 +1,7 @@ ; This testcase is due to tail-duplication not wanting to copy the return ; instruction into the terminating blocks because there was other code ; optimized out of the function after the taildup happened. - +; XFAIL: linux,sun,darwin ; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | not grep call int %t4(int %a) { |