From edca80b5e86363c6e4d5cfeedd6940d991355333 Mon Sep 17 00:00:00 2001
From: Reid Spencer <rspencer@reidspencer.com>
Date: Sun, 15 Apr 2007 18:11:57 +0000
Subject: [PATCH] For PR1319: Upgrade to new test harness

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36073 91177308-0d34-0410-b5e6-96231b3b80d8
---
 test/Linker/2002-07-17-LinkTest2.ll           |  2 +-
 test/Linker/2003-01-30-LinkerRename.ll        | 10 ++++-----
 test/Linker/2003-01-30-LinkerTypeRename.ll    |  6 ++---
 test/Linker/2003-04-21-Linkage.ll             | 19 ++++++++--------
 test/Linker/2003-04-23-LinkOnceLost.ll        | 11 +++++-----
 test/Linker/2003-04-26-NullPtrLinkProblem.ll  |  4 ++--
 test/Linker/2003-05-15-TypeProblem.ll         |  4 ++--
 test/Linker/2003-05-31-LinkerRename.ll        | 22 +++++++++----------
 test/Linker/2003-06-02-TypeResolveProblem.ll  |  4 ++--
 test/Linker/2003-06-02-TypeResolveProblem2.ll |  4 ++--
 test/Linker/2003-08-20-OpaqueTypeResolve.ll   |  5 ++---
 test/Linker/2003-08-23-GlobalVarLinking.ll    |  5 +++--
 .../2003-08-23-RecursiveOpaqueTypeResolve.ll  |  2 +-
 test/Linker/2003-08-24-InheritPtrSize.ll      |  8 +++----
 test/Linker/2003-08-28-TypeResolvesGlobal.ll  |  2 +-
 test/Linker/2003-08-28-TypeResolvesGlobal2.ll |  2 +-
 test/Linker/2003-08-28-TypeResolvesGlobal3.ll |  2 +-
 .../2003-10-21-ConflictingTypesTolerance.ll   |  4 ++--
 test/Linker/2003-10-27-LinkOncePromote.ll     |  2 +-
 test/Linker/2003-11-18-TypeResolution.ll      |  2 +-
 test/Linker/2004-02-17-WeakStrongLinkage.ll   |  2 +-
 test/Linker/2004-05-07-TypeResolution1.ll     |  2 +-
 test/Linker/2004-12-03-DisagreeingType.ll     |  7 +++---
 test/Linker/2005-02-12-ConstantGlobals-2.ll   |  8 +++----
 test/Linker/2005-02-12-ConstantGlobals.ll     |  6 ++---
 .../2005-12-06-AppendingZeroLengthArrays.ll   |  4 ++--
 test/Linker/2006-01-19-ConstantPacked.ll      |  3 ++-
 test/Linker/2006-06-15-GlobalVarAlignment.ll  |  8 +++----
 test/Linker/AppendingLinkage.ll               |  6 ++---
 test/Linker/AppendingLinkage2.ll              |  5 +++--
 test/Linker/ConstantGlobals1.ll               |  5 +++--
 test/Linker/ConstantGlobals2.ll               |  5 +++--
 test/Linker/ConstantGlobals3.ll               |  5 +++--
 test/Linker/LinkOnce.ll                       |  2 +-
 test/Linker/dg.exp                            |  4 ++--
 test/Linker/redefinition.ll                   | 10 ++++-----
 test/Linker/testlink1.ll                      |  2 +-
 test/Linker/weakextern.ll                     |  8 +++----
 38 files changed, 108 insertions(+), 104 deletions(-)

diff --git a/test/Linker/2002-07-17-LinkTest2.ll b/test/Linker/2002-07-17-LinkTest2.ll
index 67bf686448e..312b9b90d21 100644
--- a/test/Linker/2002-07-17-LinkTest2.ll
+++ b/test/Linker/2002-07-17-LinkTest2.ll
@@ -2,7 +2,7 @@
 
 ; RUN: llvm-as > %t1.bc < /dev/null
 ; RUN: llvm-upgrade < %s | llvm-as > %t2.bc
-; RUN: llvm-link %t[12].bc
+; RUN: llvm-link %t1.bc %t2.bc
 
 %work = global int (int, int)* %zip
 
