[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/SimplifyCFG/2005-06-16-PHICrash.ll b/llvm/test/Transforms/SimplifyCFG/2005-06-16-PHICrash.ll
index 90be680..8fd1fae 100644
--- a/llvm/test/Transforms/SimplifyCFG/2005-06-16-PHICrash.ll
+++ b/llvm/test/Transforms/SimplifyCFG/2005-06-16-PHICrash.ll
@@ -30,7 +30,7 @@
 	%tmp.14 = sext i8 %tmp.1 to i32		; <i32> [#uses=1]
 	%tmp.16 = zext i8 %l_88173906 to i32		; <i32> [#uses=1]
 	%tmp.17 = icmp sgt i32 %tmp.14, %tmp.16		; <i1> [#uses=1]
-	%tmp.19 = load i32* @g_59182229		; <i32> [#uses=2]
+	%tmp.19 = load i32, i32* @g_59182229		; <i32> [#uses=2]
 	br i1 %tmp.17, label %cond_true, label %cond_false
 cond_true:		; preds = %endif.0
 	%tmp.20 = icmp ne i32 %tmp.19, 1		; <i1> [#uses=1]
@@ -53,7 +53,7 @@
 	%tmp.29 = icmp sgt i32 %i.1.1, 99		; <i1> [#uses=1]
 	br i1 %tmp.29, label %endif.2, label %no_exit.1
 no_exit.1:		; preds = %loopentry.1
-	%tmp.30 = load i32* @g_38098584		; <i32> [#uses=1]
+	%tmp.30 = load i32, i32* @g_38098584		; <i32> [#uses=1]
 	%tmp.31 = icmp eq i32 %tmp.30, 0		; <i1> [#uses=1]
 	br i1 %tmp.31, label %else.3, label %then.3
 then.3:		; preds = %no_exit.1
diff --git a/llvm/test/Transforms/SimplifyCFG/2005-12-03-IncorrectPHIFold.ll b/llvm/test/Transforms/SimplifyCFG/2005-12-03-IncorrectPHIFold.ll
index 231d11b..2606e08 100644
--- a/llvm/test/Transforms/SimplifyCFG/2005-12-03-IncorrectPHIFold.ll
+++ b/llvm/test/Transforms/SimplifyCFG/2005-12-03-IncorrectPHIFold.ll
@@ -36,8 +36,8 @@
 	%guess = alloca %struct.anon*		; <%struct.anon**> [#uses=7]
 	%guess1 = alloca %struct.anon*		; <%struct.anon**> [#uses=7]
 	%point5 = alloca %struct.anon*		; <%struct.anon**> [#uses=3]
-	%tmp = load %struct.anon** %num		; <%struct.anon*> [#uses=1]
-	%tmp1 = load %struct.anon** @_zero_		; <%struct.anon*> [#uses=1]
+	%tmp = load %struct.anon*, %struct.anon** %num		; <%struct.anon*> [#uses=1]
+	%tmp1 = load %struct.anon*, %struct.anon** @_zero_		; <%struct.anon*> [#uses=1]
 	%tmp.upgrd.1 = call i32 @bc_compare( %struct.anon* %tmp, %struct.anon* %tmp1 )		; <i32> [#uses=2]
 	%tmp.upgrd.2 = icmp slt i32 %tmp.upgrd.1, 0		; <i1> [#uses=1]
 	br i1 %tmp.upgrd.2, label %cond_true, label %cond_false
@@ -48,26 +48,26 @@
 	br i1 %tmp5, label %cond_true6, label %cond_next13
 cond_true6:		; preds = %cond_false
 	call void @free_num( %struct.anon** %num )
-	%tmp8 = load %struct.anon** @_zero_		; <%struct.anon*> [#uses=1]
+	%tmp8 = load %struct.anon*, %struct.anon** @_zero_		; <%struct.anon*> [#uses=1]
 	%tmp9 = call %struct.anon* @copy_num( %struct.anon* %tmp8 )		; <%struct.anon*> [#uses=1]
 	store %struct.anon* %tmp9, %struct.anon** %num
 	ret i32 1
 cond_next13:		; preds = %cond_false
-	%tmp15 = load %struct.anon** %num		; <%struct.anon*> [#uses=1]
-	%tmp16 = load %struct.anon** @_one_		; <%struct.anon*> [#uses=1]
+	%tmp15 = load %struct.anon*, %struct.anon** %num		; <%struct.anon*> [#uses=1]
+	%tmp16 = load %struct.anon*, %struct.anon** @_one_		; <%struct.anon*> [#uses=1]
 	%tmp17 = call i32 @bc_compare( %struct.anon* %tmp15, %struct.anon* %tmp16 )		; <i32> [#uses=2]
 	%tmp19 = icmp eq i32 %tmp17, 0		; <i1> [#uses=1]
 	br i1 %tmp19, label %cond_true20, label %cond_next27
 cond_true20:		; preds = %cond_next13
 	call void @free_num( %struct.anon** %num )
-	%tmp22 = load %struct.anon** @_one_		; <%struct.anon*> [#uses=1]
+	%tmp22 = load %struct.anon*, %struct.anon** @_one_		; <%struct.anon*> [#uses=1]
 	%tmp23 = call %struct.anon* @copy_num( %struct.anon* %tmp22 )		; <%struct.anon*> [#uses=1]
 	store %struct.anon* %tmp23, %struct.anon** %num
 	ret i32 1
 cond_next27:		; preds = %cond_next13
-	%tmp29 = load %struct.anon** %num		; <%struct.anon*> [#uses=1]
+	%tmp29 = load %struct.anon*, %struct.anon** %num		; <%struct.anon*> [#uses=1]
 	%tmp30 = getelementptr %struct.anon, %struct.anon* %tmp29, i32 0, i32 2		; <i32*> [#uses=1]
-	%tmp31 = load i32* %tmp30		; <i32> [#uses=2]
+	%tmp31 = load i32, i32* %tmp30		; <i32> [#uses=2]
 	%tmp33 = icmp sge i32 %tmp31, %scale		; <i1> [#uses=1]
 	%max = select i1 %tmp33, i32 %tmp31, i32 %scale		; <i32> [#uses=4]
 	%tmp35 = add i32 %max, 2		; <i32> [#uses=0]
@@ -80,24 +80,24 @@
 	%tmp39 = icmp slt i32 %tmp17, 0		; <i1> [#uses=1]
 	br i1 %tmp39, label %cond_true40, label %cond_false43
 cond_true40:		; preds = %cond_next27
-	%tmp41 = load %struct.anon** @_one_		; <%struct.anon*> [#uses=1]
+	%tmp41 = load %struct.anon*, %struct.anon** @_one_		; <%struct.anon*> [#uses=1]
 	%tmp42 = call %struct.anon* @copy_num( %struct.anon* %tmp41 )		; <%struct.anon*> [#uses=1]
 	store %struct.anon* %tmp42, %struct.anon** %guess
 	br label %bb80.outer
 cond_false43:		; preds = %cond_next27
 	call void @int2num( %struct.anon** %guess, i32 10 )
-	%tmp45 = load %struct.anon** %num		; <%struct.anon*> [#uses=1]
+	%tmp45 = load %struct.anon*, %struct.anon** %num		; <%struct.anon*> [#uses=1]
 	%tmp46 = getelementptr %struct.anon, %struct.anon* %tmp45, i32 0, i32 1		; <i32*> [#uses=1]
-	%tmp47 = load i32* %tmp46		; <i32> [#uses=1]
+	%tmp47 = load i32, i32* %tmp46		; <i32> [#uses=1]
 	call void @int2num( %struct.anon** %guess1, i32 %tmp47 )
-	%tmp48 = load %struct.anon** %guess1		; <%struct.anon*> [#uses=1]
-	%tmp49 = load %struct.anon** %point5		; <%struct.anon*> [#uses=1]
+	%tmp48 = load %struct.anon*, %struct.anon** %guess1		; <%struct.anon*> [#uses=1]
+	%tmp49 = load %struct.anon*, %struct.anon** %point5		; <%struct.anon*> [#uses=1]
 	call void @bc_multiply( %struct.anon* %tmp48, %struct.anon* %tmp49, %struct.anon** %guess1, i32 %max )
-	%tmp51 = load %struct.anon** %guess1		; <%struct.anon*> [#uses=1]
+	%tmp51 = load %struct.anon*, %struct.anon** %guess1		; <%struct.anon*> [#uses=1]
 	%tmp52 = getelementptr %struct.anon, %struct.anon* %tmp51, i32 0, i32 2		; <i32*> [#uses=1]
 	store i32 0, i32* %tmp52
-	%tmp53 = load %struct.anon** %guess		; <%struct.anon*> [#uses=1]
-	%tmp54 = load %struct.anon** %guess1		; <%struct.anon*> [#uses=1]
+	%tmp53 = load %struct.anon*, %struct.anon** %guess		; <%struct.anon*> [#uses=1]
+	%tmp54 = load %struct.anon*, %struct.anon** %guess1		; <%struct.anon*> [#uses=1]
 	call void @bc_raise( %struct.anon* %tmp53, %struct.anon* %tmp54, %struct.anon** %guess, i32 %max )
 	br label %bb80.outer
 bb80.outer:		; preds = %cond_true83, %cond_false43, %cond_true40
@@ -113,8 +113,8 @@
 ; CHECK: bb86
 bb86:		; preds = %bb80
 	call void @free_num( %struct.anon** %num )
-	%tmp88 = load %struct.anon** %guess		; <%struct.anon*> [#uses=1]
-	%tmp89 = load %struct.anon** @_one_		; <%struct.anon*> [#uses=1]
+	%tmp88 = load %struct.anon*, %struct.anon** %guess		; <%struct.anon*> [#uses=1]
+	%tmp89 = load %struct.anon*, %struct.anon** @_one_		; <%struct.anon*> [#uses=1]
 	%tmp92 = call i32 @bc_divide( %struct.anon* %tmp88, %struct.anon* %tmp89, %struct.anon** %num, i32 %max )		; <i32> [#uses=0]
 	call void @free_num( %struct.anon** %guess )
 	call void @free_num( %struct.anon** %guess1 )
diff --git a/llvm/test/Transforms/SimplifyCFG/2006-08-03-Crash.ll b/llvm/test/Transforms/SimplifyCFG/2006-08-03-Crash.ll
index 8fbca35..0820e9c 100644
--- a/llvm/test/Transforms/SimplifyCFG/2006-08-03-Crash.ll
+++ b/llvm/test/Transforms/SimplifyCFG/2006-08-03-Crash.ll
@@ -34,7 +34,7 @@
 
 define void @fold_builtin_classify() {
 entry:
-	%tmp63 = load i32* null		; <i32> [#uses=1]
+	%tmp63 = load i32, i32* null		; <i32> [#uses=1]
 	switch i32 %tmp63, label %bb276 [
 		 i32 414, label %bb145
 		 i32 417, label %bb
@@ -42,54 +42,54 @@
 bb:		; preds = %entry
 	ret void
 bb145:		; preds = %entry
-	%tmp146 = load %struct.tree_node** null		; <%struct.tree_node*> [#uses=1]
+	%tmp146 = load %struct.tree_node*, %struct.tree_node** null		; <%struct.tree_node*> [#uses=1]
 	%tmp148 = getelementptr %struct.tree_node, %struct.tree_node* %tmp146, i32 0, i32 0, i32 0, i32 1		; <%struct.tree_node**> [#uses=1]
-	%tmp149 = load %struct.tree_node** %tmp148		; <%struct.tree_node*> [#uses=1]
+	%tmp149 = load %struct.tree_node*, %struct.tree_node** %tmp148		; <%struct.tree_node*> [#uses=1]
 	%tmp150 = bitcast %struct.tree_node* %tmp149 to %struct.tree_type*		; <%struct.tree_type*> [#uses=1]
 	%tmp151 = getelementptr %struct.tree_type, %struct.tree_type* %tmp150, i32 0, i32 6		; <i16*> [#uses=1]
 	%tmp151.upgrd.1 = bitcast i16* %tmp151 to i32*		; <i32*> [#uses=1]
-	%tmp152 = load i32* %tmp151.upgrd.1		; <i32> [#uses=1]
+	%tmp152 = load i32, i32* %tmp151.upgrd.1		; <i32> [#uses=1]
 	%tmp154 = lshr i32 %tmp152, 16		; <i32> [#uses=1]
 	%tmp154.mask = and i32 %tmp154, 127		; <i32> [#uses=1]
 	%gep.upgrd.2 = zext i32 %tmp154.mask to i64		; <i64> [#uses=1]
 	%tmp155 = getelementptr [35 x i8], [35 x i8]* @mode_class, i32 0, i64 %gep.upgrd.2		; <i8*> [#uses=1]
-	%tmp156 = load i8* %tmp155		; <i8> [#uses=1]
+	%tmp156 = load i8, i8* %tmp155		; <i8> [#uses=1]
 	%tmp157 = icmp eq i8 %tmp156, 4		; <i1> [#uses=1]
 	br i1 %tmp157, label %cond_next241, label %cond_true158
 cond_true158:		; preds = %bb145
-	%tmp172 = load %struct.tree_node** null		; <%struct.tree_node*> [#uses=1]
+	%tmp172 = load %struct.tree_node*, %struct.tree_node** null		; <%struct.tree_node*> [#uses=1]
 	%tmp174 = getelementptr %struct.tree_node, %struct.tree_node* %tmp172, i32 0, i32 0, i32 0, i32 1		; <%struct.tree_node**> [#uses=1]
-	%tmp175 = load %struct.tree_node** %tmp174		; <%struct.tree_node*> [#uses=1]
+	%tmp175 = load %struct.tree_node*, %struct.tree_node** %tmp174		; <%struct.tree_node*> [#uses=1]
 	%tmp176 = bitcast %struct.tree_node* %tmp175 to %struct.tree_type*		; <%struct.tree_type*> [#uses=1]
 	%tmp177 = getelementptr %struct.tree_type, %struct.tree_type* %tmp176, i32 0, i32 6		; <i16*> [#uses=1]
 	%tmp177.upgrd.3 = bitcast i16* %tmp177 to i32*		; <i32*> [#uses=1]
-	%tmp178 = load i32* %tmp177.upgrd.3		; <i32> [#uses=1]
+	%tmp178 = load i32, i32* %tmp177.upgrd.3		; <i32> [#uses=1]
 	%tmp180 = lshr i32 %tmp178, 16		; <i32> [#uses=1]
 	%tmp180.mask = and i32 %tmp180, 127		; <i32> [#uses=1]
 	%gep.upgrd.4 = zext i32 %tmp180.mask to i64		; <i64> [#uses=1]
 	%tmp181 = getelementptr [35 x i8], [35 x i8]* @mode_class, i32 0, i64 %gep.upgrd.4		; <i8*> [#uses=1]
-	%tmp182 = load i8* %tmp181		; <i8> [#uses=1]
+	%tmp182 = load i8, i8* %tmp181		; <i8> [#uses=1]
 	%tmp183 = icmp eq i8 %tmp182, 8		; <i1> [#uses=1]
 	br i1 %tmp183, label %cond_next241, label %cond_true184
 cond_true184:		; preds = %cond_true158
-	%tmp185 = load %struct.tree_node** null		; <%struct.tree_node*> [#uses=1]
+	%tmp185 = load %struct.tree_node*, %struct.tree_node** null		; <%struct.tree_node*> [#uses=1]
 	%tmp187 = getelementptr %struct.tree_node, %struct.tree_node* %tmp185, i32 0, i32 0, i32 0, i32 1		; <%struct.tree_node**> [#uses=1]
-	%tmp188 = load %struct.tree_node** %tmp187		; <%struct.tree_node*> [#uses=1]
+	%tmp188 = load %struct.tree_node*, %struct.tree_node** %tmp187		; <%struct.tree_node*> [#uses=1]
 	%tmp189 = bitcast %struct.tree_node* %tmp188 to %struct.tree_type*		; <%struct.tree_type*> [#uses=1]
 	%tmp190 = getelementptr %struct.tree_type, %struct.tree_type* %tmp189, i32 0, i32 6		; <i16*> [#uses=1]
 	%tmp190.upgrd.5 = bitcast i16* %tmp190 to i32*		; <i32*> [#uses=1]
-	%tmp191 = load i32* %tmp190.upgrd.5		; <i32> [#uses=1]
+	%tmp191 = load i32, i32* %tmp190.upgrd.5		; <i32> [#uses=1]
 	%tmp193 = lshr i32 %tmp191, 16		; <i32> [#uses=1]
 	%tmp193.mask = and i32 %tmp193, 127		; <i32> [#uses=1]
 	%gep.upgrd.6 = zext i32 %tmp193.mask to i64		; <i64> [#uses=1]
 	%tmp194 = getelementptr [35 x i8], [35 x i8]* @mode_class, i32 0, i64 %gep.upgrd.6		; <i8*> [#uses=1]
-	%tmp195 = load i8* %tmp194		; <i8> [#uses=1]
+	%tmp195 = load i8, i8* %tmp194		; <i8> [#uses=1]
 	%tmp196 = icmp eq i8 %tmp195, 4		; <i1> [#uses=1]
 	br i1 %tmp196, label %cond_next241, label %cond_true197
 cond_true197:		; preds = %cond_true184
 	ret void
 cond_next241:		; preds = %cond_true184, %cond_true158, %bb145
-	%tmp245 = load i32* null		; <i32> [#uses=0]
+	%tmp245 = load i32, i32* null		; <i32> [#uses=0]
 	ret void
 bb276:		; preds = %entry
 	ret void
diff --git a/llvm/test/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll b/llvm/test/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll
index a621761..dcf2412 100644
--- a/llvm/test/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll
+++ b/llvm/test/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll
@@ -47,40 +47,40 @@
 	store i32 0, i32* %wstate
 	%tmp = getelementptr %struct.charsequence, %struct.charsequence* %cs, i64 0, i32 0		; <i8**> [#uses=1]
 	%tmp1 = getelementptr %struct.charsequence, %struct.charsequence* @C.0.2294, i64 0, i32 0		; <i8**> [#uses=1]
-	%tmp.upgrd.5 = load i8** %tmp1		; <i8*> [#uses=1]
+	%tmp.upgrd.5 = load i8*, i8** %tmp1		; <i8*> [#uses=1]
 	store i8* %tmp.upgrd.5, i8** %tmp
 	%tmp.upgrd.6 = getelementptr %struct.charsequence, %struct.charsequence* %cs, i64 0, i32 1		; <i32*> [#uses=1]
 	%tmp2 = getelementptr %struct.charsequence, %struct.charsequence* @C.0.2294, i64 0, i32 1		; <i32*> [#uses=1]
-	%tmp.upgrd.7 = load i32* %tmp2		; <i32> [#uses=1]
+	%tmp.upgrd.7 = load i32, i32* %tmp2		; <i32> [#uses=1]
 	store i32 %tmp.upgrd.7, i32* %tmp.upgrd.6
 	%tmp3 = getelementptr %struct.charsequence, %struct.charsequence* %cs, i64 0, i32 2		; <i32*> [#uses=1]
 	%tmp4 = getelementptr %struct.charsequence, %struct.charsequence* @C.0.2294, i64 0, i32 2		; <i32*> [#uses=1]
-	%tmp5 = load i32* %tmp4		; <i32> [#uses=1]
+	%tmp5 = load i32, i32* %tmp4		; <i32> [#uses=1]
 	store i32 %tmp5, i32* %tmp3
 	br label %bb33
 bb:		; preds = %bb33
-	%tmp.upgrd.8 = load %struct.FILE** %f_addr		; <%struct.FILE*> [#uses=1]
+	%tmp.upgrd.8 = load %struct.FILE*, %struct.FILE** %f_addr		; <%struct.FILE*> [#uses=1]
 	%tmp.upgrd.9 = call i32 @_IO_getc( %struct.FILE* %tmp.upgrd.8 )		; <i32> [#uses=1]
 	%tmp6 = call i32 @tolower( i32 %tmp.upgrd.9 )		; <i32> [#uses=1]
 	%tmp6.upgrd.10 = trunc i32 %tmp6 to i8		; <i8> [#uses=1]
 	store i8 %tmp6.upgrd.10, i8* %c
-	%tmp7 = load i32* %wstate		; <i32> [#uses=1]
+	%tmp7 = load i32, i32* %wstate		; <i32> [#uses=1]
 	%tmp.upgrd.11 = icmp ne i32 %tmp7, 0		; <i1> [#uses=1]
 	br i1 %tmp.upgrd.11, label %cond_true, label %cond_false
 cond_true:		; preds = %bb
-	%tmp.upgrd.12 = load i8* %c		; <i8> [#uses=1]
+	%tmp.upgrd.12 = load i8, i8* %c		; <i8> [#uses=1]
 	%tmp8 = icmp sle i8 %tmp.upgrd.12, 96		; <i1> [#uses=1]
 	br i1 %tmp8, label %cond_true9, label %cond_next
 cond_true9:		; preds = %cond_true
 	br label %bb16
 cond_next:		; preds = %cond_true
-	%tmp10 = load i8* %c		; <i8> [#uses=1]
+	%tmp10 = load i8, i8* %c		; <i8> [#uses=1]
 	%tmp11 = icmp sgt i8 %tmp10, 122		; <i1> [#uses=1]
 	br i1 %tmp11, label %cond_true12, label %cond_next13
 cond_true12:		; preds = %cond_next
 	br label %bb16
 cond_next13:		; preds = %cond_next
-	%tmp14 = load i8* %c		; <i8> [#uses=1]
+	%tmp14 = load i8, i8* %c		; <i8> [#uses=1]
 	%tmp14.upgrd.13 = sext i8 %tmp14 to i32		; <i32> [#uses=1]
 	%tmp1415 = trunc i32 %tmp14.upgrd.13 to i8		; <i8> [#uses=1]
 	call void @charsequence_push( %struct.charsequence* %cs, i8 %tmp1415 )
@@ -88,26 +88,26 @@
 bb16:		; preds = %cond_true12, %cond_true9
 	%tmp17 = call i8* @charsequence_val( %struct.charsequence* %cs )		; <i8*> [#uses=1]
 	store i8* %tmp17, i8** %str
-	%tmp.upgrd.14 = load %struct.trie_s** %t_addr		; <%struct.trie_s*> [#uses=1]
-	%tmp18 = load i8** %str		; <i8*> [#uses=1]
+	%tmp.upgrd.14 = load %struct.trie_s*, %struct.trie_s** %t_addr		; <%struct.trie_s*> [#uses=1]
+	%tmp18 = load i8*, i8** %str		; <i8*> [#uses=1]
 	%tmp19 = call %struct.trie_s* @trie_insert( %struct.trie_s* %tmp.upgrd.14, i8* %tmp18 )		; <%struct.trie_s*> [#uses=0]
-	%tmp20 = load i8** %str		; <i8*> [#uses=1]
+	%tmp20 = load i8*, i8** %str		; <i8*> [#uses=1]
 	call void @free( i8* %tmp20 )
 	store i32 0, i32* %wstate
 	br label %bb21
 bb21:		; preds = %bb16, %cond_next13
 	br label %cond_next32
 cond_false:		; preds = %bb
-	%tmp22 = load i8* %c		; <i8> [#uses=1]
+	%tmp22 = load i8, i8* %c		; <i8> [#uses=1]
 	%tmp23 = icmp sgt i8 %tmp22, 96		; <i1> [#uses=1]
 	br i1 %tmp23, label %cond_true24, label %cond_next31
 cond_true24:		; preds = %cond_false
-	%tmp25 = load i8* %c		; <i8> [#uses=1]
+	%tmp25 = load i8, i8* %c		; <i8> [#uses=1]
 	%tmp26 = icmp sle i8 %tmp25, 122		; <i1> [#uses=1]
 	br i1 %tmp26, label %cond_true27, label %cond_next30
 cond_true27:		; preds = %cond_true24
 	call void @charsequence_reset( %struct.charsequence* %cs )
-	%tmp28 = load i8* %c		; <i8> [#uses=1]
+	%tmp28 = load i8, i8* %c		; <i8> [#uses=1]
 	%tmp28.upgrd.15 = sext i8 %tmp28 to i32		; <i32> [#uses=1]
 	%tmp2829 = trunc i32 %tmp28.upgrd.15 to i8		; <i8> [#uses=1]
 	call void @charsequence_push( %struct.charsequence* %cs, i8 %tmp2829 )
@@ -120,7 +120,7 @@
 cond_next32:		; preds = %cond_next31, %bb21
 	br label %bb33
 bb33:		; preds = %cond_next32, %entry
-	%tmp34 = load %struct.FILE** %f_addr		; <%struct.FILE*> [#uses=1]
+	%tmp34 = load %struct.FILE*, %struct.FILE** %f_addr		; <%struct.FILE*> [#uses=1]
 	%tmp35 = call i32 @feof( %struct.FILE* %tmp34 )		; <i32> [#uses=1]
 	%tmp36 = icmp eq i32 %tmp35, 0		; <i1> [#uses=1]
 	br i1 %tmp36, label %bb, label %bb37
diff --git a/llvm/test/Transforms/SimplifyCFG/2008-01-02-hoist-fp-add.ll b/llvm/test/Transforms/SimplifyCFG/2008-01-02-hoist-fp-add.ll
index 8e15637..7625d93 100644
--- a/llvm/test/Transforms/SimplifyCFG/2008-01-02-hoist-fp-add.ll
+++ b/llvm/test/Transforms/SimplifyCFG/2008-01-02-hoist-fp-add.ll
@@ -8,7 +8,7 @@
 define void @test(i32 %X, i32 %Y, i32 %Z) {
 entry:
 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
-	%tmp = load i32* @G, align 8		; <i32> [#uses=2]
+	%tmp = load i32, i32* @G, align 8		; <i32> [#uses=2]
 	%tmp3 = icmp eq i32 %X, %Y		; <i1> [#uses=1]
 	%tmp34 = zext i1 %tmp3 to i8		; <i8> [#uses=1]
 	%toBool = icmp ne i8 %tmp34, 0		; <i1> [#uses=1]
diff --git a/llvm/test/Transforms/SimplifyCFG/2008-07-13-InfLoopMiscompile.ll b/llvm/test/Transforms/SimplifyCFG/2008-07-13-InfLoopMiscompile.ll
index 9b6084f..3127931 100644
--- a/llvm/test/Transforms/SimplifyCFG/2008-07-13-InfLoopMiscompile.ll
+++ b/llvm/test/Transforms/SimplifyCFG/2008-07-13-InfLoopMiscompile.ll
@@ -9,7 +9,7 @@
 
 define i32 @main() nounwind  {
 entry:
-	%l = load i32* @g_37, align 4		; <i32> [#uses=1]
+	%l = load i32, i32* @g_37, align 4		; <i32> [#uses=1]
 	%cmpa = icmp ne i32 %l, 0		; <i1> [#uses=3]
 	br i1 %cmpa, label %func_1.exit, label %mooseblock
 
diff --git a/llvm/test/Transforms/SimplifyCFG/2008-09-08-MultiplePred.ll b/llvm/test/Transforms/SimplifyCFG/2008-09-08-MultiplePred.ll
index ac9622d..6b216f5 100644
--- a/llvm/test/Transforms/SimplifyCFG/2008-09-08-MultiplePred.ll
+++ b/llvm/test/Transforms/SimplifyCFG/2008-09-08-MultiplePred.ll
@@ -4,7 +4,7 @@
 
 define i32 @func_127(i32 %p_129) nounwind {
 entry:
-	load i32* @g_103, align 4		; <i32>:0 [#uses=1]
+	load i32, i32* @g_103, align 4		; <i32>:0 [#uses=1]
 	icmp eq i32 %0, 0		; <i1>:1 [#uses=2]
 	br i1 %1, label %bb6.preheader, label %entry.return_crit_edge
 
diff --git a/llvm/test/Transforms/SimplifyCFG/2009-05-12-externweak.ll b/llvm/test/Transforms/SimplifyCFG/2009-05-12-externweak.ll
index 419feb6..faf3f5f 100644
--- a/llvm/test/Transforms/SimplifyCFG/2009-05-12-externweak.ll
+++ b/llvm/test/Transforms/SimplifyCFG/2009-05-12-externweak.ll
@@ -18,7 +18,7 @@
 	br i1 icmp ne (i32* @i, i32* null), label %bb1, label %bb2
 
 bb1:		; preds = %bb
-	%0 = load i32* @i, align 4		; <i32> [#uses=1]
+	%0 = load i32, i32* @i, align 4		; <i32> [#uses=1]
 	br label %bb3
 
 bb2:		; preds = %bb
diff --git a/llvm/test/Transforms/SimplifyCFG/AArch64/prefer-fma.ll b/llvm/test/Transforms/SimplifyCFG/AArch64/prefer-fma.ll
index 076cb58..cfbe219 100644
--- a/llvm/test/Transforms/SimplifyCFG/AArch64/prefer-fma.ll
+++ b/llvm/test/Transforms/SimplifyCFG/AArch64/prefer-fma.ll
@@ -5,9 +5,9 @@
 ; Function Attrs: nounwind
 define double @_Z3fooRdS_S_S_(double* dereferenceable(8) %x, double* dereferenceable(8) %y, double* dereferenceable(8) %a) #0 {
 entry:
-  %0 = load double* %y, align 8
+  %0 = load double, double* %y, align 8
   %cmp = fcmp oeq double %0, 0.000000e+00
-  %1 = load double* %x, align 8
+  %1 = load double, double* %x, align 8
   br i1 %cmp, label %if.then, label %if.else
 
 ; fadd (const, (fmul x, y))
@@ -15,7 +15,7 @@
 ; CHECK-LABEL: if.then:
 ; CHECK:   %3 = fmul fast double %1, %2
 ; CHECK-NEXT:   %mul = fadd fast double 1.000000e+00, %3
-  %2 = load double* %a, align 8
+  %2 = load double, double* %a, align 8
   %3 = fmul fast double %1, %2
   %mul = fadd fast double 1.000000e+00, %3
   store double %mul, double* %y, align 8
@@ -26,16 +26,16 @@
 ; CHECK-LABEL: if.else:
 ; CHECK:   %mul1 = fmul fast double %1, %2
 ; CHECK-NEXT:   %sub1 = fsub fast double %mul1, %0
-  %4 = load double* %a, align 8
+  %4 = load double, double* %a, align 8
   %mul1 = fmul fast double %1, %4
   %sub1 = fsub fast double %mul1, %0
   store double %sub1, double* %y, align 8
   br label %if.end
 
 if.end:                                           ; preds = %if.else, %if.then
-  %5 = load double* %y, align 8
+  %5 = load double, double* %y, align 8
   %cmp2 = fcmp oeq double %5, 2.000000e+00
-  %6 = load double* %x, align 8
+  %6 = load double, double* %x, align 8
   br i1 %cmp2, label %if.then2, label %if.else2
 
 ; fsub (x, (fmul y, z))
@@ -43,7 +43,7 @@
 ; CHECK-LABEL: if.then2:
 ; CHECK:   %7 = fmul fast double %5, 3.000000e+00
 ; CHECK-NEXT:   %mul2 = fsub fast double %6, %7
-  %7 = load double* %a, align 8
+  %7 = load double, double* %a, align 8
   %8 = fmul fast double %6, 3.0000000e+00
   %mul2 = fsub fast double %7, %8
   store double %mul2, double* %y, align 8
@@ -62,10 +62,10 @@
   br label %if.end2
 
 if.end2:                                           ; preds = %if.else, %if.then
-  %9 = load double* %x, align 8
-  %10 = load double* %y, align 8
+  %9 = load double, double* %x, align 8
+  %10 = load double, double* %y, align 8
   %add = fadd fast double %9, %10
-  %11 = load double* %a, align 8
+  %11 = load double, double* %a, align 8
   %add2 = fadd fast double %add, %11
   ret double %add2
 }
diff --git a/llvm/test/Transforms/SimplifyCFG/EmptyBlockMerge.ll b/llvm/test/Transforms/SimplifyCFG/EmptyBlockMerge.ll
index aba08dc..32a0202 100644
--- a/llvm/test/Transforms/SimplifyCFG/EmptyBlockMerge.ll
+++ b/llvm/test/Transforms/SimplifyCFG/EmptyBlockMerge.ll
@@ -6,7 +6,7 @@
 
 define void @cprop_test12(i32* %data) {
 bb0:
-	%reg108 = load i32* %data		; <i32> [#uses=2]
+	%reg108 = load i32, i32* %data		; <i32> [#uses=2]
 	%cond218 = icmp ne i32 %reg108, 5		; <i1> [#uses=1]
 	br i1 %cond218, label %bb3, label %bb2
 bb2:		; preds = %bb0
diff --git a/llvm/test/Transforms/SimplifyCFG/PR17073.ll b/llvm/test/Transforms/SimplifyCFG/PR17073.ll
index 8dc9fb2..e6e98b2 100644
--- a/llvm/test/Transforms/SimplifyCFG/PR17073.ll
+++ b/llvm/test/Transforms/SimplifyCFG/PR17073.ll
@@ -18,7 +18,7 @@
 ; CHECK-NOT: select i1 %tobool, i32* null, i32* select (i1 icmp eq (i64 urem (i64 2, i64 zext (i1 icmp eq (i32* bitcast (i8* @b to i32*), i32* @a) to i64)), i64 0), i32* null, i32* @a) 
 define i32* @can_trap1() {
 entry:
-  %0 = load i32* @a, align 4
+  %0 = load i32, i32* @a, align 4
   %tobool = icmp eq i32 %0, 0
   br i1 %tobool, label %exit, label %block1
 
@@ -38,7 +38,7 @@
 ; CHECK-NOT: select i1 %tobool, i32* select (i1 icmp eq (i64 urem (i64 2, i64 zext (i1 icmp eq (i32* bitcast (i8* @b to i32*), i32* @a) to i64)), i64 0), i32* null, i32* @a), i32* null
 define i32* @can_trap2() {
 entry:
-  %0 = load i32* @a, align 4
+  %0 = load i32, i32* @a, align 4
   %tobool = icmp eq i32 %0, 0
   br i1 %tobool, label %exit, label %block1
 
@@ -57,7 +57,7 @@
 ; CHECK: select i1 icmp eq (i32* bitcast (i8* @b to i32*), i32* @a), i32* select (i1 icmp eq (i64 add (i64 zext (i1 icmp eq (i32* bitcast (i8* @b to i32*), i32* @a) to i64), i64 2), i64 0), i32* null, i32* @a), i32* null
 define i32* @cannot_trap() {
 entry:
-  %0 = load i32* @a, align 4
+  %0 = load i32, i32* @a, align 4
   %tobool = icmp eq i32 %0, 0
   br i1 %tobool, label %exit, label %block1
 
diff --git a/llvm/test/Transforms/SimplifyCFG/SpeculativeExec.ll b/llvm/test/Transforms/SimplifyCFG/SpeculativeExec.ll
index 31de3c8b..c23a96d 100644
--- a/llvm/test/Transforms/SimplifyCFG/SpeculativeExec.ll
+++ b/llvm/test/Transforms/SimplifyCFG/SpeculativeExec.ll
@@ -34,11 +34,11 @@
 ; CHECK-LABEL: @test4(
 
 entry:
-  %cond1 = load volatile i1* %dummy
+  %cond1 = load volatile i1, i1* %dummy
   br i1 %cond1, label %if, label %end
 
 if:
-  %cond2 = load volatile i1* %dummy
+  %cond2 = load volatile i1, i1* %dummy
   br i1 %cond2, label %then, label %end
 
 then:
diff --git a/llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll b/llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
index 0df7963..f3e5506 100644
--- a/llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
+++ b/llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
@@ -10,7 +10,7 @@
 ; CHECK-NEXT: sub i3 %arg, -4
 ; CHECK-NEXT: zext i3 %switch.tableidx to i4
 ; CHECK-NEXT: getelementptr inbounds [8 x i64], [8 x i64]* @switch.table, i32 0, i4 %switch.tableidx.zext
-; CHECK-NEXT: load i64* %switch.gep
+; CHECK-NEXT: load i64, i64* %switch.gep
 ; CHECK-NEXT: add i64
 ; CHECK-NEXT: ret i64
 define i64 @test(i3 %arg) {
diff --git a/llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll b/llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
index 18e04f6..2600870 100644
--- a/llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
+++ b/llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
@@ -9,7 +9,7 @@
 ; CHECK-NEXT: sub i2 %0, -2
 ; CHECK-NEXT: zext i2 %switch.tableidx to i3
 ; CHECK-NEXT: getelementptr inbounds [4 x i64], [4 x i64]* @switch.table, i32 0, i3 %switch.tableidx.zext
-; CHECK-NEXT: load i64* %switch.gep
+; CHECK-NEXT: load i64, i64* %switch.gep
 ; CHECK-NEXT: ret i64 %switch.load
 define i64 @_TFO6reduce1E5toRawfS0_FT_Si(i2) {
 entry:
diff --git a/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll b/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
index 85a3680..6bdd649 100644
--- a/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
+++ b/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
@@ -59,7 +59,7 @@
 ; CHECK-NEXT: br i1 %0, label %switch.lookup, label %return
 ; CHECK: switch.lookup:
 ; CHECK-NEXT: %switch.gep = getelementptr inbounds [7 x i32], [7 x i32]* @switch.table, i32 0, i32 %switch.tableidx
-; CHECK-NEXT: %switch.load = load i32* %switch.gep
+; CHECK-NEXT: %switch.load = load i32, i32* %switch.gep
 ; CHECK-NEXT: ret i32 %switch.load
 ; CHECK: return:
 ; CHECK-NEXT: ret i32 15
@@ -98,7 +98,7 @@
 ; CHECK-NEXT: %switch.downshift = lshr i32 89655594, %switch.shiftamt
 ; CHECK-NEXT: %switch.masked = trunc i32 %switch.downshift to i8
 ; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x float], [4 x float]* @switch.table1, i32 0, i32 %switch.tableidx
-; CHECK-NEXT: %switch.load = load float* %switch.gep
+; CHECK-NEXT: %switch.load = load float, float* %switch.gep
 ; CHECK-NEXT: br label %sw.epilog
 ; CHECK: sw.epilog:
 ; CHECK-NEXT: %a.0 = phi i8 [ %switch.masked, %switch.lookup ], [ 7, %entry ]
@@ -145,7 +145,7 @@
 ; CHECK-NEXT: br i1 %0, label %switch.lookup, label %return
 ; CHECK: switch.lookup:
 ; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i8*], [4 x i8*]* @switch.table2, i32 0, i32 %switch.tableidx
-; CHECK-NEXT: %switch.load = load i8** %switch.gep
+; CHECK-NEXT: %switch.load = load i8*, i8** %switch.gep
 ; CHECK-NEXT: ret i8* %switch.load
 }
 
@@ -174,7 +174,7 @@
 ; CHECK-LABEL: @earlyreturncrash(
 ; CHECK: switch.lookup:
 ; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i32], [4 x i32]* @switch.table3, i32 0, i32 %switch.tableidx
-; CHECK-NEXT: %switch.load = load i32* %switch.gep
+; CHECK-NEXT: %switch.load = load i32, i32* %switch.gep
 ; CHECK-NEXT: ret i32 %switch.load
 ; CHECK: sw.epilog:
 ; CHECK-NEXT: ret i32 7
@@ -806,7 +806,7 @@
 ; CHECK-NOT: icmp
 ; CHECK-NOT: br 1i
 ; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i32], [4 x i32]* @switch.table7, i32 0, i32 %switch.tableidx
-; CHECK-NEXT: %switch.load = load i32* %switch.gep
+; CHECK-NEXT: %switch.load = load i32, i32* %switch.gep
 ; CHECK-NEXT: ret i32 %switch.load
 }
 
diff --git a/llvm/test/Transforms/SimplifyCFG/basictest.ll b/llvm/test/Transforms/SimplifyCFG/basictest.ll
index 5d9dad4..d228499 100644
--- a/llvm/test/Transforms/SimplifyCFG/basictest.ll
+++ b/llvm/test/Transforms/SimplifyCFG/basictest.ll
@@ -50,7 +50,7 @@
 ; CHECK: alloca i8, align 1
 ; CHECK-NEXT: call i8 @test6g
 ; CHECK-NEXT: icmp eq i8 %tmp, 0
-; CHECK-NEXT: load i8* %r, align 1{{$}}
+; CHECK-NEXT: load i8, i8* %r, align 1{{$}}
 
 bb0:
   %r = alloca i8, align 1
@@ -58,7 +58,7 @@
   %tmp1 = icmp eq i8 %tmp, 0
   br i1 %tmp1, label %bb2, label %bb1
 bb1:
-  %tmp3 = load i8* %r, align 1, !range !2, !tbaa !1
+  %tmp3 = load i8, i8* %r, align 1, !range !2, !tbaa !1
   %tmp4 = icmp eq i8 %tmp3, 1
   br i1 %tmp4, label %bb2, label %bb3
 bb2:
diff --git a/llvm/test/Transforms/SimplifyCFG/branch-fold-threshold.ll b/llvm/test/Transforms/SimplifyCFG/branch-fold-threshold.ll
index 878c0a4..fad5fce 100644
--- a/llvm/test/Transforms/SimplifyCFG/branch-fold-threshold.ll
+++ b/llvm/test/Transforms/SimplifyCFG/branch-fold-threshold.ll
@@ -19,7 +19,7 @@
 ; AGGRESSIVE-NOT: br i1
 
 cond.false:
-  %0 = load i32* %input, align 4
+  %0 = load i32, i32* %input, align 4
   br label %cond.end
 
 cond.end:
diff --git a/llvm/test/Transforms/SimplifyCFG/branch-phi-thread.ll b/llvm/test/Transforms/SimplifyCFG/branch-phi-thread.ll
index c19ba69..4c1b7e6 100644
--- a/llvm/test/Transforms/SimplifyCFG/branch-phi-thread.ll
+++ b/llvm/test/Transforms/SimplifyCFG/branch-phi-thread.ll
@@ -51,7 +51,7 @@
 	br i1 %C, label %T, label %F
 T:		; preds = %A, %E
 	call void @f3( )
-	%XX = load i32* %AP		; <i32> [#uses=1]
+	%XX = load i32, i32* %AP		; <i32> [#uses=1]
 	store i32 %XX, i32* %BP
 	br i1 %C, label %B, label %A
 A:		; preds = %T
diff --git a/llvm/test/Transforms/SimplifyCFG/dbginfo.ll b/llvm/test/Transforms/SimplifyCFG/dbginfo.ll
index 1a9f20a..12aec91 100644
--- a/llvm/test/Transforms/SimplifyCFG/dbginfo.ll
+++ b/llvm/test/Transforms/SimplifyCFG/dbginfo.ll
@@ -58,7 +58,7 @@
 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
 	call void @llvm.dbg.func.start({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram947 to { }*))
 	store %struct.__false_type* %this, %struct.__false_type** %this_addr
-	%0 = load %struct.__false_type** %this_addr, align 4		; <%struct.__false_type*> [#uses=1]
+	%0 = load %struct.__false_type*, %struct.__false_type** %this_addr, align 4		; <%struct.__false_type*> [#uses=1]
 	call void @_ZN9__gnu_cxx13new_allocatorIP5SceneED2Ev(%struct.__false_type* %0) nounwind
 	br label %bb
 
diff --git a/llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll b/llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
index 5c83e2a..c1ca605 100644
--- a/llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
+++ b/llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
@@ -6,12 +6,12 @@
         br i1 %P, label %T, label %F
 T:              ; preds = %0
         store i32 1, i32* %Q
-        %A = load i32* %Q               ; <i32> [#uses=1]
+        %A = load i32, i32* %Q               ; <i32> [#uses=1]
         call void @bar( i32 %A )
         ret void
 F:              ; preds = %0
         store i32 1, i32* %Q
-        %B = load i32* %Q               ; <i32> [#uses=1]
+        %B = load i32, i32* %Q               ; <i32> [#uses=1]
         call void @bar( i32 %B )
         ret void
 }
diff --git a/llvm/test/Transforms/SimplifyCFG/hoist-with-range.ll b/llvm/test/Transforms/SimplifyCFG/hoist-with-range.ll
index 7ca3ff2..0a2b282 100644
--- a/llvm/test/Transforms/SimplifyCFG/hoist-with-range.ll
+++ b/llvm/test/Transforms/SimplifyCFG/hoist-with-range.ll
@@ -2,15 +2,15 @@
 
 define void @foo(i1 %c, i8* %p) {
 ; CHECK: if:
-; CHECK-NEXT: load i8* %p, !range !0
+; CHECK-NEXT: load i8, i8* %p, !range !0
 ; CHECK: !0 = !{i8 0, i8 1, i8 3, i8 5}
 if:
   br i1 %c, label %then, label %else
 then:
-  %t = load i8* %p, !range !0
+  %t = load i8, i8* %p, !range !0
   br label %out
 else:
-  %e = load i8* %p, !range !1
+  %e = load i8, i8* %p, !range !1
   br label %out
 out:
   ret void
diff --git a/llvm/test/Transforms/SimplifyCFG/indirectbr.ll b/llvm/test/Transforms/SimplifyCFG/indirectbr.ll
index 7001a4e..67e23d2 100644
--- a/llvm/test/Transforms/SimplifyCFG/indirectbr.ll
+++ b/llvm/test/Transforms/SimplifyCFG/indirectbr.ll
@@ -17,7 +17,7 @@
   store i8* blockaddress(@indbrtest0, %BB1), i8** %P
   store i8* blockaddress(@indbrtest0, %BB2), i8** %P
   call void @foo()
-  %t = load i8** %Q
+  %t = load i8*, i8** %Q
   indirectbr i8* %t, [label %BB0, label %BB1, label %BB2, label %BB0, label %BB1, label %BB2]
 BB0:
   call void @A()
@@ -42,7 +42,7 @@
 entry:
   store i8* blockaddress(@indbrtest1, %BB0), i8** %P
   call void @foo()
-  %t = load i8** %Q
+  %t = load i8*, i8** %Q
   indirectbr i8* %t, [label %BB0, label %BB0]
 BB0:
   call void @A()
@@ -193,7 +193,7 @@
 xlab8x:                                           ; preds = %xlab5x
   %xvaluex = call i32 @xselectorx()
   %xblkx.x = getelementptr [9 x i8*], [9 x i8*]* @xblkx.bbs, i32 0, i32 %xvaluex
-  %xblkx.load = load i8** %xblkx.x
+  %xblkx.load = load i8*, i8** %xblkx.x
   indirectbr i8* %xblkx.load, [label %xblkx.begin, label %xblkx.begin3, label %xblkx.begin4, label %xblkx.begin5, label %xblkx.begin6, label %xblkx.begin7, label %xblkx.begin8, label %xblkx.begin9, label %xblkx.end]
 
 xblkx.begin:
diff --git a/llvm/test/Transforms/SimplifyCFG/iterative-simplify.ll b/llvm/test/Transforms/SimplifyCFG/iterative-simplify.ll
index a397411..60728b9 100644
--- a/llvm/test/Transforms/SimplifyCFG/iterative-simplify.ll
+++ b/llvm/test/Transforms/SimplifyCFG/iterative-simplify.ll
@@ -17,13 +17,13 @@
 	br label %bb
 
 bb:		; preds = %cond_next, %cond_true
-	%tmp = load i32* %z		; <i32> [#uses=1]
+	%tmp = load i32, i32* %z		; <i32> [#uses=1]
 	%tmp1 = sub i32 %tmp, 16384		; <i32> [#uses=1]
 	store i32 %tmp1, i32* %z
-	%tmp2 = load i32* %i		; <i32> [#uses=1]
+	%tmp2 = load i32, i32* %i		; <i32> [#uses=1]
 	%tmp3 = add i32 %tmp2, 1		; <i32> [#uses=1]
 	store i32 %tmp3, i32* %i
-	%tmp4 = load i32* %i		; <i32> [#uses=1]
+	%tmp4 = load i32, i32* %i		; <i32> [#uses=1]
 	%tmp5 = icmp sgt i32 %tmp4, 262144		; <i1> [#uses=1]
 	%tmp56 = zext i1 %tmp5 to i8		; <i8> [#uses=1]
 	%toBool7 = icmp ne i8 %tmp56, 0		; <i1> [#uses=1]
@@ -34,7 +34,7 @@
 	unreachable
 
 cond_next:		; preds = %bb
-	%tmp9 = load i32* %z		; <i32> [#uses=1]
+	%tmp9 = load i32, i32* %z		; <i32> [#uses=1]
 	%tmp10 = icmp ne i32 %tmp9, 0		; <i1> [#uses=1]
 	%tmp1011 = zext i1 %tmp10 to i8		; <i8> [#uses=1]
 	%toBool12 = icmp ne i8 %tmp1011, 0		; <i1> [#uses=1]
@@ -53,13 +53,13 @@
 	br label %bb17
 
 bb17:		; preds = %cond_next27, %cond_true15
-	%tmp18 = load i32* %z16		; <i32> [#uses=1]
+	%tmp18 = load i32, i32* %z16		; <i32> [#uses=1]
 	%tmp19 = sub i32 %tmp18, 16384		; <i32> [#uses=1]
 	store i32 %tmp19, i32* %z16
-	%tmp20 = load i32* %i		; <i32> [#uses=1]
+	%tmp20 = load i32, i32* %i		; <i32> [#uses=1]
 	%tmp21 = add i32 %tmp20, 1		; <i32> [#uses=1]
 	store i32 %tmp21, i32* %i
-	%tmp22 = load i32* %i		; <i32> [#uses=1]
+	%tmp22 = load i32, i32* %i		; <i32> [#uses=1]
 	%tmp23 = icmp sgt i32 %tmp22, 262144		; <i1> [#uses=1]
 	%tmp2324 = zext i1 %tmp23 to i8		; <i8> [#uses=1]
 	%toBool25 = icmp ne i8 %tmp2324, 0		; <i1> [#uses=1]
@@ -70,7 +70,7 @@
 	unreachable
 
 cond_next27:		; preds = %bb17
-	%tmp28 = load i32* %z16		; <i32> [#uses=1]
+	%tmp28 = load i32, i32* %z16		; <i32> [#uses=1]
 	%tmp29 = icmp ne i32 %tmp28, 0		; <i1> [#uses=1]
 	%tmp2930 = zext i1 %tmp29 to i8		; <i8> [#uses=1]
 	%toBool31 = icmp ne i8 %tmp2930, 0		; <i1> [#uses=1]
@@ -91,7 +91,7 @@
 	br label %return
 
 return:		; preds = %cond_next35
-	%retval36 = load i32* %retval		; <i32> [#uses=1]
+	%retval36 = load i32, i32* %retval		; <i32> [#uses=1]
 	ret i32 %retval36
 }
 
diff --git a/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll b/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll
index 3ecce2e..a6eef09 100644
--- a/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll
+++ b/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll
@@ -23,7 +23,7 @@
   %div = udiv i32 %add, 2
   %idxprom = zext i32 %div to i64
   %arrayidx = getelementptr inbounds i32, i32* %r, i64 %idxprom
-  %0 = load i32* %arrayidx
+  %0 = load i32, i32* %arrayidx
   %cmp1 = icmp ult i32 %k, %0
   br i1 %cmp1, label %if.then, label %if.else
 
diff --git a/llvm/test/Transforms/SimplifyCFG/no_speculative_loads_with_tsan.ll b/llvm/test/Transforms/SimplifyCFG/no_speculative_loads_with_tsan.ll
index b388cc5..4792e95 100644
--- a/llvm/test/Transforms/SimplifyCFG/no_speculative_loads_with_tsan.ll
+++ b/llvm/test/Transforms/SimplifyCFG/no_speculative_loads_with_tsan.ll
@@ -8,7 +8,7 @@
   br i1 %tobool, label %return, label %if.then
 
 if.then:                                          ; preds = %entry
-  %0 = load i32* @g, align 4
+  %0 = load i32, i32* @g, align 4
   br label %return
 
 return:                                           ; preds = %entry, %if.then
@@ -26,7 +26,7 @@
   br i1 %tobool, label %return, label %if.then
 
 if.then:                                          ; preds = %entry
-  %0 = load i32* @g, align 4
+  %0 = load i32, i32* @g, align 4
   br label %return
 
 return:                                           ; preds = %entry, %if.then
@@ -34,7 +34,7 @@
   ret i32 %retval
 ; CHECK-LABEL: @TestTsan
 ; CHECK: br i1
-; CHECK: load i32* @g
+; CHECK: load i32, i32* @g
 ; CHECK: br label
 ; CHECK: ret i32
 }
diff --git a/llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll b/llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll
index ad73f14..c0f0046a 100644
--- a/llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll
+++ b/llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll
@@ -21,7 +21,7 @@
 
 if.end7:                                          ; preds = %if.else, %if.then4, %if.then
   %x.0 = phi i32* [ %a, %if.then ], [ %c, %if.then4 ], [ null, %if.else ]
-  %tmp9 = load i32* %x.0
+  %tmp9 = load i32, i32* %x.0
   ret i32 %tmp9
 
 ; CHECK-LABEL: @test1(
@@ -50,7 +50,7 @@
 
 if.end7:                                          ; preds = %if.else, %if.then4, %if.then
   %x.0 = phi i32* [ %a, %if.then ], [ null, %if.then4 ], [ null, %if.else ]
-  %tmp9 = load i32* %x.0
+  %tmp9 = load i32, i32* %x.0
   ret i32 %tmp9
 ; CHECK-LABEL: @test2(
 ; CHECK: if.else:
@@ -79,7 +79,7 @@
 if.end7:                                          ; preds = %if.else, %if.then4, %if.then
   %x.0 = phi i32* [ %a, %if.then ], [ null, %if.then4 ], [ null, %if.else ]
   tail call void @bar() nounwind
-  %tmp9 = load i32* %x.0
+  %tmp9 = load i32, i32* %x.0
   ret i32 %tmp9
 ; CHECK-LABEL: @test3(
 ; CHECK: if.end7:
@@ -106,7 +106,7 @@
 if.end7:                                          ; preds = %if.else, %if.then4, %if.then
   %x.0 = phi i32* [ %a, %if.then ], [ null, %if.then4 ], [ null, %if.else ]
   %gep = getelementptr i32, i32* %x.0, i32 10
-  %tmp9 = load i32* %gep
+  %tmp9 = load i32, i32* %gep
   %tmp10 = or i32 %tmp9, 1
   store i32 %tmp10, i32* %gep
   ret i32 %tmp9
diff --git a/llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll b/llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
index 7802a05..ae1794b 100644
--- a/llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
+++ b/llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
@@ -353,7 +353,7 @@
   %tobool = icmp eq i32 %bit.0, 0
   br i1 %tobool, label %for.exit, label %for.body3, !prof !10
 for.body3:
-  %v3 = load i32* @max_regno, align 4
+  %v3 = load i32, i32* @max_regno, align 4
   %cmp4 = icmp eq i32 %i.1, %v3
   br i1 %cmp4, label %for.exit, label %for.inc, !prof !11
 for.inc:
diff --git a/llvm/test/Transforms/SimplifyCFG/speculate-store.ll b/llvm/test/Transforms/SimplifyCFG/speculate-store.ll
index c082f2c..c1ac7bc 100644
--- a/llvm/test/Transforms/SimplifyCFG/speculate-store.ll
+++ b/llvm/test/Transforms/SimplifyCFG/speculate-store.ll
@@ -3,14 +3,14 @@
 define void @ifconvertstore(i32 %m, i32* %A, i32* %B, i32 %C, i32 %D) {
 entry:
   %arrayidx = getelementptr inbounds i32, i32* %B, i64 0
-  %0 = load i32* %arrayidx, align 4
+  %0 = load i32, i32* %arrayidx, align 4
   %add = add nsw i32 %0, %C
   %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 0
 
 ; First store to the location.
   store i32 %add, i32* %arrayidx2, align 4
   %arrayidx4 = getelementptr inbounds i32, i32* %B, i64 1
-  %1 = load i32* %arrayidx4, align 4
+  %1 = load i32, i32* %arrayidx4, align 4
   %add5 = add nsw i32 %1, %D
   %cmp6 = icmp sgt i32 %add5, %C
   br i1 %cmp6, label %if.then, label %ret.end
@@ -31,14 +31,14 @@
 define void @noifconvertstore1(i32 %m, i32* %A, i32* %B, i32 %C, i32 %D) {
 entry:
   %arrayidx = getelementptr inbounds i32, i32* %B, i64 0
-  %0 = load i32* %arrayidx, align 4
+  %0 = load i32, i32* %arrayidx, align 4
   %add = add nsw i32 %0, %C
   %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 0
 
 ; Store to a different location.
   store i32 %add, i32* %arrayidx, align 4
   %arrayidx4 = getelementptr inbounds i32, i32* %B, i64 1
-  %1 = load i32* %arrayidx4, align 4
+  %1 = load i32, i32* %arrayidx4, align 4
   %add5 = add nsw i32 %1, %D
   %cmp6 = icmp sgt i32 %add5, %C
   br i1 %cmp6, label %if.then, label %ret.end
@@ -58,7 +58,7 @@
 define void @noifconvertstore2(i32 %m, i32* %A, i32* %B, i32 %C, i32 %D) {
 entry:
   %arrayidx = getelementptr inbounds i32, i32* %B, i64 0
-  %0 = load i32* %arrayidx, align 4
+  %0 = load i32, i32* %arrayidx, align 4
   %add = add nsw i32 %0, %C
   %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 0
 
@@ -66,7 +66,7 @@
   store i32 %add, i32* %arrayidx2, align 4
   call void @unknown_fun()
   %arrayidx4 = getelementptr inbounds i32, i32* %B, i64 1
-  %1 = load i32* %arrayidx4, align 4
+  %1 = load i32, i32* %arrayidx4, align 4
   %add5 = add nsw i32 %1, %D
   %cmp6 = icmp sgt i32 %add5, %C
   br i1 %cmp6, label %if.then, label %ret.end
@@ -84,14 +84,14 @@
 define void @noifconvertstore_volatile(i32 %m, i32* %A, i32* %B, i32 %C, i32 %D) {
 entry:
   %arrayidx = getelementptr inbounds i32, i32* %B, i64 0
-  %0 = load i32* %arrayidx, align 4
+  %0 = load i32, i32* %arrayidx, align 4
   %add = add nsw i32 %0, %C
   %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 0
 
 ; First store to the location.
   store i32 %add, i32* %arrayidx2, align 4
   %arrayidx4 = getelementptr inbounds i32, i32* %B, i64 1
-  %1 = load i32* %arrayidx4, align 4
+  %1 = load i32, i32* %arrayidx4, align 4
   %add5 = add nsw i32 %1, %D
   %cmp6 = icmp sgt i32 %add5, %C
   br i1 %cmp6, label %if.then, label %ret.end
diff --git a/llvm/test/Transforms/SimplifyCFG/speculate-with-offset.ll b/llvm/test/Transforms/SimplifyCFG/speculate-with-offset.ll
index f92e316..65ebb5c 100644
--- a/llvm/test/Transforms/SimplifyCFG/speculate-with-offset.ll
+++ b/llvm/test/Transforms/SimplifyCFG/speculate-with-offset.ll
@@ -17,7 +17,7 @@
   br label %return
 
 if.end:                                           ; preds = %entry
-  %tmp5 = load i64** %__a.addr, align 8
+  %tmp5 = load i64*, i64** %__a.addr, align 8
   br label %return
 
 return:                                           ; preds = %if.end, %if.then
@@ -39,7 +39,7 @@
   br label %return
 
 if.end:                                           ; preds = %entry
-  %tmp5 = load i64** %__a.addr, align 8
+  %tmp5 = load i64*, i64** %__a.addr, align 8
   br label %return
 
 return:                                           ; preds = %if.end, %if.then
@@ -61,7 +61,7 @@
   br label %return
 
 if.end:                                           ; preds = %entry
-  %tmp5 = load i64** %__a.addr, align 8
+  %tmp5 = load i64*, i64** %__a.addr, align 8
   br label %return
 
 return:                                           ; preds = %if.end, %if.then
@@ -83,7 +83,7 @@
   br label %return
 
 if.end:                                           ; preds = %entry
-  %tmp5 = load i64** %__a.addr, align 8
+  %tmp5 = load i64*, i64** %__a.addr, align 8
   br label %return
 
 return:                                           ; preds = %if.end, %if.then
diff --git a/llvm/test/Transforms/SimplifyCFG/switch-to-select-multiple-edge-per-block-phi.ll b/llvm/test/Transforms/SimplifyCFG/switch-to-select-multiple-edge-per-block-phi.ll
index ddf5d1f..f5359b5 100644
--- a/llvm/test/Transforms/SimplifyCFG/switch-to-select-multiple-edge-per-block-phi.ll
+++ b/llvm/test/Transforms/SimplifyCFG/switch-to-select-multiple-edge-per-block-phi.ll
@@ -20,12 +20,12 @@
 ; CHECK: %switch.selectcmp1 = icmp eq i32 %1, 5
 ; CHECK: %switch.select2 = select i1 %switch.selectcmp1, i32 5, i32 %switch.select
 entry:
-  %0 = load i32* @b, align 4
+  %0 = load i32, i32* @b, align 4
   %tobool = icmp eq i32 %0, 0
   br i1 %tobool, label %if.end3, label %if.then
 
 if.then:
-  %1 = load i32* @a, align 4
+  %1 = load i32, i32* @a, align 4
   switch i32 %1, label %if.end3 [
     i32 5, label %return
     i32 0, label %return
diff --git a/llvm/test/Transforms/SimplifyCFG/switch_create.ll b/llvm/test/Transforms/SimplifyCFG/switch_create.ll
index f141931..490b751 100644
--- a/llvm/test/Transforms/SimplifyCFG/switch_create.ll
+++ b/llvm/test/Transforms/SimplifyCFG/switch_create.ll
@@ -155,7 +155,7 @@
 define i1 @test6({ i32, i32 }* %I) {
 entry:
         %tmp.1.i = getelementptr { i32, i32 }, { i32, i32 }* %I, i64 0, i32 1         ; <i32*> [#uses=1]
-        %tmp.2.i = load i32* %tmp.1.i           ; <i32> [#uses=6]
+        %tmp.2.i = load i32, i32* %tmp.1.i           ; <i32> [#uses=6]
         %tmp.2 = icmp eq i32 %tmp.2.i, 14               ; <i1> [#uses=1]
         br i1 %tmp.2, label %shortcirc_done.4, label %shortcirc_next.0
 shortcirc_next.0:               ; preds = %entry
diff --git a/llvm/test/Transforms/SimplifyCFG/trapping-load-unreachable.ll b/llvm/test/Transforms/SimplifyCFG/trapping-load-unreachable.ll
index 5ae62af..5881367 100644
--- a/llvm/test/Transforms/SimplifyCFG/trapping-load-unreachable.ll
+++ b/llvm/test/Transforms/SimplifyCFG/trapping-load-unreachable.ll
@@ -11,7 +11,7 @@
         br i1 %0, label %bb, label %return
 
 bb:             ; preds = %entry
-        %1 = load volatile i32* null
+        %1 = load volatile i32, i32* null
         unreachable
         
         br label %return
diff --git a/llvm/test/Transforms/SimplifyCFG/unreachable-blocks.ll b/llvm/test/Transforms/SimplifyCFG/unreachable-blocks.ll
index 0aaafec..87a64ad 100644
--- a/llvm/test/Transforms/SimplifyCFG/unreachable-blocks.ll
+++ b/llvm/test/Transforms/SimplifyCFG/unreachable-blocks.ll
@@ -15,7 +15,7 @@
   br i1 %test, label %and_if1, label %and_if_cont2
 
 and_if1:                                          ; preds = %while_block
-  %char = load i8* %newptr
+  %char = load i8, i8* %newptr
   %test2 = icmp ule i8 %char, 32
   br label %and_if_cont2