[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/Transforms/LoopIdiom/basic-address-space.ll b/llvm/test/Transforms/LoopIdiom/basic-address-space.ll
index b6caa72..3ab874c 100644
--- a/llvm/test/Transforms/LoopIdiom/basic-address-space.ll
+++ b/llvm/test/Transforms/LoopIdiom/basic-address-space.ll
@@ -75,7 +75,7 @@
   %add = add nsw i32 %tmp5, 4
   %idxprom = sext i32 %add to i64
   %arrayidx = getelementptr inbounds [7 x i32], [7 x i32] addrspace(2)* @g_50, i32 0, i64 %idxprom
-  %tmp2 = load i32 addrspace(2)* %arrayidx, align 4
+  %tmp2 = load i32, i32 addrspace(2)* %arrayidx, align 4
   %add4 = add nsw i32 %tmp5, 5
   %idxprom5 = sext i32 %add4 to i64
   %arrayidx6 = getelementptr inbounds [7 x i32], [7 x i32] addrspace(2)* @g_50, i32 0, i64 %idxprom5
@@ -85,7 +85,7 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.end:                                          ; preds = %for.inc
-  %tmp8 = load i32 addrspace(2)* getelementptr inbounds ([7 x i32] addrspace(2)* @g_50, i32 0, i64 6), align 4
+  %tmp8 = load i32, i32 addrspace(2)* getelementptr inbounds ([7 x i32] addrspace(2)* @g_50, i32 0, i64 6), align 4
   ret i32 %tmp8
 }
 
diff --git a/llvm/test/Transforms/LoopIdiom/basic.ll b/llvm/test/Transforms/LoopIdiom/basic.ll
index 7344f5d..c0aafc2 100644
--- a/llvm/test/Transforms/LoopIdiom/basic.ll
+++ b/llvm/test/Transforms/LoopIdiom/basic.ll
@@ -150,7 +150,7 @@
   %indvar = phi i64 [ 0, %bb.nph ], [ %indvar.next, %for.body ]
   %I.0.014 = getelementptr i8, i8* %Base, i64 %indvar
   %DestI = getelementptr i8, i8* %Dest, i64 %indvar
-  %V = load i8* %I.0.014, align 1
+  %V = load i8, i8* %I.0.014, align 1
   store i8 %V, i8* %DestI, align 1
   %indvar.next = add i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %Size
@@ -223,7 +223,7 @@
   %indvar = phi i64 [ 0, %bb.nph ], [ %indvar.next, %for.body ]
   %I.0.014 = getelementptr i8, i8* %Base, i64 %indvar
   %DestI = getelementptr i8, i8* %Dest, i64 %indvar
-  %V = load i8* %I.0.014, align 1
+  %V = load i8, i8* %I.0.014, align 1
   store i8 %V, i8* %DestI, align 1
 
   ;; This store can clobber the input.
@@ -363,7 +363,7 @@
   %add = add nsw i32 %tmp5, 4
   %idxprom = sext i32 %add to i64
   %arrayidx = getelementptr inbounds [7 x i32], [7 x i32]* @g_50, i32 0, i64 %idxprom
-  %tmp2 = load i32* %arrayidx, align 4
+  %tmp2 = load i32, i32* %arrayidx, align 4
   %add4 = add nsw i32 %tmp5, 5
   %idxprom5 = sext i32 %add4 to i64
   %arrayidx6 = getelementptr inbounds [7 x i32], [7 x i32]* @g_50, i32 0, i64 %idxprom5
@@ -373,7 +373,7 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.end:                                          ; preds = %for.inc
-  %tmp8 = load i32* getelementptr inbounds ([7 x i32]* @g_50, i32 0, i64 6), align 4
+  %tmp8 = load i32, i32* getelementptr inbounds ([7 x i32]* @g_50, i32 0, i64 6), align 4
   ret i32 %tmp8
 ; CHECK-LABEL: @test14(
 ; CHECK: for.body:
@@ -404,7 +404,7 @@
 while.body:
   %phi.ptr = phi i32* [ %s, %entry ], [ %next.ptr, %while.body ]
   %src.ptr = getelementptr inbounds i32, i32* %phi.ptr, i64 1
-  %val = load i32* %src.ptr, align 4
+  %val = load i32, i32* %src.ptr, align 4
 ; CHECK: load
   %dst.ptr = getelementptr inbounds i32, i32* %phi.ptr, i64 0
   store i32 %val, i32* %dst.ptr, align 4
diff --git a/llvm/test/Transforms/LoopIdiom/scev-invalidation.ll b/llvm/test/Transforms/LoopIdiom/scev-invalidation.ll
index 1e72e0b..2fe8a30 100644
--- a/llvm/test/Transforms/LoopIdiom/scev-invalidation.ll
+++ b/llvm/test/Transforms/LoopIdiom/scev-invalidation.ll
@@ -11,7 +11,7 @@
   %backslashes.0 = phi i32 [ undef, %entry ], [ %backslashes.2, %for.inc ]
   %p.0 = phi i8* [ undef, %entry ], [ %incdec.ptr3, %for.inc ]
   %q.0 = phi i8* [ undef, %entry ], [ %q.2, %for.inc ]
-  %0 = load i8* %p.0, align 1
+  %0 = load i8, i8* %p.0, align 1
   switch i8 %0, label %while.cond.preheader [
     i8 0, label %for.cond4.preheader
     i8 92, label %for.inc