diff --git a/test/Linker/2003-01-30-LinkerRename.ll b/test/Linker/2003-01-30-LinkerRename.ll
index 3e4c50c03d2..c5f3bde4d63 100644
--- a/test/Linker/2003-01-30-LinkerRename.ll
+++ b/test/Linker/2003-01-30-LinkerRename.ll
@@ -1,11 +1,9 @@
 ; This fails because the linker renames the external symbol not the internal 
 ; one...
 
-; RUN: echo "implementation internal int %foo() { ret int 7 }" | llvm-upgrade |\
-; RUN:    llvm-as > %t.1.bc
-; RUN: llvm-upgrade < %s | llvm-as -o %t.2.bc -f
-; RUN: llvm-link %t.[12].bc | llvm-dis | grep '@foo()' | grep -v internal
+; RUN: echo {define internal i32 @foo() \{ ret i32 7 \} } | llvm-as > %t.1.bc
+; RUN: llvm-as < %s -o %t.2.bc -f
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep @foo() | grep -v internal
 
-implementation
-int %foo() { ret int 0 }
+define i32 @foo() { ret i32 0 }
 
diff --git a/test/Linker/2003-01-30-LinkerTypeRename.ll b/test/Linker/2003-01-30-LinkerTypeRename.ll
index f96805427f5..288daf1cba1 100644
--- a/test/Linker/2003-01-30-LinkerTypeRename.ll
+++ b/test/Linker/2003-01-30-LinkerTypeRename.ll
@@ -1,9 +1,9 @@
 ; This fails because the linker renames the non-opaque type not the opaque 
 ; one...
 
-; RUN: echo "%Ty = type opaque %GV = external global %Ty*" | llvm-as > %t.1.bc
+; RUN: echo {%Ty = type opaque @GV = external global %Ty*} | llvm-as > %t.1.bc
 ; RUN: llvm-as < %s > %t.2.bc
-; RUN: llvm-link %t.[12].bc | llvm-dis | grep '%Ty ' | not grep opaque
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {%Ty } | not grep opaque
 
-%Ty = type int
+%Ty = type i32
 
diff --git a/test/Linker/2003-04-21-Linkage.ll b/test/Linker/2003-04-21-Linkage.ll
index 742faa8c99e..7e00943c28b 100644
--- a/test/Linker/2003-04-21-Linkage.ll
+++ b/test/Linker/2003-04-21-Linkage.ll
@@ -1,15 +1,14 @@
-; RUN: echo "%X = linkonce global int 5  implementation linkonce int %foo() { ret int 7 }" | llvm-upgrade | llvm-as > %t.1.bc
-; RUN: llvm-upgrade < %s | llvm-as -o %t.2.bc -f
-; RUN: llvm-link %t.[12].bc 
-%X = external global int 
+; RUN: echo {@X = linkonce global i32 5 \
+; RUN:   define linkonce i32 @foo() \{ ret i32 7 \} } | llvm-as > %t.1.bc
+; RUN: llvm-as < %s -o %t.2.bc -f
+; RUN: llvm-link %t.1.bc  %t.2.bc
+@X = external global i32 
 
-implementation
+declare i32 @foo() 
 
