mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-28 07:17:32 +00:00
Adding XFAIL lines for dejagnu support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17514 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
; This should cause the global node to collapse!!
|
; This should cause the global node to collapse!!
|
||||||
;
|
; XFAIL: *
|
||||||
; RUN: analyze %s -datastructure-gc --dsgc-check-flags=test:GAU
|
; RUN: analyze %s -datastructure-gc --dsgc-check-flags=test:GAU
|
||||||
|
|
||||||
%Tree = type { int, %Tree*, %Tree* }
|
%Tree = type { int, %Tree*, %Tree* }
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
; This test was failing because the globals X and Y are marked incomplete
|
; This test was failing because the globals X and Y are marked incomplete
|
||||||
; in the TD graph for %test
|
; 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
|
; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse -instcombine | llvm-dis | not grep seteq
|
||||||
|
|
||||||
%X = internal global int 20
|
%X = internal global int 20
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
; Test that ds-aa is returning must-alias information when it can.
|
; 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
|
; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load
|
||||||
|
|
||||||
%X = internal global int 20
|
%X = internal global int 20
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
; This should parse correctly without an 'implementation', but our current YACC
|
; This should parse correctly without an 'implementation', but our current YACC
|
||||||
; based parser doesn't have the required 2 token lookahead...
|
; based parser doesn't have the required 2 token lookahead...
|
||||||
; XFAIL
|
; XFAIL: *
|
||||||
|
|
||||||
%T = type int *
|
%T = type int *
|
||||||
|
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
; This file takes about 48 __MINUTES__ to assemble using as. This is WAY too
|
; 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.
|
; long. The type resolution code needs to be sped up a lot.
|
||||||
|
|
||||||
; RUN: ulimit -t 20; llvm-as < %s
|
; RUN: ulimit -t 20; llvm-as < %s
|
||||||
|
|
||||||
%ALL_INTERSECTIONS_METHOD = type int (%OBJECT*, %RAY*, %ISTACK*)*
|
%ALL_INTERSECTIONS_METHOD = type int (%OBJECT*, %RAY*, %ISTACK*)*
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
|
// XFAIL: darwin,sun
|
||||||
// Default placement versions of operator new.
|
// Default placement versions of operator new.
|
||||||
inline void* operator new(unsigned, void* __p) throw();
|
inline void* operator new(unsigned, void* __p) throw();
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
|
// XFAIL: linux,sun,darwin
|
||||||
|
|
||||||
union foo {
|
union foo {
|
||||||
struct { char A, B; } X;
|
struct { char A, B; } X;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
|
// XFAIL: *
|
||||||
/* It is unlikely that LLVM will ever support nested functions, but if it does,
|
/* It is unlikely that LLVM will ever support nested functions, but if it does,
|
||||||
here is a testcase. */
|
here is a testcase. */
|
||||||
|
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
/* This is apparently legal C. */
|
/* This is apparently legal C.
|
||||||
|
*/
|
||||||
extern __inline__ void test() { }
|
extern __inline__ void test() { }
|
||||||
|
|
||||||
void test() {
|
void test() {
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
|
// XFAIL: linux,sun,darwin
|
||||||
struct istruct {
|
struct istruct {
|
||||||
unsigned char C;
|
unsigned char C;
|
||||||
};
|
};
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
struct foo {
|
struct foo {
|
||||||
unsigned int I:1;
|
unsigned int I:1;
|
||||||
unsigned char J[1][123];
|
unsigned char J[1][123];
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* This regression test ensures that the C front end can compile initializers
|
* This regression test ensures that the C front end can compile initializers
|
||||||
* even when it cannot determine the size (as below).
|
* even when it cannot determine the size (as below).
|
||||||
*/
|
* XFAIL: linux,darwin
|
||||||
|
*/
|
||||||
struct one
|
struct one
|
||||||
{
|
{
|
||||||
int a;
|
int a;
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
// XFAIL: *
|
||||||
// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep llvm.memset
|
// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep llvm.memset
|
||||||
|
|
||||||
char test(int X) {
|
char test(int X) {
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
// XFAIL: *
|
||||||
// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | not grep declare
|
// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | not grep declare
|
||||||
|
|
||||||
int one (int a) {
|
int one (int a) {
|
||||||
|
@@ -1,4 +1,6 @@
|
|||||||
|
/*
|
||||||
|
* XFAIL: linux
|
||||||
|
*/
|
||||||
struct s {
|
struct s {
|
||||||
unsigned long long u33: 33;
|
unsigned long long u33: 33;
|
||||||
unsigned long long u40: 40;
|
unsigned long long u40: 40;
|
||||||
|
@@ -9,6 +9,7 @@
|
|||||||
;;
|
;;
|
||||||
;; Incorrect LLC Output for the array yy_ec was:
|
;; Incorrect LLC Output for the array yy_ec was:
|
||||||
;; yy_ec_1094:
|
;; 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"
|
;; .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"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
;; -- outgoing args of some function calls have to be swapped, causing
|
;; -- outgoing args of some function calls have to be swapped, causing
|
||||||
;; another write/read from stack to do the exchange (use -dregalloc=y).
|
;; another write/read from stack to do the exchange (use -dregalloc=y).
|
||||||
;;
|
;;
|
||||||
|
;; XFAIL: darwin
|
||||||
%Arity = type %struct.arity*
|
%Arity = type %struct.arity*
|
||||||
%Binding = type %struct.binding*
|
%Binding = type %struct.binding*
|
||||||
%DeltaCost = type [4 x short]
|
%DeltaCost = type [4 x short]
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
; This testcase ensures the code emitter does something about the fact that
|
; This testcase ensures the code emitter does something about the fact that
|
||||||
; we can have collisions with keywords
|
; we can have collisions with keywords
|
||||||
|
; XFAIL: linux,sun
|
||||||
; RUN: llvm-as < %s | llc | not grep '^byte:'
|
; RUN: llvm-as < %s | llc | not grep '^byte:'
|
||||||
|
|
||||||
void %byte() {
|
void %byte() {
|
||||||
|
@@ -9,6 +9,7 @@
|
|||||||
;;
|
;;
|
||||||
;; Incorrect LLC Output for the array yy_ec was:
|
;; Incorrect LLC Output for the array yy_ec was:
|
||||||
;; yy_ec_1094:
|
;; 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"
|
;; .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"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
;; -- outgoing args of some function calls have to be swapped, causing
|
;; -- outgoing args of some function calls have to be swapped, causing
|
||||||
;; another write/read from stack to do the exchange (use -dregalloc=y).
|
;; another write/read from stack to do the exchange (use -dregalloc=y).
|
||||||
;;
|
;;
|
||||||
|
;; XFAIL: darwin
|
||||||
%Arity = type %struct.arity*
|
%Arity = type %struct.arity*
|
||||||
%Binding = type %struct.binding*
|
%Binding = type %struct.binding*
|
||||||
%DeltaCost = type [4 x short]
|
%DeltaCost = type [4 x short]
|
||||||
|
@@ -11,6 +11,7 @@
|
|||||||
;
|
;
|
||||||
; Note that this is a "feature" test, not a correctness test.
|
; Note that this is a "feature" test, not a correctness test.
|
||||||
;
|
;
|
||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -cee -simplifycfg | llvm-dis | not grep cond213
|
; RUN: llvm-as < %s | opt -cee -simplifycfg | llvm-dis | not grep cond213
|
||||||
;
|
;
|
||||||
implementation ; Functions:
|
implementation ; Functions:
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
; a load or store of a pointer indicates that the pointer is not null.
|
; a load or store of a pointer indicates that the pointer is not null.
|
||||||
; Any succeeding uses of the pointer should get this info
|
; Any succeeding uses of the pointer should get this info
|
||||||
|
;
|
||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -cee -instcombine -simplifycfg | llvm-dis | not grep br
|
; RUN: llvm-as < %s | opt -cee -instcombine -simplifycfg | llvm-dis | not grep br
|
||||||
|
|
||||||
implementation ; Functions:
|
implementation ; Functions:
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
; XFAIL: *
|
||||||
;
|
;
|
||||||
; RUN: llvm-as < %s | opt -funcresolve -instcombine | llvm-dis | not grep '\.\.\.'
|
; RUN: llvm-as < %s | opt -funcresolve -instcombine | llvm-dis | not grep '\.\.\.'
|
||||||
|
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -funcresolve -disable-output 2>&1 | not grep WARNING
|
; RUN: llvm-as < %s | opt -funcresolve -disable-output 2>&1 | not grep WARNING
|
||||||
|
|
||||||
declare int %foo(int *%X)
|
declare int %foo(int *%X)
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar
|
; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar
|
||||||
|
|
||||||
%G = global long 0
|
%G = global long 0
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
; This file contains various testcases that require tracking whether bits are
|
; This file contains various testcases that require tracking whether bits are
|
||||||
; set or cleared by various instructions.
|
; set or cleared by various instructions.
|
||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep %ELIM
|
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep %ELIM
|
||||||
|
|
||||||
; test1 - Eliminating the casts in this testcase (by narrowing the AND
|
; test1 - Eliminating the casts in this testcase (by narrowing the AND
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
; Testcase for calls to the standard C "pow" function
|
; Testcase for calls to the standard C "pow" function
|
||||||
;
|
;
|
||||||
; Equivalent to: http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01786.html
|
; 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'
|
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'call double %pow'
|
||||||
|
|
||||||
declare double %pow(double, double)
|
declare double %pow(double, double)
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
; The fix is to have the -raise pass correctly convert it to the second
|
; The fix is to have the -raise pass correctly convert it to the second
|
||||||
; equivelent form.
|
; equivelent form.
|
||||||
;
|
;
|
||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -q -raise > Output/%s.raised.bc
|
; RUN: llvm-as < %s | opt -q -raise > Output/%s.raised.bc
|
||||||
; RUN: lli -force-interpreter -array-checks < Output/%s.raised.bc
|
; RUN: lli -force-interpreter -array-checks < Output/%s.raised.bc
|
||||||
;
|
;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
; This example should be raised to return a Hash directly without casting. To
|
; This example should be raised to return a Hash directly without casting. To
|
||||||
; successful, all cast instructions should be eliminated from this testcase.
|
; successful, all cast instructions should be eliminated from this testcase.
|
||||||
;
|
;
|
||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -raise | llvm-dis | not grep cast
|
; RUN: llvm-as < %s | opt -raise | llvm-dis | not grep cast
|
||||||
|
|
||||||
%Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } *
|
%Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } *
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
; instructions to change type if they were 'array' allocations. This
|
; instructions to change type if they were 'array' allocations. This
|
||||||
; prevented reg115 from being able to change.
|
; prevented reg115 from being able to change.
|
||||||
;
|
;
|
||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
|
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
|
||||||
|
|
||||||
%Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } *
|
%Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } *
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
|
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
|
||||||
|
|
||||||
%Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } *
|
%Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } *
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
; XFAIL: *
|
||||||
; this testcase is distilled from this C source:
|
; this testcase is distilled from this C source:
|
||||||
; int *foo(unsigned N, unsigned M) {
|
; int *foo(unsigned N, unsigned M) {
|
||||||
; unsigned i = (N+1)*sizeof(int);
|
; unsigned i = (N+1)*sizeof(int);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
; This testcase is not level raised properly...
|
; This testcase is not level raised properly...
|
||||||
;
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep ' cast ' | not grep '*'
|
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep ' cast ' | not grep '*'
|
||||||
|
|
||||||
%List = type { int, %List* }
|
%List = type { int, %List* }
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
|
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
|
||||||
|
|
||||||
%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
|
%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
;
|
;
|
||||||
; This could be fixed by making all stores add themselves to a list, and check
|
; 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.
|
; their arguments are consistent AFTER all other values are propogated.
|
||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -raise | llvm-dis | not grep '= cast'
|
; RUN: llvm-as < %s | opt -raise | llvm-dis | not grep '= cast'
|
||||||
|
|
||||||
%Tree = type %struct.tree*
|
%Tree = type %struct.tree*
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
; Looks like we don't raise alloca's like we do mallocs
|
; 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 \*
|
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
|
||||||
|
|
||||||
implementation ; Functions:
|
implementation ; Functions:
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
; This is a feature test. Hopefully one day this will be implemented. The
|
; This is a feature test. Hopefully one day this will be implemented. The
|
||||||
; generated code should perform the appropriate masking operations required
|
; generated code should perform the appropriate masking operations required
|
||||||
; depending on the endianness of the target...
|
; depending on the endianness of the target...
|
||||||
|
; XFAIL: *
|
||||||
; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep 'alloca'
|
; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep 'alloca'
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
; This testcase is due to tail-duplication not wanting to copy the return
|
; This testcase is due to tail-duplication not wanting to copy the return
|
||||||
; instruction into the terminating blocks because there was other code
|
; instruction into the terminating blocks because there was other code
|
||||||
; optimized out of the function after the taildup happened.
|
; optimized out of the function after the taildup happened.
|
||||||
|
; XFAIL: linux,sun,darwin
|
||||||
; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | not grep call
|
; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | not grep call
|
||||||
|
|
||||||
int %t4(int %a) {
|
int %t4(int %a) {
|
||||||
|
Reference in New Issue
Block a user