[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/IndVarSimplify/2005-02-17-TruncateExprCrash.ll b/llvm/test/Transforms/IndVarSimplify/2005-02-17-TruncateExprCrash.ll
index ce043be..16ad635 100644
--- a/llvm/test/Transforms/IndVarSimplify/2005-02-17-TruncateExprCrash.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2005-02-17-TruncateExprCrash.ll
@@ -45,7 +45,7 @@
 	ret void
 
 endif.4:		; preds = %_ZNK7QString2atEi.exit
-	%tmp.115 = load i8* null		; <i8> [#uses=1]
+	%tmp.115 = load i8, i8* null		; <i8> [#uses=1]
 	br i1 false, label %loopexit.1, label %no_exit.0
 
 no_exit.0:		; preds = %no_exit.0, %endif.4
diff --git a/llvm/test/Transforms/IndVarSimplify/2006-06-16-Indvar-LCSSA-Crash.ll b/llvm/test/Transforms/IndVarSimplify/2006-06-16-Indvar-LCSSA-Crash.ll
index 36ec2b8..2d40f88 100644
--- a/llvm/test/Transforms/IndVarSimplify/2006-06-16-Indvar-LCSSA-Crash.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2006-06-16-Indvar-LCSSA-Crash.ll
@@ -6,9 +6,9 @@
 
 no_exit.30:             ; preds = %no_exit.30, %endif.0
         %x.12.0 = phi i32 [ %inc.28, %no_exit.30 ], [ -2, %endif.0 ]            ; <i32> [#uses=1]
-        %tmp.583 = load i16* null               ; <i16> [#uses=1]
+        %tmp.583 = load i16, i16* null               ; <i16> [#uses=1]
         %tmp.584 = zext i16 %tmp.583 to i32             ; <i32> [#uses=1]
-        %tmp.588 = load i32* null               ; <i32> [#uses=1]
+        %tmp.588 = load i32, i32* null               ; <i32> [#uses=1]
         %tmp.589 = mul i32 %tmp.584, %tmp.588           ; <i32> [#uses=1]
         %tmp.591 = add i32 %tmp.589, 0          ; <i32> [#uses=1]
         %inc.28 = add i32 %x.12.0, 1            ; <i32> [#uses=2]
diff --git a/llvm/test/Transforms/IndVarSimplify/2007-01-06-TripCount.ll b/llvm/test/Transforms/IndVarSimplify/2007-01-06-TripCount.ll
index 56e9ca6..3dda657 100644
--- a/llvm/test/Transforms/IndVarSimplify/2007-01-06-TripCount.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2007-01-06-TripCount.ll
@@ -25,7 +25,7 @@
 
 cond_next:		; preds = %bb2
 	%tmp2 = getelementptr [5 x i8], [5 x i8]* @foo, i32 0, i32 %i.0		; <i8*> [#uses=1]
-	%tmp3 = load i8* %tmp2		; <i8> [#uses=1]
+	%tmp3 = load i8, i8* %tmp2		; <i8> [#uses=1]
 	%tmp5 = icmp eq i8 %tmp3, 0		; <i1> [#uses=1]
 	br i1 %tmp5, label %bb6, label %bb
 
diff --git a/llvm/test/Transforms/IndVarSimplify/2008-09-02-IVType.ll b/llvm/test/Transforms/IndVarSimplify/2008-09-02-IVType.ll
index 624567d..4c0c327 100644
--- a/llvm/test/Transforms/IndVarSimplify/2008-09-02-IVType.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2008-09-02-IVType.ll
@@ -19,7 +19,7 @@
 define signext i16 @ExtractBufferedBlocksIgnored(%struct.JPEGGlobals* %globp)  nounwind {
 entry:
 	%tmp4311 = getelementptr %struct.JPEGGlobals, %struct.JPEGGlobals* %globp, i32 0, i32 70		; <i32*> [#uses=1]
-	%tmp4412 = load i32* %tmp4311, align 16		; <i32> [#uses=2]
+	%tmp4412 = load i32, i32* %tmp4311, align 16		; <i32> [#uses=2]
 	%tmp4613 = icmp sgt i32 %tmp4412, 0		; <i1> [#uses=1]
 	br i1 %tmp4613, label %bb, label %bb49
 
@@ -27,9 +27,9 @@
 	%component.09 = phi i16 [ 0, %entry ], [ %tmp37, %bb28 ]		; <i16> [#uses=2]
 	%tmp12 = sext i16 %component.09 to i32		; <i32> [#uses=2]
 	%tmp6 = getelementptr %struct.JPEGGlobals, %struct.JPEGGlobals* %globp, i32 0, i32 77, i32 %tmp12		; <i16**> [#uses=2]
-	%tmp7 = load i16** %tmp6, align 4		; <i16*> [#uses=2]
+	%tmp7 = load i16*, i16** %tmp6, align 4		; <i16*> [#uses=2]
 	%tmp235 = getelementptr %struct.JPEGGlobals, %struct.JPEGGlobals* %globp, i32 0, i32 71, i32 %tmp12		; <i32*> [#uses=1]
-	%tmp246 = load i32* %tmp235, align 4		; <i32> [#uses=2]
+	%tmp246 = load i32, i32* %tmp235, align 4		; <i32> [#uses=2]
 	%tmp267 = icmp sgt i32 %tmp246, 0		; <i1> [#uses=1]
 	br i1 %tmp267, label %bb8, label %bb28
 
diff --git a/llvm/test/Transforms/IndVarSimplify/2008-10-03-CouldNotCompute.ll b/llvm/test/Transforms/IndVarSimplify/2008-10-03-CouldNotCompute.ll
index 23e7884..1248154 100644
--- a/llvm/test/Transforms/IndVarSimplify/2008-10-03-CouldNotCompute.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2008-10-03-CouldNotCompute.ll
@@ -8,7 +8,7 @@
 	br i1 false, label %bb.nph, label %return
 
 bb.nph:		; preds = %entry
-	%0 = load i32* @foo, align 4		; <i32> [#uses=1]
+	%0 = load i32, i32* @foo, align 4		; <i32> [#uses=1]
 	%1 = sext i32 %0 to i64		; <i64> [#uses=1]
 	br label %bb
 
diff --git a/llvm/test/Transforms/IndVarSimplify/2009-04-14-shorten_iv_vars.ll b/llvm/test/Transforms/IndVarSimplify/2009-04-14-shorten_iv_vars.ll
index befdcb5..ab2af32 100644
--- a/llvm/test/Transforms/IndVarSimplify/2009-04-14-shorten_iv_vars.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2009-04-14-shorten_iv_vars.ll
@@ -15,92 +15,92 @@
 
 bb1:		; preds = %bb1, %bb1.thread
 	%i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %84, %bb1 ]		; <i32> [#uses=19]
-	%0 = load i32** @a, align 8		; <i32*> [#uses=1]
-	%1 = load i32** @b, align 8		; <i32*> [#uses=1]
+	%0 = load i32*, i32** @a, align 8		; <i32*> [#uses=1]
+	%1 = load i32*, i32** @b, align 8		; <i32*> [#uses=1]
 	%2 = sext i32 %i.0.reg2mem.0 to i64		; <i64> [#uses=1]
 	%3 = getelementptr i32, i32* %1, i64 %2		; <i32*> [#uses=1]
-	%4 = load i32* %3, align 1		; <i32> [#uses=1]
-	%5 = load i32** @c, align 8		; <i32*> [#uses=1]
+	%4 = load i32, i32* %3, align 1		; <i32> [#uses=1]
+	%5 = load i32*, i32** @c, align 8		; <i32*> [#uses=1]
 	%6 = sext i32 %i.0.reg2mem.0 to i64		; <i64> [#uses=1]
 	%7 = getelementptr i32, i32* %5, i64 %6		; <i32*> [#uses=1]
-	%8 = load i32* %7, align 1		; <i32> [#uses=1]
+	%8 = load i32, i32* %7, align 1		; <i32> [#uses=1]
 	%9 = add i32 %8, %4		; <i32> [#uses=1]
 	%10 = sext i32 %i.0.reg2mem.0 to i64		; <i64> [#uses=1]
 	%11 = getelementptr i32, i32* %0, i64 %10		; <i32*> [#uses=1]
 	store i32 %9, i32* %11, align 1
-	%12 = load i32** @a, align 8		; <i32*> [#uses=1]
+	%12 = load i32*, i32** @a, align 8		; <i32*> [#uses=1]
 	%13 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
-	%14 = load i32** @b, align 8		; <i32*> [#uses=1]
+	%14 = load i32*, i32** @b, align 8		; <i32*> [#uses=1]
 	%15 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%16 = sext i32 %15 to i64		; <i64> [#uses=1]
 	%17 = getelementptr i32, i32* %14, i64 %16		; <i32*> [#uses=1]
-	%18 = load i32* %17, align 1		; <i32> [#uses=1]
-	%19 = load i32** @c, align 8		; <i32*> [#uses=1]
+	%18 = load i32, i32* %17, align 1		; <i32> [#uses=1]
+	%19 = load i32*, i32** @c, align 8		; <i32*> [#uses=1]
 	%20 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%21 = sext i32 %20 to i64		; <i64> [#uses=1]
 	%22 = getelementptr i32, i32* %19, i64 %21		; <i32*> [#uses=1]
-	%23 = load i32* %22, align 1		; <i32> [#uses=1]
+	%23 = load i32, i32* %22, align 1		; <i32> [#uses=1]
 	%24 = add i32 %23, %18		; <i32> [#uses=1]
 	%25 = sext i32 %13 to i64		; <i64> [#uses=1]
 	%26 = getelementptr i32, i32* %12, i64 %25		; <i32*> [#uses=1]
 	store i32 %24, i32* %26, align 1
-	%27 = load i32** @a, align 8		; <i32*> [#uses=1]
+	%27 = load i32*, i32** @a, align 8		; <i32*> [#uses=1]
 	%28 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
-	%29 = load i32** @b, align 8		; <i32*> [#uses=1]
+	%29 = load i32*, i32** @b, align 8		; <i32*> [#uses=1]
 	%30 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%31 = sext i32 %30 to i64		; <i64> [#uses=1]
 	%32 = getelementptr i32, i32* %29, i64 %31		; <i32*> [#uses=1]
-	%33 = load i32* %32, align 1		; <i32> [#uses=1]
-	%34 = load i32** @c, align 8		; <i32*> [#uses=1]
+	%33 = load i32, i32* %32, align 1		; <i32> [#uses=1]
+	%34 = load i32*, i32** @c, align 8		; <i32*> [#uses=1]
 	%35 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%36 = sext i32 %35 to i64		; <i64> [#uses=1]
 	%37 = getelementptr i32, i32* %34, i64 %36		; <i32*> [#uses=1]
-	%38 = load i32* %37, align 1		; <i32> [#uses=1]
+	%38 = load i32, i32* %37, align 1		; <i32> [#uses=1]
 	%39 = add i32 %38, %33		; <i32> [#uses=1]
 	%40 = sext i32 %28 to i64		; <i64> [#uses=1]
 	%41 = getelementptr i32, i32* %27, i64 %40		; <i32*> [#uses=1]
 	store i32 %39, i32* %41, align 1
-	%42 = load i32** @d, align 8		; <i32*> [#uses=1]
-	%43 = load i32** @e, align 8		; <i32*> [#uses=1]
+	%42 = load i32*, i32** @d, align 8		; <i32*> [#uses=1]
+	%43 = load i32*, i32** @e, align 8		; <i32*> [#uses=1]
 	%44 = sext i32 %i.0.reg2mem.0 to i64		; <i64> [#uses=1]
 	%45 = getelementptr i32, i32* %43, i64 %44		; <i32*> [#uses=1]
-	%46 = load i32* %45, align 1		; <i32> [#uses=1]
-	%47 = load i32** @f, align 8		; <i32*> [#uses=1]
+	%46 = load i32, i32* %45, align 1		; <i32> [#uses=1]
+	%47 = load i32*, i32** @f, align 8		; <i32*> [#uses=1]
 	%48 = sext i32 %i.0.reg2mem.0 to i64		; <i64> [#uses=1]
 	%49 = getelementptr i32, i32* %47, i64 %48		; <i32*> [#uses=1]
-	%50 = load i32* %49, align 1		; <i32> [#uses=1]
+	%50 = load i32, i32* %49, align 1		; <i32> [#uses=1]
 	%51 = add i32 %50, %46		; <i32> [#uses=1]
 	%52 = sext i32 %i.0.reg2mem.0 to i64		; <i64> [#uses=1]
 	%53 = getelementptr i32, i32* %42, i64 %52		; <i32*> [#uses=1]
 	store i32 %51, i32* %53, align 1
-	%54 = load i32** @d, align 8		; <i32*> [#uses=1]
+	%54 = load i32*, i32** @d, align 8		; <i32*> [#uses=1]
 	%55 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
-	%56 = load i32** @e, align 8		; <i32*> [#uses=1]
+	%56 = load i32*, i32** @e, align 8		; <i32*> [#uses=1]
 	%57 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%58 = sext i32 %57 to i64		; <i64> [#uses=1]
 	%59 = getelementptr i32, i32* %56, i64 %58		; <i32*> [#uses=1]
-	%60 = load i32* %59, align 1		; <i32> [#uses=1]
-	%61 = load i32** @f, align 8		; <i32*> [#uses=1]
+	%60 = load i32, i32* %59, align 1		; <i32> [#uses=1]
+	%61 = load i32*, i32** @f, align 8		; <i32*> [#uses=1]
 	%62 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%63 = sext i32 %62 to i64		; <i64> [#uses=1]
 	%64 = getelementptr i32, i32* %61, i64 %63		; <i32*> [#uses=1]
-	%65 = load i32* %64, align 1		; <i32> [#uses=1]
+	%65 = load i32, i32* %64, align 1		; <i32> [#uses=1]
 	%66 = add i32 %65, %60		; <i32> [#uses=1]
 	%67 = sext i32 %55 to i64		; <i64> [#uses=1]
 	%68 = getelementptr i32, i32* %54, i64 %67		; <i32*> [#uses=1]
 	store i32 %66, i32* %68, align 1
-	%69 = load i32** @d, align 8		; <i32*> [#uses=1]
+	%69 = load i32*, i32** @d, align 8		; <i32*> [#uses=1]
 	%70 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
-	%71 = load i32** @e, align 8		; <i32*> [#uses=1]
+	%71 = load i32*, i32** @e, align 8		; <i32*> [#uses=1]
 	%72 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%73 = sext i32 %72 to i64		; <i64> [#uses=1]
 	%74 = getelementptr i32, i32* %71, i64 %73		; <i32*> [#uses=1]
-	%75 = load i32* %74, align 1		; <i32> [#uses=1]
-	%76 = load i32** @f, align 8		; <i32*> [#uses=1]
+	%75 = load i32, i32* %74, align 1		; <i32> [#uses=1]
+	%76 = load i32*, i32** @f, align 8		; <i32*> [#uses=1]
 	%77 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%78 = sext i32 %77 to i64		; <i64> [#uses=1]
 	%79 = getelementptr i32, i32* %76, i64 %78		; <i32*> [#uses=1]
-	%80 = load i32* %79, align 1		; <i32> [#uses=1]
+	%80 = load i32, i32* %79, align 1		; <i32> [#uses=1]
 	%81 = add i32 %80, %75		; <i32> [#uses=1]
 	%82 = sext i32 %70 to i64		; <i64> [#uses=1]
 	%83 = getelementptr i32, i32* %69, i64 %82		; <i32*> [#uses=1]
diff --git a/llvm/test/Transforms/IndVarSimplify/2009-04-15-shorten-iv-vars-2.ll b/llvm/test/Transforms/IndVarSimplify/2009-04-15-shorten-iv-vars-2.ll
index 6815f31..921a393 100644
--- a/llvm/test/Transforms/IndVarSimplify/2009-04-15-shorten-iv-vars-2.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2009-04-15-shorten-iv-vars-2.ll
@@ -29,123 +29,123 @@
 
 bb1:		; preds = %bb1, %bb1.thread
 	%i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %116, %bb1 ]		; <i32> [#uses=22]
-	%0 = load i32** @a, align 8		; <i32*> [#uses=1]
+	%0 = load i32*, i32** @a, align 8		; <i32*> [#uses=1]
 	%1 = and i32 %i.0.reg2mem.0, 15		; <i32> [#uses=1]
-	%2 = load i32** @b, align 8		; <i32*> [#uses=1]
+	%2 = load i32*, i32** @b, align 8		; <i32*> [#uses=1]
 	%3 = and i32 %i.0.reg2mem.0, 15		; <i32> [#uses=1]
 	%4 = zext i32 %3 to i64		; <i64> [#uses=1]
 	%5 = getelementptr i32, i32* %2, i64 %4		; <i32*> [#uses=1]
-	%6 = load i32* %5, align 1		; <i32> [#uses=1]
-	%7 = load i32** @c, align 8		; <i32*> [#uses=1]
+	%6 = load i32, i32* %5, align 1		; <i32> [#uses=1]
+	%7 = load i32*, i32** @c, align 8		; <i32*> [#uses=1]
 	%8 = and i32 %i.0.reg2mem.0, 15		; <i32> [#uses=1]
 	%9 = zext i32 %8 to i64		; <i64> [#uses=1]
 	%10 = getelementptr i32, i32* %7, i64 %9		; <i32*> [#uses=1]
-	%11 = load i32* %10, align 1		; <i32> [#uses=1]
+	%11 = load i32, i32* %10, align 1		; <i32> [#uses=1]
 	%12 = add i32 %11, %6		; <i32> [#uses=1]
 	%13 = zext i32 %1 to i64		; <i64> [#uses=1]
 	%14 = getelementptr i32, i32* %0, i64 %13		; <i32*> [#uses=1]
 	store i32 %12, i32* %14, align 1
-	%15 = load i32** @a, align 8		; <i32*> [#uses=1]
+	%15 = load i32*, i32** @a, align 8		; <i32*> [#uses=1]
 	%16 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%17 = and i32 %16, 15		; <i32> [#uses=1]
-	%18 = load i32** @b, align 8		; <i32*> [#uses=1]
+	%18 = load i32*, i32** @b, align 8		; <i32*> [#uses=1]
 	%19 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%20 = and i32 %19, 15		; <i32> [#uses=1]
 	%21 = zext i32 %20 to i64		; <i64> [#uses=1]
 	%22 = getelementptr i32, i32* %18, i64 %21		; <i32*> [#uses=1]
-	%23 = load i32* %22, align 1		; <i32> [#uses=1]
-	%24 = load i32** @c, align 8		; <i32*> [#uses=1]
+	%23 = load i32, i32* %22, align 1		; <i32> [#uses=1]
+	%24 = load i32*, i32** @c, align 8		; <i32*> [#uses=1]
 	%25 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%26 = and i32 %25, 15		; <i32> [#uses=1]
 	%27 = zext i32 %26 to i64		; <i64> [#uses=1]
 	%28 = getelementptr i32, i32* %24, i64 %27		; <i32*> [#uses=1]
-	%29 = load i32* %28, align 1		; <i32> [#uses=1]
+	%29 = load i32, i32* %28, align 1		; <i32> [#uses=1]
 	%30 = add i32 %29, %23		; <i32> [#uses=1]
 	%31 = zext i32 %17 to i64		; <i64> [#uses=1]
 	%32 = getelementptr i32, i32* %15, i64 %31		; <i32*> [#uses=1]
 	store i32 %30, i32* %32, align 1
-	%33 = load i32** @a, align 8		; <i32*> [#uses=1]
+	%33 = load i32*, i32** @a, align 8		; <i32*> [#uses=1]
 	%34 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%35 = and i32 %34, 15		; <i32> [#uses=1]
-	%36 = load i32** @b, align 8		; <i32*> [#uses=1]
+	%36 = load i32*, i32** @b, align 8		; <i32*> [#uses=1]
 	%37 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%38 = and i32 %37, 15		; <i32> [#uses=1]
 	%39 = zext i32 %38 to i64		; <i64> [#uses=1]
 	%40 = getelementptr i32, i32* %36, i64 %39		; <i32*> [#uses=1]
-	%41 = load i32* %40, align 1		; <i32> [#uses=1]
-	%42 = load i32** @c, align 8		; <i32*> [#uses=1]
+	%41 = load i32, i32* %40, align 1		; <i32> [#uses=1]
+	%42 = load i32*, i32** @c, align 8		; <i32*> [#uses=1]
 	%43 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%44 = and i32 %43, 15		; <i32> [#uses=1]
 	%45 = zext i32 %44 to i64		; <i64> [#uses=1]
 	%46 = getelementptr i32, i32* %42, i64 %45		; <i32*> [#uses=1]
-	%47 = load i32* %46, align 1		; <i32> [#uses=1]
+	%47 = load i32, i32* %46, align 1		; <i32> [#uses=1]
 	%48 = add i32 %47, %41		; <i32> [#uses=1]
 	%49 = zext i32 %35 to i64		; <i64> [#uses=1]
 	%50 = getelementptr i32, i32* %33, i64 %49		; <i32*> [#uses=1]
 	store i32 %48, i32* %50, align 1
-	%51 = load i32** @d, align 8		; <i32*> [#uses=1]
+	%51 = load i32*, i32** @d, align 8		; <i32*> [#uses=1]
 	%52 = and i32 %i.0.reg2mem.0, 15		; <i32> [#uses=1]
-	%53 = load i32** @e, align 8		; <i32*> [#uses=1]
+	%53 = load i32*, i32** @e, align 8		; <i32*> [#uses=1]
 	%54 = and i32 %i.0.reg2mem.0, 15		; <i32> [#uses=1]
 	%55 = zext i32 %54 to i64		; <i64> [#uses=1]
 	%56 = getelementptr i32, i32* %53, i64 %55		; <i32*> [#uses=1]
-	%57 = load i32* %56, align 1		; <i32> [#uses=1]
-	%58 = load i32** @f, align 8		; <i32*> [#uses=1]
+	%57 = load i32, i32* %56, align 1		; <i32> [#uses=1]
+	%58 = load i32*, i32** @f, align 8		; <i32*> [#uses=1]
 	%59 = and i32 %i.0.reg2mem.0, 15		; <i32> [#uses=1]
 	%60 = zext i32 %59 to i64		; <i64> [#uses=1]
 	%61 = getelementptr i32, i32* %58, i64 %60		; <i32*> [#uses=1]
-	%62 = load i32* %61, align 1		; <i32> [#uses=1]
+	%62 = load i32, i32* %61, align 1		; <i32> [#uses=1]
 	%63 = sext i32 %i.0.reg2mem.0 to i64		; <i64> [#uses=1]
 	%64 = getelementptr [256 x i32], [256 x i32]* @K, i64 0, i64 %63		; <i32*> [#uses=1]
-	%65 = load i32* %64, align 4		; <i32> [#uses=1]
+	%65 = load i32, i32* %64, align 4		; <i32> [#uses=1]
 	%66 = add i32 %62, %57		; <i32> [#uses=1]
 	%67 = add i32 %66, %65		; <i32> [#uses=1]
 	%68 = zext i32 %52 to i64		; <i64> [#uses=1]
 	%69 = getelementptr i32, i32* %51, i64 %68		; <i32*> [#uses=1]
 	store i32 %67, i32* %69, align 1
-	%70 = load i32** @d, align 8		; <i32*> [#uses=1]
+	%70 = load i32*, i32** @d, align 8		; <i32*> [#uses=1]
 	%71 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%72 = and i32 %71, 15		; <i32> [#uses=1]
-	%73 = load i32** @e, align 8		; <i32*> [#uses=1]
+	%73 = load i32*, i32** @e, align 8		; <i32*> [#uses=1]
 	%74 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%75 = and i32 %74, 15		; <i32> [#uses=1]
 	%76 = zext i32 %75 to i64		; <i64> [#uses=1]
 	%77 = getelementptr i32, i32* %73, i64 %76		; <i32*> [#uses=1]
-	%78 = load i32* %77, align 1		; <i32> [#uses=1]
-	%79 = load i32** @f, align 8		; <i32*> [#uses=1]
+	%78 = load i32, i32* %77, align 1		; <i32> [#uses=1]
+	%79 = load i32*, i32** @f, align 8		; <i32*> [#uses=1]
 	%80 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%81 = and i32 %80, 15		; <i32> [#uses=1]
 	%82 = zext i32 %81 to i64		; <i64> [#uses=1]
 	%83 = getelementptr i32, i32* %79, i64 %82		; <i32*> [#uses=1]
-	%84 = load i32* %83, align 1		; <i32> [#uses=1]
+	%84 = load i32, i32* %83, align 1		; <i32> [#uses=1]
 	%85 = add i32 %i.0.reg2mem.0, 1		; <i32> [#uses=1]
 	%86 = sext i32 %85 to i64		; <i64> [#uses=1]
 	%87 = getelementptr [256 x i32], [256 x i32]* @K, i64 0, i64 %86		; <i32*> [#uses=1]
-	%88 = load i32* %87, align 4		; <i32> [#uses=1]
+	%88 = load i32, i32* %87, align 4		; <i32> [#uses=1]
 	%89 = add i32 %84, %78		; <i32> [#uses=1]
 	%90 = add i32 %89, %88		; <i32> [#uses=1]
 	%91 = zext i32 %72 to i64		; <i64> [#uses=1]
 	%92 = getelementptr i32, i32* %70, i64 %91		; <i32*> [#uses=1]
 	store i32 %90, i32* %92, align 1
-	%93 = load i32** @d, align 8		; <i32*> [#uses=1]
+	%93 = load i32*, i32** @d, align 8		; <i32*> [#uses=1]
 	%94 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%95 = and i32 %94, 15		; <i32> [#uses=1]
-	%96 = load i32** @e, align 8		; <i32*> [#uses=1]
+	%96 = load i32*, i32** @e, align 8		; <i32*> [#uses=1]
 	%97 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%98 = and i32 %97, 15		; <i32> [#uses=1]
 	%99 = zext i32 %98 to i64		; <i64> [#uses=1]
 	%100 = getelementptr i32, i32* %96, i64 %99		; <i32*> [#uses=1]
-	%101 = load i32* %100, align 1		; <i32> [#uses=1]
-	%102 = load i32** @f, align 8		; <i32*> [#uses=1]
+	%101 = load i32, i32* %100, align 1		; <i32> [#uses=1]
+	%102 = load i32*, i32** @f, align 8		; <i32*> [#uses=1]
 	%103 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%104 = and i32 %103, 15		; <i32> [#uses=1]
 	%105 = zext i32 %104 to i64		; <i64> [#uses=1]
 	%106 = getelementptr i32, i32* %102, i64 %105		; <i32*> [#uses=1]
-	%107 = load i32* %106, align 1		; <i32> [#uses=1]
+	%107 = load i32, i32* %106, align 1		; <i32> [#uses=1]
 	%108 = add i32 %i.0.reg2mem.0, 2		; <i32> [#uses=1]
 	%109 = sext i32 %108 to i64		; <i64> [#uses=1]
 	%110 = getelementptr [256 x i32], [256 x i32]* @K, i64 0, i64 %109		; <i32*> [#uses=1]
-	%111 = load i32* %110, align 4		; <i32> [#uses=1]
+	%111 = load i32, i32* %110, align 4		; <i32> [#uses=1]
 	%112 = add i32 %107, %101		; <i32> [#uses=1]
 	%113 = add i32 %112, %111		; <i32> [#uses=1]
 	%114 = zext i32 %95 to i64		; <i64> [#uses=1]
diff --git a/llvm/test/Transforms/IndVarSimplify/2011-09-27-hoistsext.ll b/llvm/test/Transforms/IndVarSimplify/2011-09-27-hoistsext.ll
index 9716778..f0765e7 100644
--- a/llvm/test/Transforms/IndVarSimplify/2011-09-27-hoistsext.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2011-09-27-hoistsext.ll
@@ -18,7 +18,7 @@
   %add174 = add nsw i32 %i2.115, %x
   %idxprom177 = sext i32 %add174 to i64
   %arrayidx179 = getelementptr inbounds double, double* %data, i64 %idxprom177
-  %tmp180 = load double* %arrayidx179, align 8
+  %tmp180 = load double, double* %arrayidx179, align 8
   %add249 = add nsw i32 %i2.115, %y
   %cmp168 = icmp sgt i32 %add249, %n
   br i1 %cmp168, label %exit, label %for.body
diff --git a/llvm/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll b/llvm/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll
index 2c628f6..a0b1e84 100644
--- a/llvm/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll
@@ -26,7 +26,7 @@
   %p.01.us.us = phi i8* [ null, %preheader ], [ %gep, %loop ]
   %s = phi i8 [0, %preheader], [%snext, %loop]
   %gep = getelementptr inbounds i8, i8* %p.01.us.us, i64 1
-  %snext = load i8* %gep
+  %snext = load i8, i8* %gep
   %cmp = icmp ult i8* %gep, %end
   br i1 %cmp, label %loop, label %exit
 
@@ -51,7 +51,7 @@
   %p.01.us.us = phi i8* [ %buf, %preheader ], [ %gep, %loop ]
   %s = phi i8 [0, %preheader], [%snext, %loop]
   %gep = getelementptr inbounds i8, i8* %p.01.us.us, i64 1
-  %snext = load i8* %gep
+  %snext = load i8, i8* %gep
   %cmp = icmp ult i8* %gep, %end
   br i1 %cmp, label %loop, label %exit
 
@@ -80,7 +80,7 @@
   %iv = phi i32 [ 0, %preheader ], [ %ivnext, %loop ]
   %s = phi i8 [0, %preheader], [%snext, %loop]
   %gep = getelementptr inbounds i8, i8* %p.01.us.us, i64 1
-  %snext = load i8* %gep
+  %snext = load i8, i8* %gep
   %ivnext = add i32 %iv, 1
   %cmp = icmp ult i32 %ivnext, %cnt
   br i1 %cmp, label %loop, label %exit
@@ -110,7 +110,7 @@
   %iv = phi i32 [ %bi, %preheader ], [ %ivnext, %loop ]
   %s = phi i8 [0, %preheader], [%snext, %loop]
   %gep = getelementptr inbounds i8, i8* %p.01.us.us, i64 1
-  %snext = load i8* %gep
+  %snext = load i8, i8* %gep
   %ivnext = add i32 %iv, 1
   %cmp = icmp ult i32 %ivnext, %cnt
   br i1 %cmp, label %loop, label %exit
diff --git a/llvm/test/Transforms/IndVarSimplify/2011-11-15-multiexit.ll b/llvm/test/Transforms/IndVarSimplify/2011-11-15-multiexit.ll
index 2683e90..65b2cf6 100644
--- a/llvm/test/Transforms/IndVarSimplify/2011-11-15-multiexit.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2011-11-15-multiexit.ll
@@ -35,6 +35,6 @@
 
 if.end:
   %tmp = phi i32* [ %first.lcssa, %early.exit ], [ %first, %if.then ], [ %first, %entry ], [ undef, %if.else ]
-  %val = load i32* %tmp
+  %val = load i32, i32* %tmp
   ret i32 %val
 }
diff --git a/llvm/test/Transforms/IndVarSimplify/2014-06-21-congruent-constant.ll b/llvm/test/Transforms/IndVarSimplify/2014-06-21-congruent-constant.ll
index 2c738de..1d80e75 100644
--- a/llvm/test/Transforms/IndVarSimplify/2014-06-21-congruent-constant.ll
+++ b/llvm/test/Transforms/IndVarSimplify/2014-06-21-congruent-constant.ll
@@ -13,9 +13,9 @@
   br i1 undef, label %for.end12, label %for.cond.preheader
 
 for.cond.preheader:                               ; preds = %entry
-  %0 = load i32*** @c, align 8
-  %1 = load i32** %0, align 8
-  %2 = load i32* %1, align 4
+  %0 = load i32**, i32*** @c, align 8
+  %1 = load i32*, i32** %0, align 8
+  %2 = load i32, i32* %1, align 4
   br label %for.body
 
 for.body:                                         ; preds = %for.cond.backedge, %for.body9.us, %for.cond.preheader
@@ -26,7 +26,7 @@
   br i1 %tobool1, label %if.end, label %for.cond.backedge
 
 if.end:                                           ; preds = %for.body
-  %5 = load i32* %3, align 4
+  %5 = load i32, i32* %3, align 4
   %tobool4 = icmp eq i32 %5, 0
   br i1 %tobool4, label %for.cond3, label %for.body9.preheader
 
@@ -35,8 +35,8 @@
   br i1 %tobool8, label %for.body9.us, label %for.body9
 
 for.body9.us:                                     ; preds = %for.body9.preheader
-  %6 = load i32** undef, align 8
-  %7 = load i32* %6, align 4
+  %6 = load i32*, i32** undef, align 8
+  %7 = load i32, i32* %6, align 4
   br label %for.body
 
 for.cond3:                                        ; preds = %for.cond3, %if.end
diff --git a/llvm/test/Transforms/IndVarSimplify/ashr-tripcount.ll b/llvm/test/Transforms/IndVarSimplify/ashr-tripcount.ll
index 04446a1..5f33730 100644
--- a/llvm/test/Transforms/IndVarSimplify/ashr-tripcount.ll
+++ b/llvm/test/Transforms/IndVarSimplify/ashr-tripcount.ll
@@ -31,8 +31,8 @@
 	%.pn2 = zext i32 %.pn2.in to i64		; <i64> [#uses=1]
 	%.pn.in = getelementptr [0 x float], [0 x float]* %pow_2_tab.pn, i64 0, i64 %.pn3		; <float*> [#uses=1]
 	%.pn1.in = getelementptr [0 x float], [0 x float]* %pow_2_025_tab.pn, i64 0, i64 %.pn2		; <float*> [#uses=1]
-	%.pn = load float* %.pn.in		; <float> [#uses=1]
-	%.pn1 = load float* %.pn1.in		; <float> [#uses=1]
+	%.pn = load float, float* %.pn.in		; <float> [#uses=1]
+	%.pn1 = load float, float* %.pn1.in		; <float> [#uses=1]
 	%invQuantizer.0 = fmul float %.pn, %.pn1		; <float> [#uses=4]
 	%t3 = ashr i32 %noOfLines, 2		; <i32> [#uses=1]
 	%t4 = icmp sgt i32 %t3, 0		; <i1> [#uses=1]
@@ -47,31 +47,31 @@
 	%k.04 = phi i32 [ %t48, %bb4 ], [ 0, %bb.nph ]		; <i32> [#uses=1]
 	%t6 = sext i32 %i.05 to i64		; <i64> [#uses=1]
 	%t7 = getelementptr i32, i32* %quaSpectrum, i64 %t6		; <i32*> [#uses=1]
-	%t8 = load i32* %t7, align 4		; <i32> [#uses=1]
+	%t8 = load i32, i32* %t7, align 4		; <i32> [#uses=1]
 	%t9 = zext i32 %t8 to i64		; <i64> [#uses=1]
 	%t10 = getelementptr float, float* %pow4_3_tab_ptr, i64 %t9		; <float*> [#uses=1]
-	%t11 = load float* %t10, align 4		; <float> [#uses=1]
+	%t11 = load float, float* %t10, align 4		; <float> [#uses=1]
 	%t12 = or i32 %i.05, 1		; <i32> [#uses=1]
 	%t13 = sext i32 %t12 to i64		; <i64> [#uses=1]
 	%t14 = getelementptr i32, i32* %quaSpectrum, i64 %t13		; <i32*> [#uses=1]
-	%t15 = load i32* %t14, align 4		; <i32> [#uses=1]
+	%t15 = load i32, i32* %t14, align 4		; <i32> [#uses=1]
 	%t16 = zext i32 %t15 to i64		; <i64> [#uses=1]
 	%t17 = getelementptr float, float* %pow4_3_tab_ptr, i64 %t16		; <float*> [#uses=1]
-	%t18 = load float* %t17, align 4		; <float> [#uses=1]
+	%t18 = load float, float* %t17, align 4		; <float> [#uses=1]
 	%t19 = or i32 %i.05, 2		; <i32> [#uses=1]
 	%t20 = sext i32 %t19 to i64		; <i64> [#uses=1]
 	%t21 = getelementptr i32, i32* %quaSpectrum, i64 %t20		; <i32*> [#uses=1]
-	%t22 = load i32* %t21, align 4		; <i32> [#uses=1]
+	%t22 = load i32, i32* %t21, align 4		; <i32> [#uses=1]
 	%t23 = zext i32 %t22 to i64		; <i64> [#uses=1]
 	%t24 = getelementptr float, float* %pow4_3_tab_ptr, i64 %t23		; <float*> [#uses=1]
-	%t25 = load float* %t24, align 4		; <float> [#uses=1]
+	%t25 = load float, float* %t24, align 4		; <float> [#uses=1]
 	%t26 = or i32 %i.05, 3		; <i32> [#uses=1]
 	%t27 = sext i32 %t26 to i64		; <i64> [#uses=1]
 	%t28 = getelementptr i32, i32* %quaSpectrum, i64 %t27		; <i32*> [#uses=1]
-	%t29 = load i32* %t28, align 4		; <i32> [#uses=1]
+	%t29 = load i32, i32* %t28, align 4		; <i32> [#uses=1]
 	%t30 = zext i32 %t29 to i64		; <i64> [#uses=1]
 	%t31 = getelementptr float, float* %pow4_3_tab_ptr, i64 %t30		; <float*> [#uses=1]
-	%t32 = load float* %t31, align 4		; <float> [#uses=1]
+	%t32 = load float, float* %t31, align 4		; <float> [#uses=1]
 	%t33 = fmul float %t11, %invQuantizer.0		; <float> [#uses=1]
 	%t34 = sext i32 %i.05 to i64		; <i64> [#uses=1]
 	%t35 = getelementptr float, float* %iquaSpectrum, i64 %t34		; <float*> [#uses=1]
diff --git a/llvm/test/Transforms/IndVarSimplify/avoid-i0.ll b/llvm/test/Transforms/IndVarSimplify/avoid-i0.ll
index 22f2e4b..cc38590 100644
--- a/llvm/test/Transforms/IndVarSimplify/avoid-i0.ll
+++ b/llvm/test/Transforms/IndVarSimplify/avoid-i0.ll
@@ -34,25 +34,25 @@
 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
 	store i32 %_si1, i32* %_si1_addr
 	store i8 %_si2, i8* %_si2_addr
-	%1 = load i8* %_si2_addr, align 1		; <i8> [#uses=1]
+	%1 = load i8, i8* %_si2_addr, align 1		; <i8> [#uses=1]
 	%2 = sext i8 %1 to i32		; <i32> [#uses=1]
-	%3 = load i32* %_si1_addr, align 4		; <i32> [#uses=1]
+	%3 = load i32, i32* %_si1_addr, align 4		; <i32> [#uses=1]
 	%4 = xor i32 %2, %3		; <i32> [#uses=1]
-	%5 = load i8* %_si2_addr, align 1		; <i8> [#uses=1]
+	%5 = load i8, i8* %_si2_addr, align 1		; <i8> [#uses=1]
 	%6 = sext i8 %5 to i32		; <i32> [#uses=1]
 	%7 = sub i32 7, %6		; <i32> [#uses=1]
-	%8 = load i32* %_si1_addr, align 4		; <i32> [#uses=1]
+	%8 = load i32, i32* %_si1_addr, align 4		; <i32> [#uses=1]
 	%9 = shl i32 %8, %7		; <i32> [#uses=1]
 	%10 = and i32 %4, %9		; <i32> [#uses=1]
 	%11 = icmp slt i32 %10, 0		; <i1> [#uses=1]
 	%12 = zext i1 %11 to i32		; <i32> [#uses=1]
 	store i32 %12, i32* %0, align 4
-	%13 = load i32* %0, align 4		; <i32> [#uses=1]
+	%13 = load i32, i32* %0, align 4		; <i32> [#uses=1]
 	store i32 %13, i32* %retval, align 4
 	br label %return
 
 return:		; preds = %entry
-	%retval1 = load i32* %retval		; <i32> [#uses=1]
+	%retval1 = load i32, i32* %retval		; <i32> [#uses=1]
 	%retval12 = trunc i32 %retval1 to i8		; <i8> [#uses=1]
 	ret i8 %retval12
 }
@@ -66,15 +66,15 @@
 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
 	store i32 %_ui1, i32* %_ui1_addr
 	store i32 %_ui2, i32* %_ui2_addr
-	%1 = load i32* %_ui1_addr, align 4		; <i32> [#uses=1]
+	%1 = load i32, i32* %_ui1_addr, align 4		; <i32> [#uses=1]
 	%2 = sub i32 %1, 1		; <i32> [#uses=1]
 	store i32 %2, i32* %0, align 4
-	%3 = load i32* %0, align 4		; <i32> [#uses=1]
+	%3 = load i32, i32* %0, align 4		; <i32> [#uses=1]
 	store i32 %3, i32* %retval, align 4
 	br label %return
 
 return:		; preds = %entry
-	%retval1 = load i32* %retval		; <i32> [#uses=1]
+	%retval1 = load i32, i32* %retval		; <i32> [#uses=1]
 	ret i32 %retval1
 }
 
@@ -90,31 +90,31 @@
 	br label %bb4
 
 bb:		; preds = %bb4
-	%0 = load volatile i32* @x, align 4		; <i32> [#uses=1]
+	%0 = load volatile i32, i32* @x, align 4		; <i32> [#uses=1]
 	store i32 %0, i32* %vol.0, align 4
 	store i32 0, i32* %l_52, align 4
 	br label %bb2
 
 bb1:		; preds = %bb2
-	%1 = load i32* %l_52, align 4		; <i32> [#uses=1]
+	%1 = load i32, i32* %l_52, align 4		; <i32> [#uses=1]
 	%2 = call i32 @safe_sub_func_uint64_t_u_u(i32 %1, i32 1) nounwind		; <i32> [#uses=1]
 	store i32 %2, i32* %l_52, align 4
 	br label %bb2
 
 bb2:		; preds = %bb1, %bb
-	%3 = load i32* %l_52, align 4		; <i32> [#uses=1]
+	%3 = load i32, i32* %l_52, align 4		; <i32> [#uses=1]
 	%4 = icmp eq i32 %3, 0		; <i1> [#uses=1]
 	br i1 %4, label %bb1, label %bb3
 
 bb3:		; preds = %bb2
-	%5 = load i32* %l_52, align 4		; <i32> [#uses=1]
+	%5 = load i32, i32* %l_52, align 4		; <i32> [#uses=1]
 	%6 = call signext i8 @safe_sub_func_int32_t_s_s(i32 %5, i8 signext 1) nounwind		; <i8> [#uses=1]
 	%7 = sext i8 %6 to i32		; <i32> [#uses=1]
 	store i32 %7, i32* %l_52, align 4
 	br label %bb4
 
 bb4:		; preds = %bb3, %entry
-	%8 = load i32* %l_52, align 4		; <i32> [#uses=1]
+	%8 = load i32, i32* %l_52, align 4		; <i32> [#uses=1]
 	%9 = icmp ne i32 %8, 0		; <i1> [#uses=1]
 	br i1 %9, label %bb, label %bb5
 
diff --git a/llvm/test/Transforms/IndVarSimplify/eliminate-comparison.ll b/llvm/test/Transforms/IndVarSimplify/eliminate-comparison.ll
index b3655c7..4d14b36 100644
--- a/llvm/test/Transforms/IndVarSimplify/eliminate-comparison.ll
+++ b/llvm/test/Transforms/IndVarSimplify/eliminate-comparison.ll
@@ -16,7 +16,7 @@
   br i1 %cmp9, label %pre, label %return
 
 pre:
-  %t3 = load i32* %p
+  %t3 = load i32, i32* %p
   %tobool.not = icmp ne i32 %t3, 0
   br label %loop
 
@@ -50,22 +50,22 @@
   br label %bb18
 
 bb13:
-  %tmp66 = load i64** %tmp65, align 4
+  %tmp66 = load i64*, i64** %tmp65, align 4
   %tmp68 = getelementptr inbounds i64, i64* %tmp66, i32 %i
-  %tmp69 = load i64* %tmp68, align 4
-  %tmp74 = load i64** %tmp73, align 4
+  %tmp69 = load i64, i64* %tmp68, align 4
+  %tmp74 = load i64*, i64** %tmp73, align 4
   %tmp76 = getelementptr inbounds i64, i64* %tmp74, i32 %i
-  %tmp77 = load i64* %tmp76, align 4
+  %tmp77 = load i64, i64* %tmp76, align 4
   %tmp78 = icmp ugt i64 %tmp69, %tmp77
   br i1 %tmp78, label %bb20.loopexit, label %bb15
 
 bb15:
-  %tmp83 = load i64** %tmp82, align 4
+  %tmp83 = load i64*, i64** %tmp82, align 4
   %tmp85 = getelementptr inbounds i64, i64* %tmp83, i32 %i
-  %tmp86 = load i64* %tmp85, align 4
-  %tmp91 = load i64** %tmp90, align 4
+  %tmp86 = load i64, i64* %tmp85, align 4
+  %tmp91 = load i64*, i64** %tmp90, align 4
   %tmp93 = getelementptr inbounds i64, i64* %tmp91, i32 %i
-  %tmp94 = load i64* %tmp93, align 4
+  %tmp94 = load i64, i64* %tmp93, align 4
   %tmp95 = icmp ult i64 %tmp86, %tmp94
   br i1 %tmp95, label %bb20.loopexit, label %bb17
 
diff --git a/llvm/test/Transforms/IndVarSimplify/eliminate-rem.ll b/llvm/test/Transforms/IndVarSimplify/eliminate-rem.ll
index d10ff1c..6f8e6bb 100644
--- a/llvm/test/Transforms/IndVarSimplify/eliminate-rem.ll
+++ b/llvm/test/Transforms/IndVarSimplify/eliminate-rem.ll
@@ -82,12 +82,12 @@
   %t30 = add nsw i64 %t27, %t22                   ; <i64> [#uses=1]
   %t31 = getelementptr inbounds i64, i64* %arg, i64 %t28 ; <i64*> [#uses=1]
   %t32 = zext i32 %t23 to i64                     ; <i64> [#uses=1]
-  %t33 = load i64* %t29                           ; <i64> [#uses=1]
+  %t33 = load i64, i64* %t29                           ; <i64> [#uses=1]
   %t34 = getelementptr inbounds i64, i64* %arg, i64 %t30 ; <i64*> [#uses=1]
-  %t35 = load i64* %t31                           ; <i64> [#uses=1]
+  %t35 = load i64, i64* %t31                           ; <i64> [#uses=1]
   %t36 = add nsw i64 %t32, %t33                   ; <i64> [#uses=1]
   %t37 = add nsw i64 %t36, %t35                   ; <i64> [#uses=1]
-  %t38 = load i64* %t34                           ; <i64> [#uses=1]
+  %t38 = load i64, i64* %t34                           ; <i64> [#uses=1]
   %t39 = add nsw i64 %t37, %t38                   ; <i64> [#uses=1]
   %t40 = trunc i64 %t39 to i32                    ; <i32> [#uses=2]
   %t41 = add nsw i64 %t22, 1                      ; <i64> [#uses=2]
diff --git a/llvm/test/Transforms/IndVarSimplify/indirectbr.ll b/llvm/test/Transforms/IndVarSimplify/indirectbr.ll
index 3f973a8..d580169 100644
--- a/llvm/test/Transforms/IndVarSimplify/indirectbr.ll
+++ b/llvm/test/Transforms/IndVarSimplify/indirectbr.ll
@@ -33,7 +33,7 @@
   %S.31.0 = phi i64 [ %3, %bb16 ], [ 1, %bb7.preheader ], [ 1, %bb14 ] ; <i64> [#uses=2]
   %0 = add nsw i64 %S.31.0, -1                    ; <i64> [#uses=1]
   %1 = getelementptr inbounds [3 x double], [3 x double]* undef, i64 0, i64 %0 ; <double*> [#uses=1]
-  %2 = load double* %1, align 8                   ; <double> [#uses=0]
+  %2 = load double, double* %1, align 8                   ; <double> [#uses=0]
   %3 = add nsw i64 %S.31.0, 1                     ; <i64> [#uses=1]
   br label %bb16
 }
diff --git a/llvm/test/Transforms/IndVarSimplify/iv-fold.ll b/llvm/test/Transforms/IndVarSimplify/iv-fold.ll
index 26a51ce..af8a33b 100644
--- a/llvm/test/Transforms/IndVarSimplify/iv-fold.ll
+++ b/llvm/test/Transforms/IndVarSimplify/iv-fold.ll
@@ -14,11 +14,11 @@
   %0 = phi i32 [ 0, %entry ], [ %inc.2, %while.body ]
   %shr = lshr i32 %0, 5
   %arrayidx = getelementptr inbounds i32, i32* %bitmap, i32 %shr
-  %tmp6 = load i32* %arrayidx, align 4
+  %tmp6 = load i32, i32* %arrayidx, align 4
   %inc.1 = add i32 %0, 1
   %shr.1 = lshr i32 %inc.1, 5
   %arrayidx.1 = getelementptr inbounds i32, i32* %bitmap, i32 %shr.1
-  %tmp6.1 = load i32* %arrayidx.1, align 4
+  %tmp6.1 = load i32, i32* %arrayidx.1, align 4
   %inc.2 = add i32 %inc.1, 1
   %exitcond.3 = icmp eq i32 %inc.2, 128
   br i1 %exitcond.3, label %while.end, label %while.body
@@ -41,11 +41,11 @@
   %0 = phi i32 [ 0, %entry ], [ %inc.3, %while.body ]
   %shr = lshr i32 %0, 5
   %arrayidx = getelementptr inbounds i32, i32* %bitmap, i32 %shr
-  %tmp6 = load i32* %arrayidx, align 4
+  %tmp6 = load i32, i32* %arrayidx, align 4
   %inc.1 = add i32 %0, 1
   %shr.1 = lshr i32 %inc.1, 5
   %arrayidx.1 = getelementptr inbounds i32, i32* %bitmap, i32 %shr.1
-  %tmp6.1 = load i32* %arrayidx.1, align 4
+  %tmp6.1 = load i32, i32* %arrayidx.1, align 4
   %inc.3 = add i32 %inc.1, 2
   %exitcond.3 = icmp eq i32 %inc.3, 96
   br i1 %exitcond.3, label %while.end, label %while.body
diff --git a/llvm/test/Transforms/IndVarSimplify/iv-sext.ll b/llvm/test/Transforms/IndVarSimplify/iv-sext.ll
index 64062c3..89e21e1 100644
--- a/llvm/test/Transforms/IndVarSimplify/iv-sext.ll
+++ b/llvm/test/Transforms/IndVarSimplify/iv-sext.ll
@@ -8,7 +8,7 @@
 
 define void @t(float* %pTmp1, float* %peakWeight, float* %nrgReducePeakrate, i32 %bandEdgeIndex, float %tmp1) nounwind {
 entry:
-	%tmp = load float* %peakWeight, align 4		; <float> [#uses=1]
+	%tmp = load float, float* %peakWeight, align 4		; <float> [#uses=1]
 	%tmp2 = icmp sgt i32 %bandEdgeIndex, 0		; <i1> [#uses=1]
 	br i1 %tmp2, label %bb.nph22, label %return
 
@@ -34,12 +34,12 @@
 	%tmp5 = add i32 %part.016, -1		; <i32> [#uses=1]
 	%tmp6 = sext i32 %tmp5 to i64		; <i64> [#uses=1]
 	%tmp7 = getelementptr float, float* %pTmp1, i64 %tmp6		; <float*> [#uses=1]
-	%tmp8 = load float* %tmp7, align 4		; <float> [#uses=1]
+	%tmp8 = load float, float* %tmp7, align 4		; <float> [#uses=1]
 	%tmp9 = fadd float %tmp8, %distERBlo.120		; <float> [#uses=1]
 	%tmp10 = add i32 %part.016, -1		; <i32> [#uses=1]
 	%tmp11 = sext i32 %tmp10 to i64		; <i64> [#uses=1]
 	%tmp12 = getelementptr float, float* %pTmp1, i64 %tmp11		; <float*> [#uses=1]
-	%tmp13 = load float* %tmp12, align 4		; <float> [#uses=1]
+	%tmp13 = load float, float* %tmp12, align 4		; <float> [#uses=1]
 	%tmp14 = fsub float %distERBhi.121, %tmp13		; <float> [#uses=1]
 	br label %bb3.preheader
 
@@ -58,11 +58,11 @@
 	%peakCount.01 = phi float [ %tmp23, %bb3 ], [ %peakCount.117, %bb.nph ]		; <float> [#uses=1]
 	%tmp16 = sext i32 %loPart.02 to i64		; <i64> [#uses=1]
 	%tmp17 = getelementptr float, float* %pTmp1, i64 %tmp16		; <float*> [#uses=1]
-	%tmp18 = load float* %tmp17, align 4		; <float> [#uses=1]
+	%tmp18 = load float, float* %tmp17, align 4		; <float> [#uses=1]
 	%tmp19 = fsub float %distERBlo.03, %tmp18		; <float> [#uses=3]
 	%tmp20 = sext i32 %loPart.02 to i64		; <i64> [#uses=1]
 	%tmp21 = getelementptr float, float* %peakWeight, i64 %tmp20		; <float*> [#uses=1]
-	%tmp22 = load float* %tmp21, align 4		; <float> [#uses=1]
+	%tmp22 = load float, float* %tmp21, align 4		; <float> [#uses=1]
 	%tmp23 = fsub float %peakCount.01, %tmp22		; <float> [#uses=2]
 	%tmp24 = add i32 %loPart.02, 1		; <i32> [#uses=2]
 	br label %bb3
@@ -98,12 +98,12 @@
 	%peakCount.27 = phi float [ %tmp35, %bb5 ], [ %peakCount.0.lcssa, %bb.nph12 ]		; <float> [#uses=1]
 	%tmp27 = sext i32 %hiPart.08 to i64		; <i64> [#uses=1]
 	%tmp28 = getelementptr float, float* %pTmp1, i64 %tmp27		; <float*> [#uses=1]
-	%tmp29 = load float* %tmp28, align 4		; <float> [#uses=1]
+	%tmp29 = load float, float* %tmp28, align 4		; <float> [#uses=1]
 	%tmp30 = fadd float %tmp29, %distERBhi.29		; <float> [#uses=3]
 	%tmp31 = add i32 %hiPart.08, 1		; <i32> [#uses=4]
 	%tmp32 = sext i32 %tmp31 to i64		; <i64> [#uses=1]
 	%tmp33 = getelementptr float, float* %peakWeight, i64 %tmp32		; <float*> [#uses=1]
-	%tmp34 = load float* %tmp33, align 4		; <float> [#uses=1]
+	%tmp34 = load float, float* %tmp33, align 4		; <float> [#uses=1]
 	%tmp35 = fadd float %tmp34, %peakCount.27		; <float> [#uses=2]
 	br label %bb5
 
diff --git a/llvm/test/Transforms/IndVarSimplify/iv-widen.ll b/llvm/test/Transforms/IndVarSimplify/iv-widen.ll
index 497f9f9..2b69cb1 100644
--- a/llvm/test/Transforms/IndVarSimplify/iv-widen.ll
+++ b/llvm/test/Transforms/IndVarSimplify/iv-widen.ll
@@ -21,7 +21,7 @@
   %tmp23 = zext i32 %.02 to i64
   %tmp33 = add i32 %.02, 1
   %o = getelementptr i32, i32* %a, i32 %.02
-  %v = load i32* %o
+  %v = load i32, i32* %o
   %t = icmp eq i32 %v, 0
   br i1 %t, label %exit24, label %B24
 
diff --git a/llvm/test/Transforms/IndVarSimplify/iv-zext.ll b/llvm/test/Transforms/IndVarSimplify/iv-zext.ll
index 88d6fa2..629a85e 100644
--- a/llvm/test/Transforms/IndVarSimplify/iv-zext.ll
+++ b/llvm/test/Transforms/IndVarSimplify/iv-zext.ll
@@ -12,16 +12,16 @@
 	%indvar = phi i64 [ 0, %entry ], [ %indvar.next, %loop ]
 	%indvar.i8 = and i64 %indvar, 255
 	%t0 = getelementptr double, double* %d, i64 %indvar.i8
-	%t1 = load double* %t0
+	%t1 = load double, double* %t0
 	%t2 = fmul double %t1, 0.1
 	store double %t2, double* %t0
 	%indvar.i24 = and i64 %indvar, 16777215
 	%t3 = getelementptr double, double* %d, i64 %indvar.i24
-	%t4 = load double* %t3
+	%t4 = load double, double* %t3
 	%t5 = fmul double %t4, 2.3
 	store double %t5, double* %t3
 	%t6 = getelementptr double, double* %d, i64 %indvar
-	%t7 = load double* %t6
+	%t7 = load double, double* %t6
 	%t8 = fmul double %t7, 4.5
 	store double %t8, double* %t6
 	%indvar.next = add i64 %indvar, 1
diff --git a/llvm/test/Transforms/IndVarSimplify/lftr-promote.ll b/llvm/test/Transforms/IndVarSimplify/lftr-promote.ll
index 8f82fbd..4fe3191 100644
--- a/llvm/test/Transforms/IndVarSimplify/lftr-promote.ll
+++ b/llvm/test/Transforms/IndVarSimplify/lftr-promote.ll
@@ -18,7 +18,7 @@
 	%i.01 = phi i32 [ %7, %bb3 ], [ 0, %bb.nph ]		; <i32> [#uses=3]
 	%1 = sext i32 %i.01 to i64		; <i64> [#uses=1]
 	%2 = getelementptr double, double* %p, i64 %1		; <double*> [#uses=1]
-	%3 = load double* %2, align 8		; <double> [#uses=1]
+	%3 = load double, double* %2, align 8		; <double> [#uses=1]
 	%4 = fmul double %3, 1.100000e+00		; <double> [#uses=1]
 	%5 = sext i32 %i.01 to i64		; <i64> [#uses=1]
 	%6 = getelementptr double, double* %p, i64 %5		; <double*> [#uses=1]
diff --git a/llvm/test/Transforms/IndVarSimplify/lftr-reuse.ll b/llvm/test/Transforms/IndVarSimplify/lftr-reuse.ll
index fa46250..befbb9e 100644
--- a/llvm/test/Transforms/IndVarSimplify/lftr-reuse.ll
+++ b/llvm/test/Transforms/IndVarSimplify/lftr-reuse.ll
@@ -109,10 +109,10 @@
   %diagidx = add nsw i32 %rowidx, %i
   %diagidxw = sext i32 %diagidx to i64
   %matrixp = getelementptr inbounds [0 x double], [0 x double]* %matrix, i32 0, i64 %diagidxw
-  %v1 = load double* %matrixp
+  %v1 = load double, double* %matrixp
   %iw = sext i32 %i to i64
   %vectorp = getelementptr inbounds [0 x double], [0 x double]* %vector, i32 0, i64 %iw
-  %v2 = load double* %vectorp
+  %v2 = load double, double* %vectorp
   %row.inc = add nsw i32 %rowidx, %ilead
   %i.inc = add nsw i32 %i, 1
   %cmp196 = icmp slt i32 %i.inc, %irow
@@ -143,10 +143,10 @@
   %diagidx = add nsw i32 %rowidx, %i
   %diagidxw = sext i32 %diagidx to i64
   %matrixp = getelementptr inbounds [0 x double], [0 x double]* %matrix, i32 0, i64 %diagidxw
-  %v1 = load double* %matrixp
+  %v1 = load double, double* %matrixp
   %iw = sext i32 %i to i64
   %vectorp = getelementptr inbounds [0 x double], [0 x double]* %vector, i32 0, i64 %iw
-  %v2 = load double* %vectorp
+  %v2 = load double, double* %vectorp
   %row.inc = add nsw i32 %rowidx, %ilead
   %i.inc = add nsw i32 %i, 1
   %cmp196 = icmp slt i32 %i.inc, %irow
diff --git a/llvm/test/Transforms/IndVarSimplify/lftr-zext.ll b/llvm/test/Transforms/IndVarSimplify/lftr-zext.ll
index a5dda92..f5641bc 100644
--- a/llvm/test/Transforms/IndVarSimplify/lftr-zext.ll
+++ b/llvm/test/Transforms/IndVarSimplify/lftr-zext.ll
@@ -14,7 +14,7 @@
   %p.0 = phi i8* [ getelementptr inbounds ([240 x i8]* @data, i64 0, i64 0), %0 ], [ %4, %1 ]
   %.0 = phi i8* [ %a, %0 ], [ %2, %1 ]
   %2 = getelementptr inbounds i8, i8* %.0, i64 1
-  %3 = load i8* %.0, align 1
+  %3 = load i8, i8* %.0, align 1
   %4 = getelementptr inbounds i8, i8* %p.0, i64 1
   store i8 %3, i8* %p.0, align 1
   %5 = add i8 %i.0, 1
diff --git a/llvm/test/Transforms/IndVarSimplify/loop_evaluate7.ll b/llvm/test/Transforms/IndVarSimplify/loop_evaluate7.ll
index 8f86d7b..333ab7a 100644
--- a/llvm/test/Transforms/IndVarSimplify/loop_evaluate7.ll
+++ b/llvm/test/Transforms/IndVarSimplify/loop_evaluate7.ll
@@ -21,7 +21,7 @@
 	br i1 undef, label %bb20, label %bb29
 
 bb20:		; preds = %bb19
-	%0 = load i32* undef, align 4		; <i32> [#uses=1]
+	%0 = load i32, i32* undef, align 4		; <i32> [#uses=1]
 	%1 = sub i32 %0, %n		; <i32> [#uses=1]
 	br label %bb23
 
diff --git a/llvm/test/Transforms/IndVarSimplify/loop_evaluate8.ll b/llvm/test/Transforms/IndVarSimplify/loop_evaluate8.ll
index 0d18ddf..28d05df 100644
--- a/llvm/test/Transforms/IndVarSimplify/loop_evaluate8.ll
+++ b/llvm/test/Transforms/IndVarSimplify/loop_evaluate8.ll
@@ -23,7 +23,7 @@
 	br i1 undef, label %bb20, label %bb29
 
 bb20:		; preds = %bb19
-	%0 = load i32* undef, align 4		; <i32> [#uses=1]
+	%0 = load i32, i32* undef, align 4		; <i32> [#uses=1]
 	%1 = sub i32 %0, undef		; <i32> [#uses=1]
 	br label %bb23
 
diff --git a/llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll b/llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
index 8d8a451..ca7b899 100644
--- a/llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
+++ b/llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
@@ -29,7 +29,7 @@
   %s.01 = phi i32 [ 0, %ph ], [ %sinc, %loop ]
   %ofs = sext i32 %i.02 to i64
   %adr = getelementptr inbounds i32, i32* %arr, i64 %ofs
-  %val = load i32* %adr
+  %val = load i32, i32* %adr
   %sinc = add nsw i32 %s.01, %val
   %iinc = add nsw i32 %i.02, 1
   %cond = icmp slt i32 %iinc, %n
@@ -70,7 +70,7 @@
   %s.01 = phi i64 [ 0, %ph ], [ %sinc, %loop ]
   %ofs = sext i32 %i.02 to i64
   %adr = getelementptr inbounds i32, i32* %arr, i64 %ofs
-  %val = load i32* %adr
+  %val = load i32, i32* %adr
   %vall = sext i32 %val to i64
   %sinc = add nsw i64 %s.01, %vall
   %iinc = add nsw i32 %i.02, 1
@@ -171,7 +171,7 @@
   %max = phi i32 [ 0, %entry ], [ %max.next, %loop.inc ]
   %idxprom = sext i32 %idx to i64
   %adr = getelementptr inbounds i32, i32* %base, i64 %idxprom
-  %val = load i32* %adr
+  %val = load i32, i32* %adr
   %cmp19 = icmp sgt i32 %val, %max
   br i1 %cmp19, label %if.then, label %if.else
 
@@ -240,7 +240,7 @@
   %iv = phi i32 [ 0, %entry], [ %iv.next, %loop ]
   %t1 = sext i32 %iv to i64
   %adr = getelementptr i64, i64* %base, i64 %t1
-  %val = load i64* %adr
+  %val = load i64, i64* %adr
   %t2 = or i32 %iv, 1
   %t3 = sext i32 %t2 to i64
   %iv.next = add i32 %iv, 2
diff --git a/llvm/test/Transforms/IndVarSimplify/overflowcheck.ll b/llvm/test/Transforms/IndVarSimplify/overflowcheck.ll
index 0ced040..c3c033d 100644
--- a/llvm/test/Transforms/IndVarSimplify/overflowcheck.ll
+++ b/llvm/test/Transforms/IndVarSimplify/overflowcheck.ll
@@ -28,7 +28,7 @@
   %zxt = zext i32 %i to i64
   %ofs = shl nuw nsw i64 %zxt, 3
   %gep = getelementptr i64, i64* %a, i64 %zxt
-  %v = load i64* %gep, align 8
+  %v = load i64, i64* %gep, align 8
   %truncv = trunc i64 %v to i32
   %adds = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %s, i32 %truncv)
   %ovflows = extractvalue { i32, i1 } %adds, 1
diff --git a/llvm/test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll b/llvm/test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll
index dc36b99..519d34d 100644
--- a/llvm/test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll
+++ b/llvm/test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll
@@ -13,7 +13,7 @@
 	br label %bb38.i
 
 bb14.i27:
-	%t0 = load i64* @ue, align 8
+	%t0 = load i64, i64* @ue, align 8
 	%t1 = sub i64 %t0, %i.0.i35
 	%t2 = add i64 %t1, 1
 	br i1 undef, label %bb15.i28, label %bb19.i31
diff --git a/llvm/test/Transforms/IndVarSimplify/polynomial-expand.ll b/llvm/test/Transforms/IndVarSimplify/polynomial-expand.ll
index 6128c12..5708c64d 100644
--- a/llvm/test/Transforms/IndVarSimplify/polynomial-expand.ll
+++ b/llvm/test/Transforms/IndVarSimplify/polynomial-expand.ll
@@ -21,7 +21,7 @@
   %tmp32 = phi i32 [ %tmp37, %bb30 ], [ %tmp27, %bb24 ] ; <i32> [#uses=2]
   %tmp33 = sext i32 %tmp32 to i64                 ; <i64> [#uses=1]
   %tmp35 = getelementptr float, float* %tmp4, i64 %tmp33 ; <%0*> [#uses=1]
-  %tmp36 = load float* %tmp35, align 4               ; <%0> [#uses=0]
+  %tmp36 = load float, float* %tmp35, align 4               ; <%0> [#uses=0]
   %tmp37 = add nsw i32 %tmp32, -1                 ; <i32> [#uses=1]
   %tmp39 = add nsw i32 %tmp31, -1                 ; <i32> [#uses=1]
   %tmp38 = icmp eq i32 %tmp31, 1                  ; <i1> [#uses=1]
diff --git a/llvm/test/Transforms/IndVarSimplify/pr18223.ll b/llvm/test/Transforms/IndVarSimplify/pr18223.ll
index 738f75c..f922aa4 100644
--- a/llvm/test/Transforms/IndVarSimplify/pr18223.ll
+++ b/llvm/test/Transforms/IndVarSimplify/pr18223.ll
@@ -8,7 +8,7 @@
 
 define i32 @main() #0 {
 entry:
-  %0 = load i32* @c, align 4
+  %0 = load i32, i32* @c, align 4
   %tobool = icmp eq i32 %0, 0
   br i1 %tobool, label %for.body, label %exit
 
diff --git a/llvm/test/Transforms/IndVarSimplify/pr20680.ll b/llvm/test/Transforms/IndVarSimplify/pr20680.ll
index 716e013..0713f31 100644
--- a/llvm/test/Transforms/IndVarSimplify/pr20680.ll
+++ b/llvm/test/Transforms/IndVarSimplify/pr20680.ll
@@ -13,9 +13,9 @@
 ; CHECK-NEXT: %[[indvars_iv:.*]] = phi i32 [ %[[indvars_iv_next:.*]], %[[for_inc13:.*]] ], [ -14, %entry ]
 ; br i1 {{.*}}, label %[[for_inc13]], label %
 entry:
-  %0 = load i32* @a, align 4
+  %0 = load i32, i32* @a, align 4
   %tobool2 = icmp eq i32 %0, 0
-  %1 = load i32* @a, align 4
+  %1 = load i32, i32* @a, align 4
   %tobool = icmp eq i32 %1, 0
   br label %for.cond2.preheader
 
@@ -51,7 +51,7 @@
 
 cond.end.us.us:                                   ; preds = %cond.false.us.us, %for.body3.us.us
   %cond.us.us = phi i32 [ %div, %cond.false.us.us ], [ %conv7, %for.body3.us.us ]
-  %4 = load i32* @b, align 4
+  %4 = load i32, i32* @b, align 4
   %cmp91.us.us = icmp slt i32 %4, 1
   br i1 %cmp91.us.us, label %for.inc.lr.ph.us.us, label %for.cond2.loopexit.us.us
 
@@ -87,7 +87,7 @@
 
 cond.end.us:                                      ; preds = %cond.false.us, %for.body3.us
   %cond.us = phi i32 [ %div, %cond.false.us ], [ %conv7, %for.body3.us ]
-  %6 = load i32* @b, align 4
+  %6 = load i32, i32* @b, align 4
   %cmp91.us = icmp slt i32 %6, 1
   br i1 %cmp91.us, label %for.inc.lr.ph.us, label %for.cond2.loopexit.us
 
@@ -133,7 +133,7 @@
 
 cond.end.us5:                                     ; preds = %cond.false.us4, %for.body3.us3
   %cond.us6 = phi i32 [ %div, %cond.false.us4 ], [ %conv7, %for.body3.us3 ]
-  %8 = load i32* @b, align 4
+  %8 = load i32, i32* @b, align 4
   %cmp91.us7 = icmp slt i32 %8, 1
   br i1 %cmp91.us7, label %for.inc.lr.ph.us12, label %for.cond2.loopexit.us11
 
@@ -177,7 +177,7 @@
 
 cond.end:                                         ; preds = %cond.false, %for.body3
   %cond = phi i32 [ %div, %cond.false ], [ %conv7, %for.body3 ]
-  %10 = load i32* @b, align 4
+  %10 = load i32, i32* @b, align 4
   %cmp91 = icmp slt i32 %10, 1
   br i1 %cmp91, label %for.inc.lr.ph, label %for.cond2.loopexit
 
diff --git a/llvm/test/Transforms/IndVarSimplify/pr22222.ll b/llvm/test/Transforms/IndVarSimplify/pr22222.ll
index ccdfe53..d1f0490 100644
--- a/llvm/test/Transforms/IndVarSimplify/pr22222.ll
+++ b/llvm/test/Transforms/IndVarSimplify/pr22222.ll
@@ -9,7 +9,7 @@
 ; Function Attrs: nounwind ssp uwtable
 define i32 @main() {
 entry:
-  %a.promoted13 = load i32* @a, align 4
+  %a.promoted13 = load i32, i32* @a, align 4
   br label %for.cond1.preheader
 
 for.cond1.preheader:                              ; preds = %entry, %for.end
diff --git a/llvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll b/llvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll
index 8396bf5..b676501 100644
--- a/llvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll
+++ b/llvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll
@@ -14,7 +14,7 @@
 	%n.01 = phi i32 [ %t6, %bb1 ], [ 0, %bb.nph ]		; <i32> [#uses=2]
 	%t1 = sext i32 %n.01 to i64		; <i64> [#uses=1]
 	%t2 = getelementptr i64, i64* %first, i64 %t1		; <i64*> [#uses=1]
-	%t3 = load i64* %t2, align 8		; <i64> [#uses=1]
+	%t3 = load i64, i64* %t2, align 8		; <i64> [#uses=1]
 	%t4 = lshr i64 %t3, 4		; <i64> [#uses=1]
 	%t5 = add i64 %t4, %result.02		; <i64> [#uses=2]
 	%t6 = add i32 %n.01, 1		; <i32> [#uses=2]
diff --git a/llvm/test/Transforms/IndVarSimplify/sharpen-range.ll b/llvm/test/Transforms/IndVarSimplify/sharpen-range.ll
index cb090f0..c103da9 100644
--- a/llvm/test/Transforms/IndVarSimplify/sharpen-range.ll
+++ b/llvm/test/Transforms/IndVarSimplify/sharpen-range.ll
@@ -8,7 +8,7 @@
 define i1 @bounded_below_slt(i32* nocapture readonly %buffer) {
 ; CHECK-LABEL: bounded_below_slt
 entry:
-  %length = load i32* %buffer, !range !0
+  %length = load i32, i32* %buffer, !range !0
   %entry.pred = icmp eq i32 %length, 0
   br i1 %entry.pred, label %abort, label %loop.preheader
 
@@ -42,7 +42,7 @@
 define i1 @bounded_below_sle(i32* nocapture readonly %buffer) {
 ; CHECK-LABEL: bounded_below_sle
 entry:
-  %length = load i32* %buffer, !range !0
+  %length = load i32, i32* %buffer, !range !0
   %entry.pred = icmp eq i32 %length, 0
   br i1 %entry.pred, label %abort, label %loop.preheader
 
diff --git a/llvm/test/Transforms/IndVarSimplify/single-element-range.ll b/llvm/test/Transforms/IndVarSimplify/single-element-range.ll
index 4b035ee..e047a0b 100644
--- a/llvm/test/Transforms/IndVarSimplify/single-element-range.ll
+++ b/llvm/test/Transforms/IndVarSimplify/single-element-range.ll
@@ -8,7 +8,7 @@
 	br i1 undef, label %return, label %bb
 
 bb:		; preds = %entry
-	%0 = load i8** undef, align 4		; <i8*> [#uses=2]
+	%0 = load i8*, i8** undef, align 4		; <i8*> [#uses=2]
 	%1 = ptrtoint i8* %0 to i32		; <i32> [#uses=1]
 	%2 = icmp sgt i8* %0, inttoptr (i32 1 to i8*)		; <i1> [#uses=1]
 	br i1 %2, label %bb1, label %bb5
diff --git a/llvm/test/Transforms/IndVarSimplify/sink-alloca.ll b/llvm/test/Transforms/IndVarSimplify/sink-alloca.ll
index c7bb003..8179470 100644
--- a/llvm/test/Transforms/IndVarSimplify/sink-alloca.ll
+++ b/llvm/test/Transforms/IndVarSimplify/sink-alloca.ll
@@ -19,7 +19,7 @@
 
 while.end:                                        ; preds = %while.cond
   store volatile i32 0, i32* %result.i
-  %tmp.i = load volatile i32* %result.i           ; <i32> [#uses=0]
+  %tmp.i = load volatile i32, i32* %result.i           ; <i32> [#uses=0]
   ret i32 0
 }
 declare i32 @bar()
diff --git a/llvm/test/Transforms/IndVarSimplify/udiv.ll b/llvm/test/Transforms/IndVarSimplify/udiv.ll
index 1925e86..04458ff 100644
--- a/llvm/test/Transforms/IndVarSimplify/udiv.ll
+++ b/llvm/test/Transforms/IndVarSimplify/udiv.ll
@@ -18,7 +18,7 @@
 
 cond.true:                                        ; preds = %entry
   %arrayidx = getelementptr inbounds i8*, i8** %argv, i64 1 ; <i8**> [#uses=1]
-  %tmp2 = load i8** %arrayidx                     ; <i8*> [#uses=1]
+  %tmp2 = load i8*, i8** %arrayidx                     ; <i8*> [#uses=1]
   %call = tail call i32 @atoi(i8* %tmp2) nounwind readonly ; <i32> [#uses=1]
   br label %while.cond.preheader
 
@@ -82,7 +82,7 @@
   %count.212 = phi i32 [ 0, %bb.nph16 ], [ %count.1, %for.cond12 ] ; <i32> [#uses=2]
   %i.17 = phi i64 [ 2, %bb.nph16 ], [ %inc37, %for.cond12 ] ; <i64> [#uses=4]
   %arrayidx17 = getelementptr inbounds [8193 x i8], [8193 x i8]* @main.flags, i64 0, i64 %i.17 ; <i8*> [#uses=1]
-  %tmp18 = load i8* %arrayidx17                   ; <i8> [#uses=1]
+  %tmp18 = load i8, i8* %arrayidx17                   ; <i8> [#uses=1]
   %tobool19 = icmp eq i8 %tmp18, 0                ; <i1> [#uses=1]
   br i1 %tobool19, label %for.inc35, label %if.then
 
diff --git a/llvm/test/Transforms/IndVarSimplify/uglygep.ll b/llvm/test/Transforms/IndVarSimplify/uglygep.ll
index 2993e8d..e434389 100644
--- a/llvm/test/Transforms/IndVarSimplify/uglygep.ll
+++ b/llvm/test/Transforms/IndVarSimplify/uglygep.ll
@@ -27,10 +27,10 @@
   br i1 %tmp8, label %bb1, label %bb3
 
 bb1:                                              ; preds = %bb2
-  %tmp = load double*** @tds, align 8             ; <double**> [#uses=1]
+  %tmp = load double**, double*** @tds, align 8             ; <double**> [#uses=1]
   %tmp1 = sext i32 %i.0 to i64                    ; <i64> [#uses=1]
   %tmp2 = getelementptr inbounds double*, double** %tmp, i64 %tmp1 ; <double**> [#uses=1]
-  %tmp3 = load double** %tmp2, align 1            ; <double*> [#uses=1]
+  %tmp3 = load double*, double** %tmp2, align 1            ; <double*> [#uses=1]
   %tmp6 = add nsw i32 %j.0, 1                     ; <i32> [#uses=1]
   br label %bb2
 
diff --git a/llvm/test/Transforms/IndVarSimplify/ult-sub-to-eq.ll b/llvm/test/Transforms/IndVarSimplify/ult-sub-to-eq.ll
index 1901f28..642d1ba 100644
--- a/llvm/test/Transforms/IndVarSimplify/ult-sub-to-eq.ll
+++ b/llvm/test/Transforms/IndVarSimplify/ult-sub-to-eq.ll
@@ -12,10 +12,10 @@
   %add = add i32 %0, %sample
   %idxprom = zext i32 %add to i64
   %arrayidx = getelementptr inbounds float, float* %data, i64 %idxprom
-  %1 = load float* %arrayidx, align 4
+  %1 = load float, float* %arrayidx, align 4
   %mul = fmul float %1, %d
   %arrayidx2 = getelementptr inbounds float, float* %autoc, i64 %indvars.iv
-  %2 = load float* %arrayidx2, align 4
+  %2 = load float, float* %arrayidx2, align 4
   %add3 = fadd float %2, %mul
   store float %add3, float* %arrayidx2, align 4
   %indvars.iv.next = add i64 %indvars.iv, 1
diff --git a/llvm/test/Transforms/IndVarSimplify/use-range-metadata.ll b/llvm/test/Transforms/IndVarSimplify/use-range-metadata.ll
index ea3b12d..1f01426 100644
--- a/llvm/test/Transforms/IndVarSimplify/use-range-metadata.ll
+++ b/llvm/test/Transforms/IndVarSimplify/use-range-metadata.ll
@@ -6,7 +6,7 @@
 
 define i1 @iterate(i32* nocapture readonly %buffer) {
 entry:
-  %length = load i32* %buffer, !range !0
+  %length = load i32, i32* %buffer, !range !0
   br label %loop.preheader
 
 loop.preheader:
diff --git a/llvm/test/Transforms/IndVarSimplify/variable-stride-ivs-0.ll b/llvm/test/Transforms/IndVarSimplify/variable-stride-ivs-0.ll
index a622c01..5fa4a17 100644
--- a/llvm/test/Transforms/IndVarSimplify/variable-stride-ivs-0.ll
+++ b/llvm/test/Transforms/IndVarSimplify/variable-stride-ivs-0.ll
@@ -7,11 +7,11 @@
 define void @vnum_test8(i32* %data) {
 entry:
         %tmp.1 = getelementptr i32, i32* %data, i32 3                ; <i32*> [#uses=1]
-        %tmp.2 = load i32* %tmp.1               ; <i32> [#uses=2]
+        %tmp.2 = load i32, i32* %tmp.1               ; <i32> [#uses=2]
         %tmp.4 = getelementptr i32, i32* %data, i32 4                ; <i32*> [#uses=1]
-        %tmp.5 = load i32* %tmp.4               ; <i32> [#uses=2]
+        %tmp.5 = load i32, i32* %tmp.4               ; <i32> [#uses=2]
         %tmp.8 = getelementptr i32, i32* %data, i32 2                ; <i32*> [#uses=1]
-        %tmp.9 = load i32* %tmp.8               ; <i32> [#uses=3]
+        %tmp.9 = load i32, i32* %tmp.8               ; <i32> [#uses=3]
         %tmp.125 = icmp sgt i32 %tmp.2, 0               ; <i1> [#uses=1]
         br i1 %tmp.125, label %no_exit.preheader, label %return
 
diff --git a/llvm/test/Transforms/IndVarSimplify/verify-scev.ll b/llvm/test/Transforms/IndVarSimplify/verify-scev.ll
index b9ce3d6..ddf2e7f 100644
--- a/llvm/test/Transforms/IndVarSimplify/verify-scev.ll
+++ b/llvm/test/Transforms/IndVarSimplify/verify-scev.ll
@@ -175,7 +175,7 @@
   br i1 undef, label %if.end256, label %for.end562
 
 if.end256:                                        ; preds = %if.end250
-  %0 = load i32* undef, align 4
+  %0 = load i32, i32* undef, align 4
   br i1 undef, label %if.then274, label %for.cond404.preheader
 
 for.cond404.preheader:                            ; preds = %if.end256
@@ -379,7 +379,7 @@
   br i1 undef, label %for.inc221, label %for.body65.lr.ph
 
 for.body65.lr.ph:                                 ; preds = %for.body48
-  %0 = load i32* undef, align 4
+  %0 = load i32, i32* undef, align 4
   %1 = sext i32 %0 to i64
   br label %for.body65.us
 
diff --git a/llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll b/llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll
index 414cae4..6be2238 100644
--- a/llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll
+++ b/llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll
@@ -19,13 +19,13 @@
 define i32 @test1() {
 entry:
   store i32 -1, i32* @idx, align 4
-  %0 = load i32* @e, align 4
+  %0 = load i32, i32* @e, align 4
   %cmp4 = icmp slt i32 %0, 0
   br i1 %cmp4, label %for.end.loopexit, label %for.body.lr.ph
 
 for.body.lr.ph:
-  %1 = load i32** @ptr, align 8
-  %2 = load i32* @e, align 4
+  %1 = load i32*, i32** @ptr, align 8
+  %2 = load i32, i32* @e, align 4
   br label %for.body
 
 for.cond:
@@ -37,7 +37,7 @@
   %i.05 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.cond ]
   %idxprom = sext i32 %i.05 to i64
   %arrayidx = getelementptr inbounds i32, i32* %1, i64 %idxprom
-  %3 = load i32* %arrayidx, align 4
+  %3 = load i32, i32* %arrayidx, align 4
   %tobool = icmp eq i32 %3, 0
   br i1 %tobool, label %if.then, label %for.cond
 
@@ -53,7 +53,7 @@
   br label %for.end
 
 for.end:
-  %4 = load i32* @idx, align 4
+  %4 = load i32, i32* @idx, align 4
   ret i32 %4
 }
 
@@ -82,10 +82,10 @@
   %storemerge14.us = phi i32 [ 0, %for.body4.lr.ph.us ], [ %inc.us, %for.body4.us ]
   %idxprom.us = sext i32 %storemerge14.us to i64
   %arrayidx6.us = getelementptr inbounds [8 x i8], [8 x i8]* %a, i64 %idxprom5.us, i64 %idxprom.us
-  %0 = load i8* %arrayidx6.us, align 1
+  %0 = load i8, i8* %arrayidx6.us, align 1
   %idxprom7.us = zext i8 %0 to i64
   %arrayidx8.us = getelementptr inbounds i8, i8* %b, i64 %idxprom7.us
-  %1 = load i8* %arrayidx8.us, align 1
+  %1 = load i8, i8* %arrayidx8.us, align 1
   store i8 %1, i8* %arrayidx6.us, align 1
   %inc.us = add nsw i32 %storemerge14.us, 1
   %cmp2.us = icmp slt i32 %inc.us, %conv
@@ -127,7 +127,7 @@
 for.body:
   %idxprom = sext i32 %i.0 to i64
   %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom
-  %0 = load i32* %arrayidx, align 4
+  %0 = load i32, i32* %arrayidx, align 4
   %add = add nsw i32 %sum.0, %0
   %inc = add nsw i32 %i.0, 1
   br label %for.cond
@@ -181,7 +181,7 @@
 for.body:
   %idxprom = zext i32 %i.0 to i64
   %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom
-  %0 = load i32* %arrayidx, align 4
+  %0 = load i32, i32* %arrayidx, align 4
   %add = add nsw i32 %sum.0, %0
   %inc = add nsw i32 %i.0, 1
   br label %for.cond
diff --git a/llvm/test/Transforms/IndVarSimplify/widen-nsw.ll b/llvm/test/Transforms/IndVarSimplify/widen-nsw.ll
index 01aa6f9..8dbbb51 100644
--- a/llvm/test/Transforms/IndVarSimplify/widen-nsw.ll
+++ b/llvm/test/Transforms/IndVarSimplify/widen-nsw.ll
@@ -17,7 +17,7 @@
 for.body:                                         ; preds = %for.cond
   %idxprom = sext i32 %i.0 to i64
   %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom
-  %0 = load i32* %arrayidx, align 4
+  %0 = load i32, i32* %arrayidx, align 4
   %add = add nsw i32 %sum.0, %0
   %inc = add nsw i32 %i.0, 1
   br label %for.cond