diff --git a/test/CodeGen/Alpha/2006-01-18-MissedGlobal.ll b/test/CodeGen/Alpha/2006-01-18-MissedGlobal.ll new file mode 100644 index 00000000000..c9d33d77f6d --- /dev/null +++ b/test/CodeGen/Alpha/2006-01-18-MissedGlobal.ll @@ -0,0 +1,30 @@ +; The global symbol should be legalized +; RUN: llvm-as < %s | llc -march=alpha + +target endian = little +target pointersize = 64 + %struct.LIST_HELP = type { %struct.LIST_HELP*, sbyte* } + %struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, long, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [44 x sbyte] } + %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int } +%clause_SORT = external global [21 x %struct.LIST_HELP*] ; <[21 x %struct.LIST_HELP*]*> [#uses=1] +%ia_in = external global %struct._IO_FILE* ; <%struct._IO_FILE**> [#uses=1] +%multvec_j = external global [100 x uint] ; <[100 x uint]*> [#uses=1] + +implementation ; Functions: + +void %main(int %argc) { +clock_Init.exit: + %tmp.5.i575 = load int* null ; <int> [#uses=1] + %tmp.309 = seteq int %tmp.5.i575, 0 ; <bool> [#uses=1] + br bool %tmp.309, label %UnifiedReturnBlock, label %then.17 + +then.17: ; preds = %clock_Init.exit + store %struct._IO_FILE* null, %struct._IO_FILE** %ia_in + %savedstack = call sbyte* %llvm.stacksave( ) ; <sbyte*> [#uses=0] + ret void + +UnifiedReturnBlock: ; preds = %clock_Init.exit + ret void +} + +declare sbyte* %llvm.stacksave()