[opaque pointer type] Add textual IR support for explicit type parameter to load instruction

Essentially the same as the GEP change in r230786.

A similar migration script can be used to update test cases, though a few more
test case improvements/changes were required this time around: (r229269-r229278)

import fileinput
import sys
import re

pat = re.compile(r"((?:=|:|^)\s*load (?:atomic )?(?:volatile )?(.*?))(| addrspace\(\d+\) *)\*($| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$)")

for line in sys.stdin:
  sys.stdout.write(re.sub(pat, r"\1, \2\3*\4", line))

Reviewers: rafael, dexonsmith, grosser

Differential Revision: http://reviews.llvm.org/D7649

llvm-svn: 230794
diff --git a/llvm/test/Integer/2007-01-19-TruncSext.ll b/llvm/test/Integer/2007-01-19-TruncSext.ll
index 5ec8a57..a487eb2 100644
--- a/llvm/test/Integer/2007-01-19-TruncSext.ll
+++ b/llvm/test/Integer/2007-01-19-TruncSext.ll
@@ -21,7 +21,7 @@
   %i = bitcast i32 0 to i32
   call void @multiply(i32 %i, i32 -1, i32 255) 
   %P = getelementptr [20 x i17], [20 x i17]* @ARRAY, i32 0, i32 0
-  %X = load i17* %P
+  %X = load i17, i17* %P
   %result = sext i17 %X to i32
   %fmt = getelementptr [4 x i8], [4 x i8]* @FORMAT, i32 0, i32 0
   call i32 (i8*,...)* @printf(i8* %fmt, i32 %result)
diff --git a/llvm/test/Integer/BitPacked.ll b/llvm/test/Integer/BitPacked.ll
index e6e453a..def0a83 100644
--- a/llvm/test/Integer/BitPacked.ll
+++ b/llvm/test/Integer/BitPacked.ll
@@ -10,8 +10,8 @@
 {
         store <4 x float> <float 1.0, float 2.0, float 3.0, float 4.0>, <4 x float>* @foo1
         store <2 x i10> <i10 4, i10 4>, <2 x i10>* @foo2
-	%l1 = load <4 x float>* @foo1
-        %l2 = load <2 x i10>* @foo2
+	%l1 = load <4 x float>, <4 x float>* @foo1
+        %l2 = load <2 x i10>, <2 x i10>* @foo2
         %r1 = extractelement <2 x i10> %l2, i32 1    
         %r2 = extractelement <2 x i10> %l2, i32 0
         %t = mul i10 %r1, %r2
diff --git a/llvm/test/Integer/packed_bt.ll b/llvm/test/Integer/packed_bt.ll
index f6ea87c..ecaf621 100644
--- a/llvm/test/Integer/packed_bt.ll
+++ b/llvm/test/Integer/packed_bt.ll
@@ -10,7 +10,7 @@
 {
         store <4 x float> <float 1.0, float 2.0, float 3.0, float 4.0>, <4 x float>* @foo1
         store <2 x i10> <i10 4, i10 4>, <2 x i10>* @foo2
-	%l1 = load <4 x float>* @foo1
-        %l2 = load <2 x i10>* @foo2
+	%l1 = load <4 x float>, <4 x float>* @foo1
+        %l2 = load <2 x i10>, <2 x i10>* @foo2
         ret void
 }
diff --git a/llvm/test/Integer/packed_struct_bt.ll b/llvm/test/Integer/packed_struct_bt.ll
index b8301ba..97bf0ff 100644
--- a/llvm/test/Integer/packed_struct_bt.ll
+++ b/llvm/test/Integer/packed_struct_bt.ll
@@ -16,9 +16,9 @@
 
 define i35 @main() 
 {
-        %tmp = load i35*  getelementptr (%struct.anon* @foos, i32 0, i32 1)            ; <i35> [#uses=1]
-        %tmp3 = load i35* getelementptr (%struct.anon* @foos, i32 0, i32 2)            ; <i35> [#uses=1]
-        %tmp6 = load i35* getelementptr (%struct.anon* @foos, i32 0, i32 3)            ; <i35> [#uses=1]
+        %tmp = load i35, i35*  getelementptr (%struct.anon* @foos, i32 0, i32 1)            ; <i35> [#uses=1]
+        %tmp3 = load i35, i35* getelementptr (%struct.anon* @foos, i32 0, i32 2)            ; <i35> [#uses=1]
+        %tmp6 = load i35, i35* getelementptr (%struct.anon* @foos, i32 0, i32 3)            ; <i35> [#uses=1]
         %tmp4 = add i35 %tmp3, %tmp             ; <i35> [#uses=1]
         %tmp7 = add i35 %tmp4, %tmp6            ; <i35> [#uses=1]
         ret i35 %tmp7
@@ -26,8 +26,8 @@
 
 define i35 @bar() {
 entry:
-        %tmp = load i35* getelementptr([2 x <{ i35, i8 }>]* @bara, i32 0, i32 0, i32 0 )            ; <i35> [#uses=1]
-        %tmp4 = load i35* getelementptr ([2 x <{ i35, i8 }>]* @bara, i32 0, i32 1, i32 0)           ; <i35> [#uses=1]
+        %tmp = load i35, i35* getelementptr([2 x <{ i35, i8 }>]* @bara, i32 0, i32 0, i32 0 )            ; <i35> [#uses=1]
+        %tmp4 = load i35, i35* getelementptr ([2 x <{ i35, i8 }>]* @bara, i32 0, i32 1, i32 0)           ; <i35> [#uses=1]
         %tmp5 = add i35 %tmp4, %tmp             ; <i35> [#uses=1]
         ret i35 %tmp5
 }