X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FLinker%2Ftestlink1.ll;h=4a9402576ef23c446b9099eaf7509eec99d0ba94;hb=51cd9d6e073932fcb37f1857c66249d6c7d368ee;hp=35b6eeb6f6493f00b2b2692f3366153eedb9c595;hpb=e7e5918755821f644f46340dcac75a8f3fc4be15;p=oota-llvm.git diff --git a/test/Linker/testlink1.ll b/test/Linker/testlink1.ll index 35b6eeb6f64..4a9402576ef 100644 --- a/test/Linker/testlink1.ll +++ b/test/Linker/testlink1.ll @@ -1,46 +1,42 @@ -; RUN: as < %s > Output/%s.bc -; RUN: as < testlink2.ll > Output/testlink2.bc -; RUN: link Output/%s.bc Output/testlink2.bc - -%MyVar = uninitialized global int -%MyIntList = global { \2 *, int } { { \2, int }* null, int 17 } - uninitialized global int ; int*:0 - -%AConst = constant int 123 - -%Intern1 = internal constant int 42 -%Intern2 = internal constant int 792 - -; Initialized to point to external %MyVar -%MyVarPtr = global { int * } { int * %MyVar } - -declare int "foo"(int %blah) ;; Declared in testlink2.ll - -declare void "print"(int %Value) - -implementation - -void "main"() -begin - %v1 = load int* %MyVar - call void %print(int %v1) ;; Should start out 4 - - %idx = getelementptr { \2 *, int }* %MyIntList, uint 0, ubyte 1 - %v2 = load int* %idx - call void %print(int %v2) ;; Should start out 17 - - call int %foo(int 5) ;; Modify global variablesx - - %v3 = load int* %MyVar - call void %print(int %v3) ;; Should now be 5 - - %v4 = load int* %idx - call void %print(int %v4) ;; Should start out 12 +; RUN: llvm-as < %s > %t.bc +; RUN: llvm-as < %p/testlink2.ll > %t2.bc +; RUN: llvm-link %t.bc %t2.bc + +@MyVar = external global i32 ; [#uses=3] +@MyIntList = global { \2*, i32 } { { \2*, i32 }* null, i32 17 } ; <{ \2*, i32 }*> [#uses=1] +external global i32 ; :0 [#uses=0] +@Inte = global i32 1 ; [#uses=0] +@AConst = linkonce constant i32 123 ; [#uses=0] +@Intern1 = internal constant i32 42 ; [#uses=0] +@Intern2 = internal constant i32 792 ; [#uses=0] +@MyVarPtr = linkonce global { i32* } { i32* @MyVar } ; <{ i32* }*> [#uses=0] + +declare i32 @foo(i32) + +declare void @print(i32) + +define void @main() { + %v1 = load i32* @MyVar ; [#uses=1] + call void @print( i32 %v1 ) + %idx = getelementptr { \2*, i32 }* @MyIntList, i64 0, i32 1 ; [#uses=2] + %v2 = load i32* %idx ; [#uses=1] + call void @print( i32 %v2 ) + call i32 @foo( i32 5 ) ; :1 [#uses=0] + %v3 = load i32* @MyVar ; [#uses=1] + call void @print( i32 %v3 ) + %v4 = load i32* %idx ; [#uses=1] + call void @print( i32 %v4 ) + ret void +} +define internal void @testintern() { ret void -end +} -internal void "testintern"() begin ret void end -internal void "Testintern"() begin ret void end - void "testIntern"() begin ret void end +define internal void @Testintern() { + ret void +} +define void @testIntern() { + ret void +}