Cleanup testcase a lot to test JUST funcresolve of globals
[oota-llvm.git] / test / Transforms / FunctionResolve / 2002-08-19-ResolveGlobalVars.ll
index 7dfbf900604b8d6f987d9d2217c4bacde809227b..0da78ee9d0c0caa5c7678bd9a09ebea0a14bb997 100644 (file)
@@ -1,25 +1,22 @@
-; Test that: extern int X[]  and int X[] = { 1, 2, 3, 4 } are resolved correctly.
+; Test that: extern int X[]  and int X[] = { 1, 2, 3, 4 } are resolved 
+; correctly.
 ;
-; RUN: if as < %s | opt -gcse -instcombine -constprop -dce | dis | grep getelementptr
+; RUN: if as < %s | opt -funcresolve | dis | grep external
 ; RUN: then exit 1
 ; RUN: else exit 0
 ; RUN: fi
 ;
 
-%X = uninitialized global int           ; <int*> [#uses=1]
-%X = global [4 x int] [ int 1, int 2, int 3, int 4 ]            ; <[4 x int]*> [#uses=1]
+%X = external global int
+%X = global [4 x int] [ int 1, int 2, int 3, int 4 ]
 
 implementation   ; Functions:
 
 int %foo(int %x) {
 bb1:                                    ;[#uses=0]
-        %reg107-idxcast = cast int %x to uint           ; <uint> [#uses=2]
-        %reg113 = getelementptr int* %X, uint %reg107-idxcast           ; <int*> [#uses=1]
-        %reg120 = getelementptr [4 x int]* %X, uint 0, uint %reg107-idxcast             ; <int*> [#uses=1]
-        %reg123 = sub int* %reg113, %reg120             ; <int*> [#uses=1]
-        %cast232 = cast int* %reg123 to long            ; <long> [#uses=1]
-        %reg234 = div long %cast232, 4          ; <long> [#uses=1]
-        %cast108 = cast long %reg234 to int             ; <int> [#uses=1]
-        ret int %cast108
+       store int 5, int* getelementptr (int* %X, long 2)
+       %F = getelementptr int* %X, long 2
+       %val = load int* %F
+        ret int %val
 }