summaryrefslogtreecommitdiff
path: root/test/Linker
diff options
context:
space:
mode:
authorTanya Lattner <tonic@nondot.org>2008-03-10 07:21:50 +0000
committerTanya Lattner <tonic@nondot.org>2008-03-10 07:21:50 +0000
commitceca194c4355224723b309a3a27c5e5bc19cb6fc (patch)
treed976e8cf9d933c32868d72a94d1ec2d9d7205735 /test/Linker
parentf79e60649a5edea03bdccf8521d77c15cbb33af4 (diff)
Remove llvm-upgrade and update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48137 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Linker')
-rw-r--r--test/Linker/2003-11-18-TypeResolution.ll15
-rw-r--r--test/Linker/2004-02-17-WeakStrongLinkage.ll6
-rw-r--r--test/Linker/2004-05-07-TypeResolution1.ll68
-rw-r--r--test/Linker/2004-05-07-TypeResolution2.ll22
-rw-r--r--test/Linker/2005-02-12-ConstantGlobals.ll4
-rw-r--r--test/Linker/2005-12-06-AppendingZeroLengthArrays.ll5
-rw-r--r--test/Linker/2006-01-19-ConstantPacked.ll14
-rw-r--r--test/Linker/AppendingLinkage.ll18
-rw-r--r--test/Linker/AppendingLinkage2.ll8
-rw-r--r--test/Linker/ConstantGlobals1.ll9
-rw-r--r--test/Linker/ConstantGlobals2.ll9
-rw-r--r--test/Linker/ConstantGlobals3.ll8
-rw-r--r--test/Linker/LinkOnce.ll6
-rw-r--r--test/Linker/testlink1.ll78
-rw-r--r--test/Linker/testlink2.ll67
-rw-r--r--test/Linker/weakextern.ll11
16 files changed, 162 insertions, 186 deletions
diff --git a/test/Linker/2003-11-18-TypeResolution.ll b/test/Linker/2003-11-18-TypeResolution.ll
index ff22e314372..d3152eda8e9 100644
--- a/test/Linker/2003-11-18-TypeResolution.ll
+++ b/test/Linker/2003-11-18-TypeResolution.ll
@@ -4,19 +4,16 @@
; little symbol table. This is causing llvm-link to die, at no fault of its
; own.
-; RUN: llvm-upgrade %s | llvm-as > %t.out2.bc
+; RUN: llvm-as < %s > %t.out2.bc
; RUN: echo "%T1 = type opaque @GVar = external global %T1*" | llvm-as > %t.out1.bc
; RUN: llvm-link %t.out1.bc %t.out2.bc
- %T1 = type opaque
- %T2 = type int
+%T1 = type opaque
+%T2 = type i32
+@GVar = global i32* null ; <i32**> [#uses=0]
-%GVar = global %T2 * null
-
-implementation
-
-void %foo(%T2 * %X) {
- %X = cast %T2* %X to %T1 *
+define void @foo(i32* %X) {
+ %X.upgrd.1 = bitcast i32* %X to %T1* ; <%T1*> [#uses=0]
ret void
}
diff --git a/test/Linker/2004-02-17-WeakStrongLinkage.ll b/test/Linker/2004-02-17-WeakStrongLinkage.ll
index 4c6e8f869e1..0e970ddb489 100644
--- a/test/Linker/2004-02-17-WeakStrongLinkage.ll
+++ b/test/Linker/2004-02-17-WeakStrongLinkage.ll
@@ -1,7 +1,7 @@
-; RUN: llvm-upgrade < %s | llvm-as > %t.out2.bc
-; RUN: echo "%me = global int* null" | llvm-upgrade | llvm-as > %t.out1.bc
+; RUN: llvm-as < %s > %t.out2.bc
+; RUN: echo "@me = global i32* null" | llvm-as > %t.out1.bc
; RUN: llvm-link %t.out1.bc %t.out2.bc -o /dev/null -f
-%me = weak global int * null
+@me = weak global i32* null ; <i32**> [#uses=0]
diff --git a/test/Linker/2004-05-07-TypeResolution1.ll b/test/Linker/2004-05-07-TypeResolution1.ll
index 1c90079eae9..970a6d2f0f2 100644
--- a/test/Linker/2004-05-07-TypeResolution1.ll
+++ b/test/Linker/2004-05-07-TypeResolution1.ll
@@ -1,45 +1,35 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t1.bc
-; RUN: llvm-upgrade < %p/2004-05-07-TypeResolution2.ll | \
-; RUN: llvm-as -o %t2.bc -f
+; RUN: llvm-as < %s -f -o %t1.bc
+; RUN: llvm-as < %p/2004-05-07-TypeResolution2.ll -o %t2.bc -f
; RUN: llvm-link -f -o %t3.bc %t1.bc %t2.bc
-target endian = little
-target pointersize = 32
-
- %myint = type opaque
+target datalayout = "e-p:32:32"
+ %myint = type opaque
+ %struct1 = type { i32, void (%struct2*)*, %myint*, i32 (i32*)* }
%struct2 = type { %struct1 }
-
- %struct1 = type { int, void (%struct2*)*, %myint *, int (uint *)* }
-
-
-%driver1 = global %struct1 zeroinitializer ; <%struct1*> [#uses=1]
-
-%m1 = external global [1 x sbyte] * ; <%struct.task_struct**> [#uses=0]
-;%m1 = external global uint ; <%struct.task_struct**> [#uses=0]
-%str1 = constant [1 x ubyte] zeroinitializer
-%str2 = constant [2 x ubyte] zeroinitializer
-%str3 = constant [3 x ubyte] zeroinitializer
-%str4 = constant [4 x ubyte] zeroinitializer
-%str5 = constant [5 x ubyte] zeroinitializer
-%str6 = constant [6 x ubyte] zeroinitializer
-%str7 = constant [7 x ubyte] zeroinitializer
-%str8 = constant [8 x ubyte] zeroinitializer
-%str9 = constant [9 x ubyte] zeroinitializer
-%stra = constant [10 x ubyte] zeroinitializer
-%strb = constant [11 x ubyte] zeroinitializer
-%strc = constant [12 x ubyte] zeroinitializer
-%strd = constant [13 x ubyte] zeroinitializer
-%stre = constant [14 x ubyte] zeroinitializer
-%strf = constant [15 x ubyte] zeroinitializer
-%strg = constant [16 x ubyte] zeroinitializer
-%strh = constant [17 x ubyte] zeroinitializer
-
-implementation ; Functions:
-
-declare void %func(%struct2*)
-
-void %tty_init() {
+@driver1 = global %struct1 zeroinitializer ; <%struct1*> [#uses=1]
+@m1 = external global [1 x i8]* ; <[1 x i8]**> [#uses=0]
+@str1 = constant [1 x i8] zeroinitializer ; <[1 x i8]*> [#uses=0]
+@str2 = constant [2 x i8] zeroinitializer ; <[2 x i8]*> [#uses=0]
+@str3 = constant [3 x i8] zeroinitializer ; <[3 x i8]*> [#uses=0]
+@str4 = constant [4 x i8] zeroinitializer ; <[4 x i8]*> [#uses=0]
+@str5 = constant [5 x i8] zeroinitializer ; <[5 x i8]*> [#uses=0]
+@str6 = constant [6 x i8] zeroinitializer ; <[6 x i8]*> [#uses=0]
+@str7 = constant [7 x i8] zeroinitializer ; <[7 x i8]*> [#uses=0]
+@str8 = constant [8 x i8] zeroinitializer ; <[8 x i8]*> [#uses=0]
+@str9 = constant [9 x i8] zeroinitializer ; <[9 x i8]*> [#uses=0]
+@stra = constant [10 x i8] zeroinitializer ; <[10 x i8]*> [#uses=0]
+@strb = constant [11 x i8] zeroinitializer ; <[11 x i8]*> [#uses=0]
+@strc = constant [12 x i8] zeroinitializer ; <[12 x i8]*> [#uses=0]
+@strd = constant [13 x i8] zeroinitializer ; <[13 x i8]*> [#uses=0]
+@stre = constant [14 x i8] zeroinitializer ; <[14 x i8]*> [#uses=0]
+@strf = constant [15 x i8] zeroinitializer ; <[15 x i8]*> [#uses=0]
+@strg = constant [16 x i8] zeroinitializer ; <[16 x i8]*> [#uses=0]
+@strh = constant [17 x i8] zeroinitializer ; <[17 x i8]*> [#uses=0]
+
+declare void @func(%struct2*)
+
+define void @tty_init() {
entry:
- volatile store void (%struct2*)* %func, void (%struct2 *)** getelementptr (%struct1* %driver1, uint 0, uint 1)
+ volatile store void (%struct2*)* @func, void (%struct2*)** getelementptr (%struct1* @driver1, i64 0, i32 1)
ret void
}
diff --git a/test/Linker/2004-05-07-TypeResolution2.ll b/test/Linker/2004-05-07-TypeResolution2.ll
index 05be6111644..74fe39f4d9f 100644
--- a/test/Linker/2004-05-07-TypeResolution2.ll
+++ b/test/Linker/2004-05-07-TypeResolution2.ll
@@ -1,25 +1,15 @@
; This file is used by testlink1.ll, so it doesn't actually do anything itself
;
; RUN: echo
-
-target endian = little
-target pointersize = 32
-
- %myint = type ushort
+target datalayout = "e-p:32:32"
+ %myint = type i16
+ %struct1 = type { i32, void (%struct2*)*, i16*, i32 (i32*)* }
%struct2 = type { %struct1 }
- %struct1 = type { int, void (%struct2*)*, %myint *, int (uint *)* }
-
-implementation ; Functions:
-internal void %f1 (%struct1* %tty) {
+define internal void @f1(%struct1* %tty) {
loopentry.preheader:
-
- ; <void (%struct2*, ubyte)**> [#uses=1]
- ; <void (%struct2*, ubyte)*> [#uses=0]
-
- %tmp.2.i.i = getelementptr %struct1* %tty, uint 0, uint 1
- %tmp.3.i.i = volatile load void (%struct2*)** %tmp.2.i.i
-
+ %tmp.2.i.i = getelementptr %struct1* %tty, i64 0, i32 1 ; <void (%struct2*)**> [#uses=1]
+ %tmp.3.i.i = volatile load void (%struct2*)** %tmp.2.i.i ; <void (%struct2*)*> [#uses=0]
ret void
}
diff --git a/test/Linker/2005-02-12-ConstantGlobals.ll b/test/Linker/2005-02-12-ConstantGlobals.ll
index fbc0bc141de..40773728736 100644
--- a/test/Linker/2005-02-12-ConstantGlobals.ll
+++ b/test/Linker/2005-02-12-ConstantGlobals.ll
@@ -2,7 +2,7 @@
; to be nonconst.
; RUN: echo {@X = global i32 7} | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {global i32 7}
-@X = external constant i32
+@X = external constant i32 ; <i32*> [#uses=0]
diff --git a/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll b/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll
index 3e57becbbe4..2637da17f3f 100644
--- a/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll
+++ b/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll
@@ -1,9 +1,10 @@
; RUN: echo { @G = appending global \[0 x i32\] zeroinitializer } | \
; RUN: llvm-as > %t.out2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
+; RUN: llvm-as < %s > %t.out1.bc
; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | grep {@G =}
; When linked, the globals should be merged, and the result should still
; be named '@G'.
-%G = appending global [1 x int] zeroinitializer
+@G = appending global [1 x i32] zeroinitializer ; <[1 x i32]*> [#uses=0]
+
diff --git a/test/Linker/2006-01-19-ConstantPacked.ll b/test/Linker/2006-01-19-ConstantPacked.ll
index 7b405f377f5..1cb47497d01 100644
--- a/test/Linker/2006-01-19-ConstantPacked.ll
+++ b/test/Linker/2006-01-19-ConstantPacked.ll
@@ -1,15 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t1.bc
+; RUN: llvm-as < %s -f -o %t1.bc
; RUN: llvm-link -f -o %t2.bc %t1.bc
-target endian = big
-target pointersize = 32
+target datalayout = "E-p:32:32"
target triple = "powerpc-apple-darwin7.7.0"
deplibs = [ "c", "crtend" ]
-%source = global <4 x int> < int 0, int 1, int 2, int 3 >
+@source = global <4 x i32> < i32 0, i32 1, i32 2, i32 3 > ; <<4 x i32>*> [#uses=0]
-implementation ; Functions:
-
-int %main() {
+define i32 @main() {
entry:
- ret int 0
+ ret i32 0
}
+
diff --git a/test/Linker/AppendingLinkage.ll b/test/Linker/AppendingLinkage.ll
index d59a3741481..da08ca09889 100644
--- a/test/Linker/AppendingLinkage.ll
+++ b/test/Linker/AppendingLinkage.ll
@@ -1,15 +1,15 @@
; Test that appending linkage works correctly.
-; RUN: echo {%X = appending global \[1 x int\] \[int 8\] } | \
-; RUN: llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: echo {@X = appending global \[1 x i32\] \[i32 8\] } | \
+; RUN: llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep 7 | grep 4 | grep 8
-%X = appending global [2 x int] [int 7, int 4]
+@X = appending global [2 x i32] [ i32 7, i32 4 ] ; <[2 x i32]*> [#uses=2]
+@Y = global i32* getelementptr ([2 x i32]* @X, i64 0, i64 0) ; <i32**> [#uses=0]
-%Y = global int* getelementptr ([2 x int]* %X, long 0, long 0)
-
-void %foo(long %V) {
- %Y = getelementptr [2 x int]* %X, long 0, long %V
- ret void
+define void @foo(i64 %V) {
+ %Y = getelementptr [2 x i32]* @X, i64 0, i64 %V ; <i32*> [#uses=0]
+ ret void
}
+
diff --git a/test/Linker/AppendingLinkage2.ll b/test/Linker/AppendingLinkage2.ll
index fc992e0b92a..fddc4941be9 100644
--- a/test/Linker/AppendingLinkage2.ll
+++ b/test/Linker/AppendingLinkage2.ll
@@ -1,8 +1,8 @@
; Test that appending linkage works correctly when arrays are the same size.
-; RUN: echo {%X = appending global \[1 x int\] \[int 8\] } | \
-; RUN: llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: echo {@X = appending global \[1 x i32\] \[i32 8\] } | \
+; RUN: llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep 7 | grep 8
-%X = appending global [1 x int] [int 7]
+@X = appending global [1 x i32] [ i32 7 ] ; <[1 x i32]*> [#uses=0]
diff --git a/test/Linker/ConstantGlobals1.ll b/test/Linker/ConstantGlobals1.ll
index a5a9ce9ca40..5d42f4bf548 100644
--- a/test/Linker/ConstantGlobals1.ll
+++ b/test/Linker/ConstantGlobals1.ll
@@ -1,8 +1,9 @@
; Test that appending linkage works correctly when arrays are the same size.
-; RUN: echo {%X = constant \[1 x int\] \[int 8\] } | \
-; RUN: llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: echo {@X = constant \[1 x i32\] \[i32 8\] } | \
+; RUN: llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
-%X = uninitialized global [1 x int]
+@X = external global [1 x i32] ; <[1 x i32]*> [#uses=0]
+
diff --git a/test/Linker/ConstantGlobals2.ll b/test/Linker/ConstantGlobals2.ll
index 612603d7ef1..9cd6bdb8c49 100644
--- a/test/Linker/ConstantGlobals2.ll
+++ b/test/Linker/ConstantGlobals2.ll
@@ -1,8 +1,9 @@
; Test that appending linkage works correctly when arrays are the same size.
-; RUN: echo {%X = external global \[1 x int\] } | \
-; RUN: llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade %s -o - | llvm-as > %t.1.bc
+; RUN: echo {@X = external global \[1 x i32\] } | \
+; RUN: llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
-%X = constant [1 x int] [ int 12 ]
+@X = constant [1 x i32] [ i32 12 ] ; <[1 x i32]*> [#uses=0]
+
diff --git a/test/Linker/ConstantGlobals3.ll b/test/Linker/ConstantGlobals3.ll
index 4435f2de08a..f9aa07d1bc5 100644
--- a/test/Linker/ConstantGlobals3.ll
+++ b/test/Linker/ConstantGlobals3.ll
@@ -1,8 +1,8 @@
; Test that appending linkage works correctly when arrays are the same size.
-; RUN: echo {%X = external constant \[1 x int\] } | \
-; RUN: llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade %s | llvm-as > %t.1.bc
+; RUN: echo {@X = external constant \[1 x i32\] } | \
+; RUN: llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
-%X = uninitialized global [1 x int]
+@X = external global [1 x i32] ; <[1 x i32]*> [#uses=0]
diff --git a/test/Linker/LinkOnce.ll b/test/Linker/LinkOnce.ll
index b1a02160606..5befd77a4aa 100644
--- a/test/Linker/LinkOnce.ll
+++ b/test/Linker/LinkOnce.ll
@@ -1,8 +1,8 @@
; This fails because the linker renames the non-opaque type not the opaque
; one...
-; RUN: echo "%X = linkonce global int 8" | llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: echo "@X = linkonce global i32 8" | llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis
-%X = linkonce global int 7
+@X = linkonce global i32 7 ; <i32*> [#uses=0]
diff --git a/test/Linker/testlink1.ll b/test/Linker/testlink1.ll
index df89d84c17f..4a9402576ef 100644
--- a/test/Linker/testlink1.ll
+++ b/test/Linker/testlink1.ll
@@ -1,48 +1,42 @@
-; RUN: llvm-upgrade < %s | llvm-as > %t.bc
-; RUN: llvm-upgrade < %p/testlink2.ll | llvm-as > %t2.bc
+; RUN: llvm-as < %s > %t.bc
+; RUN: llvm-as < %p/testlink2.ll > %t2.bc
; RUN: llvm-link %t.bc %t2.bc
-%MyVar = external global int
-%MyIntList = global { \2 *, int } { { \2, int }* null, int 17 }
- external global int ; int*:0
-
-%Inte = global int 1
-
-%AConst = linkonce constant int 123
-
-%Intern1 = internal constant int 42
-%Intern2 = internal constant int 792
-
-; Initialized to point to external %MyVar
-%MyVarPtr = linkonce 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, long 0, uint 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
+@MyVar = external global i32 ; <i32*> [#uses=3]
+@MyIntList = global { \2*, i32 } { { \2*, i32 }* null, i32 17 } ; <{ \2*, i32 }*> [#uses=1]
+external global i32 ; <i32*>:0 [#uses=0]
+@Inte = global i32 1 ; <i32*> [#uses=0]
+@AConst = linkonce constant i32 123 ; <i32*> [#uses=0]
+@Intern1 = internal constant i32 42 ; <i32*> [#uses=0]
+@Intern2 = internal constant i32 792 ; <i32*> [#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 ; <i32> [#uses=1]
+ call void @print( i32 %v1 )
+ %idx = getelementptr { \2*, i32 }* @MyIntList, i64 0, i32 1 ; <i32*> [#uses=2]
+ %v2 = load i32* %idx ; <i32> [#uses=1]
+ call void @print( i32 %v2 )
+ call i32 @foo( i32 5 ) ; <i32>:1 [#uses=0]
+ %v3 = load i32* @MyVar ; <i32> [#uses=1]
+ call void @print( i32 %v3 )
+ %v4 = load i32* %idx ; <i32> [#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
+}
diff --git a/test/Linker/testlink2.ll b/test/Linker/testlink2.ll
index 0f4468d4119..d243e3c7d1a 100644
--- a/test/Linker/testlink2.ll
+++ b/test/Linker/testlink2.ll
@@ -2,35 +2,40 @@
;
; RUN: true
-%MyVar = global int 4
-%MyIntList = external global { \2 *, int }
-
-%AConst = constant int 123
-
-%Intern1 = internal constant int 52 ;; Intern in both testlink[12].ll
-%Intern2 = constant int 12345 ;; Intern in one but not in other
-
-%MyIntListPtr = constant { {\2,int}* } { {\2,int}* %MyIntList }
-%MyVarPtr = linkonce global { int * } { int * %MyVar }
-
-constant int 412
-
-implementation
-
-int "foo"(int %blah)
-begin
- store int %blah, int *%MyVar
- %idx = getelementptr { \2 *, int } * %MyIntList, long 0, uint 1
- store int 12, int* %idx
-
- %ack = load int * %0 ;; Load from the unnamed constant
- %fzo = add int %ack, %blah
- ret int %fzo
-end
-
-declare void "unimp"(float, double)
-
-internal void "testintern"() begin ret void end
- void "Testintern"() begin ret void end
-internal void "testIntern"() begin ret void end
+@MyVar = global i32 4 ; <i32*> [#uses=2]
+@MyIntList = external global { \2*, i32 } ; <{ \2*, i32 }*> [#uses=2]
+@AConst = constant i32 123 ; <i32*> [#uses=0]
+
+;; Intern in both testlink[12].ll
+@Intern1 = internal constant i32 52 ; <i32*> [#uses=0]
+
+;; Intern in one but not in other
+@Intern2 = constant i32 12345 ; <i32*> [#uses=0]
+
+@MyIntListPtr = constant { { \2*, i32 }* } { { \2*, i32 }* @MyIntList } ; <{ { \2*, i32 }* }*> [#uses=0]
+@MyVarPtr = linkonce global { i32* } { i32* @MyVar } ; <{ i32* }*> [#uses=0]
+constant i32 412 ; <i32*>:0 [#uses=1]
+
+define i32 @foo(i32 %blah) {
+ store i32 %blah, i32* @MyVar
+ %idx = getelementptr { \2*, i32 }* @MyIntList, i64 0, i32 1 ; <i32*> [#uses=1]
+ store i32 12, i32* %idx
+ %ack = load i32* @0 ; <i32> [#uses=1]
+ %fzo = add i32 %ack, %blah ; <i32> [#uses=1]
+ ret i32 %fzo
+}
+
+declare void @unimp(float, double)
+
+define internal void @testintern() {
+ ret void
+}
+
+define void @Testintern() {
+ ret void
+}
+
+define internal void @testIntern() {
+ ret void
+}
diff --git a/test/Linker/weakextern.ll b/test/Linker/weakextern.ll
index 60ca59655b2..edb23bc4b70 100644
--- a/test/Linker/weakextern.ll
+++ b/test/Linker/weakextern.ll
@@ -1,12 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as > %t.bc
-; RUN: llvm-upgrade < %p/testlink1.ll | llvm-as > %t2.bc
+; RUN: llvm-as < %s > %t.bc
+; RUN: llvm-as < %p/testlink1.ll > %t2.bc
; RUN: llvm-link %t.bc %t.bc %t2.bc -o %t1.bc -f
; RUN: llvm-dis < %t1.bc | grep {kallsyms_names = extern_weak}
; RUN: llvm-dis < %t1.bc | grep {MyVar = external global i32}
; RUN: llvm-dis < %t1.bc | grep {Inte = global i32}
-%kallsyms_names = extern_weak global [0 x ubyte]
-%MyVar = extern_weak global int
-%Inte = extern_weak global int
+@kallsyms_names = extern_weak global [0 x i8] ; <[0 x i8]*> [#uses=0]
+@MyVar = extern_weak global i32 ; <i32*> [#uses=0]
+@Inte = extern_weak global i32 ; <i32*> [#uses=0]
-implementation