-declare int %foo() 
-
-void %bar() {
-	load int* %X
-	call int %foo()
+define void @bar() {
+	load i32* @X
+	call i32 @foo()
 	ret void
 }
 
diff --git a/test/Linker/2003-04-23-LinkOnceLost.ll b/test/Linker/2003-04-23-LinkOnceLost.ll
index 3996cc40b77..cf63fb35ced 100644
--- a/test/Linker/2003-04-23-LinkOnceLost.ll
+++ b/test/Linker/2003-04-23-LinkOnceLost.ll
@@ -1,9 +1,10 @@
 ; This fails because the linker renames the non-opaque type not the opaque 
 ; one...
 
-; RUN: echo "implementation linkonce void %foo() { ret void } " | llvm-upgrade|\
-; RUN:    llvm-as -o %t.2.bc -f
-; RUN: llvm-upgrade < %s | llvm-as -o %t.1.bc -f
-; RUN: llvm-link %t.[12].bc | llvm-dis | grep foo | grep linkonce
+; RUN: echo { define linkonce void @foo() \{ ret void \} } | \
+; RUN:   llvm-as -o %t.2.bc -f
+; RUN: llvm-as < %s -o %t.1.bc -f
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep foo | grep linkonce
+
+declare void @foo()
 
-declare void %foo()
diff --git a/test/Linker/2003-04-26-NullPtrLinkProblem.ll b/test/Linker/2003-04-26-NullPtrLinkProblem.ll
index 3caf7632cb7..029bce264a5 100644
--- a/test/Linker/2003-04-26-NullPtrLinkProblem.ll
+++ b/test/Linker/2003-04-26-NullPtrLinkProblem.ll
@@ -1,9 +1,9 @@
 ; This one fails because the LLVM runtime is allowing two null pointers of
 ; the same type to be created!
 
-; RUN: echo "%T = type int" | llvm-upgrade | llvm-as > %t.2.bc
+; RUN: echo {%T = type int} | llvm-upgrade | llvm-as > %t.2.bc
 ; RUN: llvm-upgrade < %s | llvm-as -f > %t.1.bc
-; RUN: llvm-link %t.[12].bc
+; RUN: llvm-link %t.1.bc %t.2.bc
 
 %T = type opaque
 
diff --git a/test/Linker/2003-05-15-TypeProblem.ll b/test/Linker/2003-05-15-TypeProblem.ll
index ee1caf78314..2c7576fe072 100644
--- a/test/Linker/2003-05-15-TypeProblem.ll
+++ b/test/Linker/2003-05-15-TypeProblem.ll
@@ -1,9 +1,9 @@
 ; This one fails because the LLVM runtime is allowing two null pointers of
 ; the same type to be created!
 
-; RUN: echo "%S = type { %T*} %T = type opaque" | llvm-upgrade | llvm-as > %t.2.bc
+; RUN: echo {%S = type \{ %T*\} %T = type opaque} | llvm-as > %t.2.bc
 ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
-; RUN: llvm-link %t.[12].bc
+; RUN: llvm-link %t.1.bc %t.2.bc
 
 %S = type { %T* }
 %T = type int
diff --git a/test/Linker/2003-05-31-LinkerRename.ll b/test/Linker/2003-05-31-LinkerRename.ll
index 375c16017b3..3e8b2c81bd6 100644
--- a/test/Linker/2003-05-31-LinkerRename.ll
+++ b/test/Linker/2003-05-31-LinkerRename.ll
@@ -1,17 +1,17 @@
-; The funcresolve pass will (intentionally) llvm-link an _internal_ function body with an
-; external declaration.  Because of this, if we LINK an internal function body into
-; a program that already has an external declaration for the function name, we must
-; rename the internal function to something that does not conflict.
+; The funcresolve pass will (intentionally) llvm-link an _internal_ function 
+; body with an external declaration.  Because of this, if we LINK an internal 
+; function body into a program that already has an external declaration for 
+; the function name, we must rename the internal function to something that 
+; does not conflict.
 
-; RUN: echo "implementation internal int %foo() { ret int 7 }" | llvm-as > %t.1.bc
+; RUN: echo { define internal i32 @foo() \{ ret i32 7 \} } | llvm-as > %t.1.bc
 ; RUN: llvm-as < %s > %t.2.bc
-; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'internal' | not grep '%foo('
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep internal | not grep %foo(
 
-implementation
-declare int %foo() 
+declare i32 @foo() 
 
-int %test() { 
-  %X = call int %foo()
-  ret int %X
+define i32 @test() { 
+  %X = call i32 @foo()
+  ret i32 %X
 }
 
diff --git a/test/Linker/2003-06-02-TypeResolveProblem.ll b/test/Linker/2003-06-02-TypeResolveProblem.ll
index 05d7adf13fe..9b1c6f42307 100644
--- a/test/Linker/2003-06-02-TypeResolveProblem.ll
+++ b/test/Linker/2003-06-02-TypeResolveProblem.ll
@@ -1,6 +1,6 @@
-; RUN: echo "%T = type opaque" | llvm-upgrade | llvm-as > %t.2.bc
+; RUN: echo {%T = type opaque} | llvm-upgrade | llvm-as > %t.2.bc
 ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
-; RUN: llvm-link %t.[12].bc
+; RUN: llvm-link %t.1.bc %t.2.bc
 
 %T = type opaque
 %a = constant { %T* }  { %T* null }
diff --git a/test/Linker/2003-06-02-TypeResolveProblem2.ll b/test/Linker/2003-06-02-TypeResolveProblem2.ll
index c0228c4af86..0dcca98ac3f 100644
--- a/test/Linker/2003-06-02-TypeResolveProblem2.ll
+++ b/test/Linker/2003-06-02-TypeResolveProblem2.ll
@@ -1,6 +1,6 @@
-; RUN: echo "%T = type int" | llvm-upgrade | llvm-as > %t.1.bc
+; RUN: echo {%T = type int} | llvm-upgrade | llvm-as > %t.1.bc
 ; RUN: llvm-upgrade < %s | llvm-as > %t.2.bc
-; RUN: llvm-link %t.[12].bc
+; RUN: llvm-link %t.1.bc %t.2.bc
 
 %T = type opaque
 
diff --git a/test/Linker/2003-08-20-OpaqueTypeResolve.ll b/test/Linker/2003-08-20-OpaqueTypeResolve.ll
index 6b378d586be..b659b1ab770 100644
--- a/test/Linker/2003-08-20-OpaqueTypeResolve.ll
+++ b/test/Linker/2003-08-20-OpaqueTypeResolve.ll
@@ -1,7 +1,6 @@
-
 ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
-; RUN: echo "%S = type { int, int* }" | llvm-upgrade | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out[12].bc
+; RUN: echo {%S = type \{ int, int* \} } | llvm-upgrade | llvm-as > %t.out2.bc
+; RUN: llvm-link %t.out1.bc %t.out2.bc
 
 %T = type opaque
 %S = type { int, %T* }
diff --git a/test/Linker/2003-08-23-GlobalVarLinking.ll b/test/Linker/2003-08-23-GlobalVarLinking.ll
index e249641be32..45d77745a20 100644
--- a/test/Linker/2003-08-23-GlobalVarLinking.ll
+++ b/test/Linker/2003-08-23-GlobalVarLinking.ll
@@ -1,6 +1,7 @@
 ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
-; RUN: echo "%S = external global { int, opaque* } declare void %F(opaque*)" | llvm-upgrade | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out[12].bc | llvm-dis | not grep opaque
+; RUN: echo {%S = external global \{ int, opaque* \} declare void %F(opaque*)}\
+; RUN:   | llvm-upgrade | llvm-as > %t.out2.bc
+; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | not grep opaque
 
 ; After linking this testcase, there should be no opaque types left.  The two
 ; S's should cause the opaque type to be resolved to 'int'.
diff --git a/test/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll b/test/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll
index 1a95b874037..50aae13cce0 100644
--- a/test/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll
+++ b/test/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll
@@ -3,6 +3,6 @@
 
 ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
 ; RUN: echo "%S = type { %S*, int* }" | llvm-upgrade | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out[12].bc
+; RUN: llvm-link %t.out1.bc %t.out2.bc
 
 %S = type { %S*, opaque* }
diff --git a/test/Linker/2003-08-24-InheritPtrSize.ll b/test/Linker/2003-08-24-InheritPtrSize.ll
index dc446155ff7..f93c054dec7 100644
--- a/test/Linker/2003-08-24-InheritPtrSize.ll
+++ b/test/Linker/2003-08-24-InheritPtrSize.ll
@@ -1,9 +1,9 @@
-; Linking these a module with a specified pointer size to one without a 
+; Linking a module with a specified pointer size to one without a 
 ; specified pointer size should not cause a warning!
 
 ; RUN: llvm-as < %s > %t.out1.bc
-; RUN: echo "" | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out[12].bc 2>&1 | not grep WARNING
+; RUN: echo {} | llvm-as > %t.out2.bc
+; RUN: llvm-link %t.out1.bc %t.out2.bc |& not grep warning
 
-target pointersize = 64
+target datalayout = "e-p:64:64"
 
diff --git a/test/Linker/2003-08-28-TypeResolvesGlobal.ll b/test/Linker/2003-08-28-TypeResolvesGlobal.ll
index 5e90682dc19..41aef3230b2 100644
--- a/test/Linker/2003-08-28-TypeResolvesGlobal.ll
+++ b/test/Linker/2003-08-28-TypeResolvesGlobal.ll
@@ -1,6 +1,6 @@
 ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
 ; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out[21].bc
+; RUN: llvm-link %t.out2.bc %t.out1.bc
 
 %S = type opaque
 
diff --git a/test/Linker/2003-08-28-TypeResolvesGlobal2.ll b/test/Linker/2003-08-28-TypeResolvesGlobal2.ll
index 619c8444adf..212ef2bd1f2 100644
--- a/test/Linker/2003-08-28-TypeResolvesGlobal2.ll
+++ b/test/Linker/2003-08-28-TypeResolvesGlobal2.ll
@@ -1,6 +1,6 @@
 ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
 ; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out[21].bc
+; RUN: llvm-link %t.out2.bc %t.out1.bc
 
 %S = type opaque
 
diff --git a/test/Linker/2003-08-28-TypeResolvesGlobal3.ll b/test/Linker/2003-08-28-TypeResolvesGlobal3.ll
index 40023fd6603..5a52f9c1af5 100644
--- a/test/Linker/2003-08-28-TypeResolvesGlobal3.ll
+++ b/test/Linker/2003-08-28-TypeResolvesGlobal3.ll
@@ -1,6 +1,6 @@
 ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
 ; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out[21].bc
+; RUN: llvm-link %t.out2.bc %t.out1.bc
 
 %S = type opaque
 
diff --git a/test/Linker/2003-10-21-ConflictingTypesTolerance.ll b/test/Linker/2003-10-21-ConflictingTypesTolerance.ll
index db098d6f7c7..07d4b2d9000 100644
--- a/test/Linker/2003-10-21-ConflictingTypesTolerance.ll
+++ b/test/Linker/2003-10-21-ConflictingTypesTolerance.ll
@@ -1,6 +1,6 @@
 ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
-; RUN: echo "%S = type [8 x int] external global %S " | llvm-upgrade | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out[12].bc | llvm-dis | grep %S | grep '{'
+; RUN: echo { %S = type \[8 x i32\] external global %S } | llvm-as > %t.out2.bc
+; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | grep %S | grep \{
 
 %S = type { int }
 
diff --git a/test/Linker/2003-10-27-LinkOncePromote.ll b/test/Linker/2003-10-27-LinkOncePromote.ll
index 617e5c6ebda..a4e5aa6cdd9 100644
--- a/test/Linker/2003-10-27-LinkOncePromote.ll
+++ b/test/Linker/2003-10-27-LinkOncePromote.ll
@@ -3,6 +3,6 @@
 
 ; RUN: echo "%X = global int 7" | llvm-upgrade | llvm-as > %t.2.bc
 ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
-; RUN: llvm-link %t.[12].bc
+; RUN: llvm-link %t.1.bc %t.2.bc
 
 %X = linkonce global int 7
diff --git a/test/Linker/2003-11-18-TypeResolution.ll b/test/Linker/2003-11-18-TypeResolution.ll
index 07af9697c77..ff22e314372 100644
--- a/test/Linker/2003-11-18-TypeResolution.ll
+++ b/test/Linker/2003-11-18-TypeResolution.ll
@@ -6,7 +6,7 @@
 
 ; RUN: llvm-upgrade %s | llvm-as > %t.out2.bc
 ; RUN: echo "%T1 = type opaque  @GVar = external global %T1*" | llvm-as > %t.out1.bc
-; RUN: llvm-link %t.out[12].bc
+; RUN: llvm-link %t.out1.bc %t.out2.bc
 
 	%T1 = type opaque
 	%T2 = type int
diff --git a/test/Linker/2004-02-17-WeakStrongLinkage.ll b/test/Linker/2004-02-17-WeakStrongLinkage.ll
index b2579d411f5..4c6e8f869e1 100644
--- a/test/Linker/2004-02-17-WeakStrongLinkage.ll
+++ b/test/Linker/2004-02-17-WeakStrongLinkage.ll
@@ -1,6 +1,6 @@
 ; RUN: llvm-upgrade < %s | llvm-as > %t.out2.bc
 ; RUN: echo "%me = global int* null" | llvm-upgrade | llvm-as > %t.out1.bc
-; RUN: llvm-link %t.out[12].bc -o /dev/null -f
+; RUN: llvm-link %t.out1.bc %t.out2.bc -o /dev/null -f
 
 %me = weak global int * null
 
diff --git a/test/Linker/2004-05-07-TypeResolution1.ll b/test/Linker/2004-05-07-TypeResolution1.ll
index 94c5af0f958..1c90079eae9 100644
--- a/test/Linker/2004-05-07-TypeResolution1.ll
+++ b/test/Linker/2004-05-07-TypeResolution1.ll
@@ -1,5 +1,5 @@
 ; RUN: llvm-upgrade < %s | llvm-as -f -o %t1.bc
-; RUN: llvm-upgrade < `dirname %s`/2004-05-07-TypeResolution2.ll | \
+; RUN: llvm-upgrade < %p/2004-05-07-TypeResolution2.ll | \
 ; RUN:    llvm-as -o %t2.bc -f
 ; RUN: llvm-link -f -o %t3.bc %t1.bc %t2.bc
 
diff --git a/test/Linker/2004-12-03-DisagreeingType.ll b/test/Linker/2004-12-03-DisagreeingType.ll
index 9849e0c1fe5..63d851b1673 100644
--- a/test/Linker/2004-12-03-DisagreeingType.ll
+++ b/test/Linker/2004-12-03-DisagreeingType.ll
@@ -1,8 +1,9 @@
-; RUN: echo "%G = weak global {{{{double}}}} zeroinitializer" | llvm-as > %t.out2.bc
+; RUN: echo {@G = weak global \{\{\{\{double\}\}\}\} zeroinitializer } | \
+; RUN:   llvm-as > %t.out2.bc
 ; RUN: llvm-as < %s > %t.out1.bc
-; RUN: llvm-link %t.out[12].bc | llvm-dis | not grep '\}'
+; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | not grep {\}}
 
 ; When linked, the global above should be eliminated, being merged with the 
 ; global below.
 
-%G = global double 1.0
+@G = global double 1.0
diff --git a/test/Linker/2005-02-12-ConstantGlobals-2.ll b/test/Linker/2005-02-12-ConstantGlobals-2.ll
index bf93ca871f1..bedeb510695 100644
--- a/test/Linker/2005-02-12-ConstantGlobals-2.ll
+++ b/test/Linker/2005-02-12-ConstantGlobals-2.ll
@@ -1,8 +1,8 @@
 ; Test that a prototype can be marked const, and the definition is allowed
 ; to be nonconst.
 
-; RUN: echo "%X = external constant int" | llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
-; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'global i32 7'
+; RUN: echo {@X = external constant i32} | llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {global i32 7}
 
-%X = global int 7
+@X = global i32 7
diff --git a/test/Linker/2005-02-12-ConstantGlobals.ll b/test/Linker/2005-02-12-ConstantGlobals.ll
index 5bb43a7821a..fbc0bc141de 100644
--- a/test/Linker/2005-02-12-ConstantGlobals.ll
+++ b/test/Linker/2005-02-12-ConstantGlobals.ll
@@ -1,8 +1,8 @@
 ; Test that a prototype can be marked const, and the definition is allowed
 ; to be nonconst.
 
-; RUN: echo "%X = global int 7" | llvm-upgrade | llvm-as > %t.2.bc
+; RUN: echo {@X = global i32 7} | llvm-as > %t.2.bc
 ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
-; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'global i32 7'
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {global i32 7}
 
-%X = external constant int
+@X = external constant i32
diff --git a/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll b/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll
index 4c94f541017..3e57becbbe4 100644
--- a/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll
+++ b/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll
@@ -1,7 +1,7 @@
-; RUN: echo "@G = appending global [0 x i32] zeroinitializer" | \
+; 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-link %t.out[12].bc | llvm-dis | grep '@G ='
+; 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'.
diff --git a/test/Linker/2006-01-19-ConstantPacked.ll b/test/Linker/2006-01-19-ConstantPacked.ll
index df56105e9d6..7aa0bc3db76 100644
--- a/test/Linker/2006-01-19-ConstantPacked.ll
+++ b/test/Linker/2006-01-19-ConstantPacked.ll
@@ -1,4 +1,5 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %s.bc ; llvm-link -f -o %s.linked %s.bc
+; RUN: llvm-upgrade < %s | llvm-as -f -o %s.bc 
+; RUN: llvm-link -f -o %s.linked %s.bc
 
 target endian = big
 target pointersize = 32
diff --git a/test/Linker/2006-06-15-GlobalVarAlignment.ll b/test/Linker/2006-06-15-GlobalVarAlignment.ll
index 22e9755caea..6e6d56a039e 100644
--- a/test/Linker/2006-06-15-GlobalVarAlignment.ll
+++ b/test/Linker/2006-06-15-GlobalVarAlignment.ll
@@ -1,7 +1,7 @@
 ; The linker should choose the largest alignment when linking.
 
-; RUN: echo "%X = global int 7, align 8" | llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
-; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'align 8'
+; RUN: echo {@X = global i32 7, align 8} | llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {align 8}
 
-%X = weak global int 7, align 4
+@X = weak global i32 7, align 4
diff --git a/test/Linker/AppendingLinkage.ll b/test/Linker/AppendingLinkage.ll
index 84c09d81a3c..d59a3741481 100644
--- a/test/Linker/AppendingLinkage.ll
+++ b/test/Linker/AppendingLinkage.ll
@@ -1,9 +1,9 @@
 ; Test that appending linkage works correctly.
 
-; RUN: echo "%X = appending global [1x int] [int 8]" | llvm-upgrade | \
-; RUN:    llvm-as > %t.2.bc
+; 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: llvm-link %t.[12].bc | llvm-dis | grep 7 | grep 4 | grep 8
+; 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]
 
diff --git a/test/Linker/AppendingLinkage2.ll b/test/Linker/AppendingLinkage2.ll
index a906f698bce..fc992e0b92a 100644
--- a/test/Linker/AppendingLinkage2.ll
+++ b/test/Linker/AppendingLinkage2.ll
@@ -1,7 +1,8 @@
 ; Test that appending linkage works correctly when arrays are the same size.
 
-; RUN: echo "%X = appending global [1x int] [int 8]" | llvm-upgrade | llvm-as > %t.2.bc
+; 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: llvm-link %t.[12].bc | llvm-dis | grep 7 | grep 8
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep 7 | grep 8
 
 %X = appending global [1 x int] [int 7]
diff --git a/test/Linker/ConstantGlobals1.ll b/test/Linker/ConstantGlobals1.ll
index 1a05f7a9eb4..a5a9ce9ca40 100644
--- a/test/Linker/ConstantGlobals1.ll
+++ b/test/Linker/ConstantGlobals1.ll
@@ -1,7 +1,8 @@
 ; Test that appending linkage works correctly when arrays are the same size.
 
-; RUN: echo "%X = constant [1x int] [int 8]" | llvm-upgrade | llvm-as > %t.2.bc
+; 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: llvm-link %t.[12].bc | llvm-dis | grep constant
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
 
 %X = uninitialized global [1 x int]
diff --git a/test/Linker/ConstantGlobals2.ll b/test/Linker/ConstantGlobals2.ll
index ae97a0ba626..612603d7ef1 100644
--- a/test/Linker/ConstantGlobals2.ll
+++ b/test/Linker/ConstantGlobals2.ll
@@ -1,7 +1,8 @@
 ; Test that appending linkage works correctly when arrays are the same size.
 
-; RUN: echo "%X = external global [1x int]" | llvm-upgrade | llvm-as > %t.2.bc
+; 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: llvm-link %t.[12].bc | llvm-dis | grep constant
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
 
 %X = constant [1 x int] [ int 12 ]
diff --git a/test/Linker/ConstantGlobals3.ll b/test/Linker/ConstantGlobals3.ll
index 9a84c3a350e..4435f2de08a 100644
--- a/test/Linker/ConstantGlobals3.ll
+++ b/test/Linker/ConstantGlobals3.ll
@@ -1,7 +1,8 @@
 ; Test that appending linkage works correctly when arrays are the same size.
 
-; RUN: echo "%X = external constant [1x int]" | llvm-upgrade | llvm-as > %t.2.bc
+; 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: llvm-link %t.[12].bc | llvm-dis | grep constant
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
 
 %X = uninitialized global [1 x int] 
diff --git a/test/Linker/LinkOnce.ll b/test/Linker/LinkOnce.ll
index 95f65ae12a4..b1a02160606 100644
--- a/test/Linker/LinkOnce.ll
+++ b/test/Linker/LinkOnce.ll
@@ -3,6 +3,6 @@
 
 ; RUN: echo "%X = linkonce global int 8" | llvm-upgrade | llvm-as > %t.2.bc
 ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
-; RUN: llvm-link %t.[12].bc | llvm-dis
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis
 
 %X = linkonce global int 7
diff --git a/test/Linker/dg.exp b/test/Linker/dg.exp
index ff34508c3c6..879685ca879 100644
--- a/test/Linker/dg.exp
+++ b/test/Linker/dg.exp
@@ -1,3 +1,3 @@
-load_lib llvm-dg.exp
+load_lib llvm.exp
 
-llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
+RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
diff --git a/test/Linker/redefinition.ll b/test/Linker/redefinition.ll
index ae2dc624756..bba60c572ae 100644
--- a/test/Linker/redefinition.ll
+++ b/test/Linker/redefinition.ll
@@ -2,9 +2,9 @@
 ; in different modules.
 ; RUN: llvm-as %s -o %t.foo1.bc -f
 ; RUN: llvm-as %s -o %t.foo2.bc -f
-; RUN: echo "define void @foo(i32 %x) { ret void }" | llvm-as -o %t.foo3.bc -f
-; RUN: llvm-link %t.foo1.bc %t.foo2.bc -o %t.bc 2>&1 | \
-; RUN:   grep "Function is already defined"
-; RUN: llvm-link %t.foo1.bc %t.foo3.bc -o %t.bc 2>&1 | \
-; RUN:   grep "Function 'foo' defined as both"
+; RUN: echo {define void @foo(i32 %x) { ret void }} | llvm-as -o %t.foo3.bc -f
+; RUN: ignore llvm-link %t.foo1.bc %t.foo2.bc -o %t.bc |& \
+; RUN:   grep {Function is already defined}
+; RUN: ignore llvm-link %t.foo1.bc %t.foo3.bc -o %t.bc |& \
+; RUN:   grep {Function 'foo' defined as both}
 define void @foo() { ret void }
diff --git a/test/Linker/testlink1.ll b/test/Linker/testlink1.ll
index ccdd5f3b0be..df89d84c17f 100644
--- a/test/Linker/testlink1.ll
+++ b/test/Linker/testlink1.ll
@@ -1,5 +1,5 @@
 ; RUN: llvm-upgrade < %s | llvm-as > %t.bc
-; RUN: llvm-upgrade < `dirname %s`/testlink2.ll | llvm-as > %t2.bc
+; RUN: llvm-upgrade < %p/testlink2.ll | llvm-as > %t2.bc
 ; RUN: llvm-link %t.bc %t2.bc
 
 %MyVar     = external global int
diff --git a/test/Linker/weakextern.ll b/test/Linker/weakextern.ll
index 3bda535d0ca..60ca59655b2 100644
--- a/test/Linker/weakextern.ll
+++ b/test/Linker/weakextern.ll
@@ -1,9 +1,9 @@
 ; RUN: llvm-upgrade < %s | llvm-as > %t.bc
-; RUN: llvm-upgrade < `dirname %s`/testlink1.ll | llvm-as > %t2.bc
+; RUN: llvm-upgrade < %p/testlink1.ll | llvm-as > %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"
+; 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