; This should cause the global node to collapse!!
-;
+; XFAIL: *
; RUN: analyze %s -datastructure-gc --dsgc-check-flags=test:GAU
%Tree = type { int, %Tree*, %Tree* }
; 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
; 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
; 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 *
; 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*)*
-
+// XFAIL: darwin,sun
// Default placement versions of operator new.
inline void* operator new(unsigned, void* __p) throw();
-
+// XFAIL: linux,sun,darwin
union foo {
struct { char A, B; } X;
-
+// XFAIL: *
/* It is unlikely that LLVM will ever support nested functions, but if it does,
here is a testcase. */
-/* This is apparently legal C. */
+/* This is apparently legal C.
+ */
extern __inline__ void test() { }
void test() {
-
+// XFAIL: linux,sun,darwin
struct istruct {
unsigned char C;
};
-
struct foo {
unsigned int I:1;
unsigned char J[1][123];
/*
* 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;
+// XFAIL: *
// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | grep llvm.memset
char test(int X) {
+// XFAIL: *
// RUN: %llvmgcc -xc %s -c -o - | llvm-dis | not grep declare
int one (int a) {
-
+/*
+ * XFAIL: linux
+ */
struct s {
unsigned long long u33: 33;
unsigned long long u40: 40;
;;
;; 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"
;;
;; -- 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]
; 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() {
;;
;; 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"
;;
;; -- 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]
;
; 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:
; 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:
+; XFAIL: *
;
; RUN: llvm-as < %s | opt -funcresolve -instcombine | llvm-dis | not grep '\.\.\.'
+; XFAIL: *
; RUN: llvm-as < %s | opt -funcresolve -disable-output 2>&1 | not grep WARNING
declare int %foo(int *%X)
+; XFAIL: *
; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar
%G = global long 0
; 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
; 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)
; 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
;
; 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 } *
; 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 } *
+; XFAIL: *
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
%Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } *
+; XFAIL: *
; this testcase is distilled from this C source:
; int *foo(unsigned N, unsigned M) {
; unsigned i = (N+1)*sizeof(int);
; This testcase is not level raised properly...
-;
+; XFAIL: *
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep ' cast ' | not grep '*'
%List = type { int, %List* }
+; XFAIL: *
; RUN: llvm-as < %s | opt -raise | llvm-dis | grep '= cast' | not grep \*
%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
;
; 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*
; 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:
; 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
; 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) {