Index: llvm/trunk/lib/AsmParser/LLParser.cpp =================================================================== --- llvm/trunk/lib/AsmParser/LLParser.cpp +++ llvm/trunk/lib/AsmParser/LLParser.cpp @@ -5241,7 +5241,11 @@ Lex.Lex(); } - if (ParseTypeAndValue(Val, Loc, PFS) || + Type *Ty = nullptr; + LocTy ExplicitTypeLoc = Lex.getLoc(); + if (ParseType(Ty) || + ParseToken(lltok::comma, "expected comma after load's type") || + ParseTypeAndValue(Val, Loc, PFS) || ParseScopeAndOrdering(isAtomic, Scope, Ordering) || ParseOptionalCommaAlign(Alignment, AteExtraComma)) return true; @@ -5254,6 +5258,10 @@ if (Ordering == Release || Ordering == AcquireRelease) return Error(Loc, "atomic load cannot use Release ordering"); + if (Ty != cast(Val->getType())->getElementType()) + return Error(ExplicitTypeLoc, + "explicit pointee type doesn't match operand's pointee type"); + Inst = new LoadInst(Val, "", isVolatile, Alignment, Ordering, Scope); return AteExtraComma ? InstExtraComma : InstNormal; } Index: llvm/trunk/lib/IR/AsmWriter.cpp =================================================================== --- llvm/trunk/lib/IR/AsmWriter.cpp +++ llvm/trunk/lib/IR/AsmWriter.cpp @@ -2898,10 +2898,14 @@ Out << ", "; TypePrinter.print(I.getType(), Out); } else if (Operand) { // Print the normal way. - if (const GetElementPtrInst *GEP = dyn_cast(&I)) { + if (const auto *GEP = dyn_cast(&I)) { Out << ' '; TypePrinter.print(GEP->getSourceElementType(), Out); Out << ','; + } else if (const auto *LI = dyn_cast(&I)) { + Out << ' '; + TypePrinter.print(LI->getType(), Out); + Out << ", "; } // PrintAllTypes - Instructions who have operands of all the same type Index: llvm/trunk/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll +++ llvm/trunk/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll @@ -5,15 +5,15 @@ ; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s define i32 @test() { -; CHECK: %Y.DONOTREMOVE = load i32* %A +; CHECK: %Y.DONOTREMOVE = load i32, i32* %A ; CHECK: %Z = sub i32 0, %Y.DONOTREMOVE %A = alloca i32 store i32 0, i32* %A - %X = load i32* %A + %X = load i32, i32* %A %B = bitcast i32* %A to i8* %C = getelementptr i8, i8* %B, i64 1 store i8 1, i8* %C ; Aliases %A - %Y.DONOTREMOVE = load i32* %A + %Y.DONOTREMOVE = load i32, i32* %A %Z = sub i32 %X, %Y.DONOTREMOVE ret i32 %Z } Index: llvm/trunk/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll +++ llvm/trunk/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll @@ -6,9 +6,9 @@ ; CHECK: sub i32 %X, %Y %P2 = getelementptr i32, i32* %Ptr, i64 1 %P1 = getelementptr i32, i32* %Ptr, i64 %V - %X = load i32* %P1 + %X = load i32, i32* %P1 store i32 5, i32* %P2 - %Y = load i32* %P1 + %Y = load i32, i32* %P1 %Z = sub i32 %X, %Y ret i32 %Z } Index: llvm/trunk/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll +++ llvm/trunk/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll @@ -7,7 +7,7 @@ loopentry: ; preds = %0, %no_exit %tmp.101 = getelementptr %struct..apr_table_t, %struct..apr_table_t* %t.1, i64 0, i32 0, i32 2 - %tmp.11 = load i32* %tmp.101 ; [#uses=0] + %tmp.11 = load i32, i32* %tmp.101 ; [#uses=0] br i1 false, label %no_exit, label %UnifiedExitNode no_exit: ; preds = %loopentry Index: llvm/trunk/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll +++ llvm/trunk/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll @@ -2,10 +2,10 @@ define i32 @MTConcat([3 x i32]* %a.1) { %tmp.961 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 0, i64 4 - %tmp.97 = load i32* %tmp.961 + %tmp.97 = load i32, i32* %tmp.961 %tmp.119 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 1, i64 0 - %tmp.120 = load i32* %tmp.119 + %tmp.120 = load i32, i32* %tmp.119 %tmp.1541 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 0, i64 4 - %tmp.155 = load i32* %tmp.1541 + %tmp.155 = load i32, i32* %tmp.1541 ret i32 0 } Index: llvm/trunk/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll +++ llvm/trunk/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll @@ -7,9 +7,9 @@ define i32 @test(i32* %P) { %X = alloca i32 - %V1 = load i32* %P + %V1 = load i32, i32* %P store i32 0, i32* %X - %V2 = load i32* %P + %V2 = load i32, i32* %P %Diff = sub i32 %V1, %V2 ret i32 %Diff } Index: llvm/trunk/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll +++ llvm/trunk/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll @@ -15,9 +15,9 @@ %tmp.6 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 0, i32 %i.0.0 ; [#uses=1] store i32 1, i32* %tmp.6 %tmp.8 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 0, i32 0 ; [#uses=1] - %tmp.9 = load i32* %tmp.8 ; [#uses=1] + %tmp.9 = load i32, i32* %tmp.8 ; [#uses=1] %tmp.11 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 1, i32 0 ; [#uses=1] - %tmp.12 = load i32* %tmp.11 ; [#uses=1] + %tmp.12 = load i32, i32* %tmp.11 ; [#uses=1] %tmp.13 = add i32 %tmp.12, %tmp.9 ; [#uses=1] %inc = add i32 %i.0.0, 1 ; [#uses=2] %tmp.2 = icmp slt i32 %inc, %N ; [#uses=1] Index: llvm/trunk/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll +++ llvm/trunk/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll @@ -23,12 +23,12 @@ define i32 @test(%struct.closure_type* %tmp18169) { %tmp18174 = getelementptr %struct.closure_type, %struct.closure_type* %tmp18169, i32 0, i32 4, i32 0, i32 0 ; [#uses=2] %tmp18269 = bitcast i32* %tmp18174 to %struct.STYLE* ; <%struct.STYLE*> [#uses=1] - %A = load i32* %tmp18174 ; [#uses=1] + %A = load i32, i32* %tmp18174 ; [#uses=1] %tmp18272 = getelementptr %struct.STYLE, %struct.STYLE* %tmp18269, i32 0, i32 0, i32 0, i32 2 ; [#uses=1] store i16 123, i16* %tmp18272 - %Q = load i32* %tmp18174 ; [#uses=1] + %Q = load i32, i32* %tmp18174 ; [#uses=1] %Z = sub i32 %A, %Q ; [#uses=1] ret i32 %Z } Index: llvm/trunk/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll +++ llvm/trunk/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll @@ -5,10 +5,10 @@ define i32 @test(i32* %P, i16* %Q) { ; CHECK: ret i32 0 - %A = load i16* %Q ; [#uses=1] - %x = load i32* %P ; [#uses=1] + %A = load i16, i16* %Q ; [#uses=1] + %x = load i32, i32* %P ; [#uses=1] %B = call i16 @llvm.cttz.i16( i16 %A, i1 true ) ; [#uses=1] - %y = load i32* %P ; [#uses=1] + %y = load i32, i32* %P ; [#uses=1] store i16 %B, i16* %Q %z = sub i32 %x, %y ; [#uses=1] ret i32 %z Index: llvm/trunk/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll +++ llvm/trunk/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll @@ -11,6 +11,6 @@ store i32 1, i32* getelementptr (%struct.B* @a, i32 0, i32 0, i32 0), align 8 %tmp4 = getelementptr %struct.A, %struct.A* %b, i32 0, i32 0 ; [#uses=1] store i32 0, i32* %tmp4, align 4 - %tmp7 = load i32* getelementptr (%struct.B* @a, i32 0, i32 0, i32 0), align 8 ; [#uses=1] + %tmp7 = load i32, i32* getelementptr (%struct.B* @a, i32 0, i32 0, i32 0), align 8 ; [#uses=1] ret i32 %tmp7 } Index: llvm/trunk/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll +++ llvm/trunk/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll @@ -17,7 +17,7 @@ %tmp17 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 2, i64 1 ; [#uses=1] %tmp1718 = bitcast i64* %tmp17 to i32* ; [#uses=1] - %tmp19 = load i32* %tmp1718, align 4 ; [#uses=0] + %tmp19 = load i32, i32* %tmp1718, align 4 ; [#uses=0] br i1 false, label %cond_true34, label %done_okay cond_true34: ; preds = %entry @@ -25,7 +25,7 @@ 2305843009213693950 ; [#uses=1] %tmp70 = bitcast i64* %tmp631 to %struct.device** - %tmp71 = load %struct.device** %tmp70, align 8 + %tmp71 = load %struct.device*, %struct.device** %tmp70, align 8 ret i32 undef Index: llvm/trunk/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll +++ llvm/trunk/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll @@ -14,7 +14,7 @@ define i32 @ehci_pci_setup(%struct.usb_hcd* %hcd) { entry: %tmp14 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 0, i32 0 ; <%struct.device**> [#uses=1] - %tmp15 = load %struct.device** %tmp14, align 8 ; <%struct.device*> [#uses=0] + %tmp15 = load %struct.device*, %struct.device** %tmp14, align 8 ; <%struct.device*> [#uses=0] br i1 false, label %bb25, label %return bb25: ; preds = %entry @@ -23,7 +23,7 @@ cond_true: ; preds = %bb25 %tmp601 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 1, i64 2305843009213693951 ; [#uses=1] %tmp67 = bitcast i64* %tmp601 to %struct.device** ; <%struct.device**> [#uses=1] - %tmp68 = load %struct.device** %tmp67, align 8 ; <%struct.device*> [#uses=0] + %tmp68 = load %struct.device*, %struct.device** %tmp67, align 8 ; <%struct.device*> [#uses=0] ret i32 undef return: ; preds = %bb25, %entry Index: llvm/trunk/test/Analysis/BasicAA/2008-06-02-GEPTailCrash.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2008-06-02-GEPTailCrash.ll +++ llvm/trunk/test/Analysis/BasicAA/2008-06-02-GEPTailCrash.ll @@ -10,6 +10,6 @@ define void @test291() nounwind { entry: store i32 1138410269, i32* getelementptr ([5 x %struct.S291]* @a291, i32 0, i32 2, i32 1) - %tmp54 = load i32* bitcast (%struct.S291* getelementptr ([5 x %struct.S291]* @a291, i32 0, i32 2) to i32*), align 4 ; [#uses=0] + %tmp54 = load i32, i32* bitcast (%struct.S291* getelementptr ([5 x %struct.S291]* @a291, i32 0, i32 2) to i32*), align 4 ; [#uses=0] unreachable } Index: llvm/trunk/test/Analysis/BasicAA/2008-11-23-NoaliasRet.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2008-11-23-NoaliasRet.ll +++ llvm/trunk/test/Analysis/BasicAA/2008-11-23-NoaliasRet.ll @@ -9,6 +9,6 @@ %B = call i32* @_Znwj(i32 4) store i32 1, i32* %A store i32 2, i32* %B - %C = load i32* %A + %C = load i32, i32* %A ret i32 %C } Index: llvm/trunk/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll +++ llvm/trunk/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll @@ -3,12 +3,12 @@ declare noalias i32* @noalias() define i32 @test(i32 %x) { -; CHECK: load i32* %a +; CHECK: load i32, i32* %a %a = call i32* @noalias() store i32 1, i32* %a %b = getelementptr i32, i32* %a, i32 %x store i32 2, i32* %b - %c = load i32* %a + %c = load i32, i32* %a ret i32 %c } Index: llvm/trunk/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll +++ llvm/trunk/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll @@ -5,9 +5,9 @@ %P = getelementptr i8, i8* %ptr, i32 0 %Q = getelementptr i8, i8* %ptr, i32 1 ; CHECK: getelementptr - %X = load i8* %P + %X = load i8, i8* %P %Y = atomicrmw add i8* %Q, i8 1 monotonic - %Z = load i8* %P + %Z = load i8, i8* %P ; CHECK-NOT: = load %A = sub i8 %X, %Z ret i8 %A Index: llvm/trunk/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll +++ llvm/trunk/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll @@ -23,9 +23,9 @@ bb2: %P = phi i32* [ %b, %bb ], [ @Y, %bb1 ] - %tmp1 = load i32* @Z, align 4 + %tmp1 = load i32, i32* @Z, align 4 store i32 123, i32* %P, align 4 - %tmp2 = load i32* @Z, align 4 + %tmp2 = load i32, i32* @Z, align 4 br label %return return: Index: llvm/trunk/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll +++ llvm/trunk/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll @@ -9,9 +9,9 @@ %tmp31 = mul i32 %indvar, -2 %tmp32 = add i32 %tmp31, 30 %t.5 = getelementptr i32, i32* %tab, i32 %tmp32 - %loada = load i32* %tab + %loada = load i32, i32* %tab store i32 0, i32* %t.5 - %loadb = load i32* %tab + %loadb = load i32, i32* %tab %rval = add i32 %loada, %loadb ret i32 %rval } Index: llvm/trunk/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll +++ llvm/trunk/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll @@ -30,7 +30,7 @@ store i8 0, i8* %10 %11 = getelementptr inbounds i8, i8* %10, i32 -1 store i8 0, i8* %11 - %12 = load i32* %1, align 4 + %12 = load i32, i32* %1, align 4 ret i32 %12 ; CHECK: ret i32 %12 } Index: llvm/trunk/test/Analysis/BasicAA/aligned-overread.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/aligned-overread.ll +++ llvm/trunk/test/Analysis/BasicAA/aligned-overread.ll @@ -9,10 +9,10 @@ define i32 @main() nounwind uwtable ssp { entry: - %tmp = load i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 + %tmp = load i8, i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 %tmp1 = or i8 %tmp, -128 store i8 %tmp1, i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 - %tmp2 = load i64* bitcast ({ i8, i8, i8, i8, i8 }* @a to i64*), align 8 + %tmp2 = load i64, i64* bitcast ({ i8, i8, i8, i8, i8 }* @a to i64*), align 8 store i8 11, i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 %tmp3 = trunc i64 %tmp2 to i32 ret i32 %tmp3 Index: llvm/trunk/test/Analysis/BasicAA/args-rets-allocas-loads.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/args-rets-allocas-loads.ll +++ llvm/trunk/test/Analysis/BasicAA/args-rets-allocas-loads.ll @@ -22,8 +22,8 @@ %noalias_ret_a0 = call double* @noalias_returner() %noalias_ret_a1 = call double* @noalias_returner() - %loaded_a0 = load double** %indirect_a0 - %loaded_a1 = load double** %indirect_a1 + %loaded_a0 = load double*, double** %indirect_a0 + %loaded_a1 = load double*, double** %indirect_a1 call void @callee(double* %escape_alloca_a0) call void @callee(double* %escape_alloca_a1) Index: llvm/trunk/test/Analysis/BasicAA/byval.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/byval.ll +++ llvm/trunk/test/Analysis/BasicAA/byval.ll @@ -10,7 +10,7 @@ %tmp2 = getelementptr %struct.x, %struct.x* %a, i32 0, i32 0 ; [#uses=2] store i32 1, i32* %tmp2, align 4 store i32 2, i32* @g, align 4 - %tmp4 = load i32* %tmp2, align 4 ; [#uses=1] + %tmp4 = load i32, i32* %tmp2, align 4 ; [#uses=1] ret i32 %tmp4 } Index: llvm/trunk/test/Analysis/BasicAA/cas.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/cas.ll +++ llvm/trunk/test/Analysis/BasicAA/cas.ll @@ -6,9 +6,9 @@ ; CHECK: ret i32 0 define i32 @main() { - %a = load i32* @flag0 + %a = load i32, i32* @flag0 %b = atomicrmw xchg i32* @turn, i32 1 monotonic - %c = load i32* @flag0 + %c = load i32, i32* @flag0 %d = sub i32 %a, %c ret i32 %d } Index: llvm/trunk/test/Analysis/BasicAA/dag.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/dag.ll +++ llvm/trunk/test/Analysis/BasicAA/dag.ll @@ -36,6 +36,6 @@ %bigbase = bitcast i8* %base to i16* store i16 -1, i16* %bigbase - %loaded = load i8* %phi + %loaded = load i8, i8* %phi ret i8 %loaded } Index: llvm/trunk/test/Analysis/BasicAA/featuretest.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/featuretest.ll +++ llvm/trunk/test/Analysis/BasicAA/featuretest.ll @@ -19,12 +19,12 @@ call void @external(i32* %Array2) %pointer = getelementptr i32, i32* %Array1, i64 %A - %val = load i32* %pointer + %val = load i32, i32* %pointer %pointer2 = getelementptr i32, i32* %Array2, i64 %B store i32 7, i32* %pointer2 - %REMOVE = load i32* %pointer ; redundant with above load + %REMOVE = load i32, i32* %pointer ; redundant with above load %retval = sub i32 %REMOVE, %val ret i32 %retval ; CHECK: @different_array_test @@ -41,9 +41,9 @@ %P1 = getelementptr i32, i32* %Array, i64 7 %P2 = getelementptr i32, i32* %Array, i64 6 - %A = load i32* %P1 + %A = load i32, i32* %P1 store i32 1, i32* %P2 ; Should not invalidate load - %BREMOVE = load i32* %P1 + %BREMOVE = load i32, i32* %P1 %Val = sub i32 %A, %BREMOVE ret i32 %Val ; CHECK: @constant_array_index_test @@ -53,10 +53,10 @@ ; Test that if two pointers are spaced out by a constant getelementptr, that ; they cannot alias. define i32 @gep_distance_test(i32* %A) { - %REMOVEu = load i32* %A + %REMOVEu = load i32, i32* %A %B = getelementptr i32, i32* %A, i64 2 ; Cannot alias A store i32 7, i32* %B - %REMOVEv = load i32* %A + %REMOVEv = load i32, i32* %A %r = sub i32 %REMOVEu, %REMOVEv ret i32 %r ; CHECK: @gep_distance_test @@ -67,10 +67,10 @@ ; cannot alias, even if there is a variable offset between them... define i32 @gep_distance_test2({i32,i32}* %A, i64 %distance) { %A1 = getelementptr {i32,i32}, {i32,i32}* %A, i64 0, i32 0 - %REMOVEu = load i32* %A1 + %REMOVEu = load i32, i32* %A1 %B = getelementptr {i32,i32}, {i32,i32}* %A, i64 %distance, i32 1 store i32 7, i32* %B ; B cannot alias A, it's at least 4 bytes away - %REMOVEv = load i32* %A1 + %REMOVEv = load i32, i32* %A1 %r = sub i32 %REMOVEu, %REMOVEv ret i32 %r ; CHECK: @gep_distance_test2 @@ -80,11 +80,11 @@ ; Test that we can do funny pointer things and that distance calc will still ; work. define i32 @gep_distance_test3(i32 * %A) { - %X = load i32* %A + %X = load i32, i32* %A %B = bitcast i32* %A to i8* %C = getelementptr i8, i8* %B, i64 4 store i8 42, i8* %C - %Y = load i32* %A + %Y = load i32, i32* %A %R = sub i32 %X, %Y ret i32 %R ; CHECK: @gep_distance_test3 @@ -96,9 +96,9 @@ %X = alloca i32 call void @external(i32* %X) - %Y = load i32* %X + %Y = load i32, i32* %X store i32 5, i32* getelementptr ({ i32 }* @Global, i64 0, i32 0) - %REMOVE = load i32* %X + %REMOVE = load i32, i32* %X %retval = sub i32 %Y, %REMOVE ret i32 %retval ; CHECK: @constexpr_test @@ -113,12 +113,12 @@ entry: %sum5.cast = zext i5 %j to i64 ; [#uses=1] %P1 = getelementptr i16, i16* %row2col, i64 %sum5.cast - %row2col.load.1.2 = load i16* %P1, align 1 ; [#uses=1] + %row2col.load.1.2 = load i16, i16* %P1, align 1 ; [#uses=1] %sum13.cast31 = sext i5 %j to i6 ; [#uses=1] %sum13.cast = zext i6 %sum13.cast31 to i64 ; [#uses=1] %P2 = getelementptr i16, i16* %row2col, i64 %sum13.cast - %row2col.load.1.6 = load i16* %P2, align 1 ; [#uses=1] + %row2col.load.1.6 = load i16, i16* %P2, align 1 ; [#uses=1] %.ret = sub i16 %row2col.load.1.6, %row2col.load.1.2 ; [#uses=1] ret i16 %.ret Index: llvm/trunk/test/Analysis/BasicAA/full-store-partial-alias.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/full-store-partial-alias.ll +++ llvm/trunk/test/Analysis/BasicAA/full-store-partial-alias.ll @@ -20,11 +20,11 @@ %u = alloca %union.anon, align 8 %tmp9 = getelementptr inbounds %union.anon, %union.anon* %u, i64 0, i32 0 store double %x, double* %tmp9, align 8, !tbaa !0 - %tmp2 = load i32* bitcast (i64* @endianness_test to i32*), align 8, !tbaa !3 + %tmp2 = load i32, i32* bitcast (i64* @endianness_test to i32*), align 8, !tbaa !3 %idxprom = sext i32 %tmp2 to i64 %tmp4 = bitcast %union.anon* %u to [2 x i32]* %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %tmp4, i64 0, i64 %idxprom - %tmp5 = load i32* %arrayidx, align 4, !tbaa !3 + %tmp5 = load i32, i32* %arrayidx, align 4, !tbaa !3 %tmp5.lobit = lshr i32 %tmp5, 31 ret i32 %tmp5.lobit } Index: llvm/trunk/test/Analysis/BasicAA/gcsetest.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/gcsetest.ll +++ llvm/trunk/test/Analysis/BasicAA/gcsetest.ll @@ -12,11 +12,11 @@ ; CHECK-NEXT: ret i32 0 define i32 @test() { - %A1 = load i32* @A + %A1 = load i32, i32* @A store i32 123, i32* @B ; Store cannot alias @A - %A2 = load i32* @A + %A2 = load i32, i32* @A %X = sub i32 %A1, %A2 ret i32 %X } @@ -30,13 +30,13 @@ ; CHECK-NEXT: ret i32 0 define i32 @test2() { - %A1 = load i32* @A + %A1 = load i32, i32* @A br label %Loop Loop: %AP = phi i32 [0, %0], [%X, %Loop] store i32 %AP, i32* @B ; Store cannot alias @A - %A2 = load i32* @A + %A2 = load i32, i32* @A %X = sub i32 %A1, %A2 %c = icmp eq i32 %X, 0 br i1 %c, label %out, label %Loop @@ -55,7 +55,7 @@ %X = alloca i32 store i32 7, i32* %X call void @external() - %V = load i32* %X + %V = load i32, i32* %X ret i32 %V } Index: llvm/trunk/test/Analysis/BasicAA/gep-alias.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/gep-alias.ll +++ llvm/trunk/test/Analysis/BasicAA/gep-alias.ll @@ -7,11 +7,11 @@ entry: %Q = bitcast i8* %P to {i32, i32}* %R = getelementptr {i32, i32}, {i32, i32}* %Q, i32 0, i32 1 - %S = load i32* %R + %S = load i32, i32* %R %q = bitcast i8* %P to {i32, i32}* %r = getelementptr {i32, i32}, {i32, i32}* %q, i32 0, i32 1 - %s = load i32* %r + %s = load i32, i32* %r %t = sub i32 %S, %s ret i32 %t @@ -23,12 +23,12 @@ entry: %Q = bitcast i8* %P to {i32, i32, i32}* %R = getelementptr {i32, i32, i32}, {i32, i32, i32}* %Q, i32 0, i32 1 - %S = load i32* %R + %S = load i32, i32* %R %r = getelementptr {i32, i32, i32}, {i32, i32, i32}* %Q, i32 0, i32 2 store i32 42, i32* %r - %s = load i32* %R + %s = load i32, i32* %R %t = sub i32 %S, %s ret i32 %t @@ -42,12 +42,12 @@ entry: %P2 = getelementptr {float, {i32, i32, i32}}, {float, {i32, i32, i32}}* %P, i32 0, i32 1 %R = getelementptr {i32, i32, i32}, {i32, i32, i32}* %P2, i32 0, i32 1 - %S = load i32* %R + %S = load i32, i32* %R %r = getelementptr {i32, i32, i32}, {i32, i32, i32}* %P2, i32 0, i32 2 store i32 42, i32* %r - %s = load i32* %R + %s = load i32, i32* %R %t = sub i32 %S, %s ret i32 %t @@ -66,7 +66,7 @@ store i32 64, i32* %tmp2, align 8 %tmp3 = getelementptr inbounds %SmallPtrSet64, %SmallPtrSet64* %P, i64 0, i32 0, i32 4, i64 64 store i8* null, i8** %tmp3, align 8 - %tmp4 = load i32* %tmp2, align 8 + %tmp4 = load i32, i32* %tmp2, align 8 ret i32 %tmp4 ; CHECK-LABEL: @test4( ; CHECK: ret i32 64 @@ -77,9 +77,9 @@ %pi = getelementptr i32, i32* %p, i64 %i %i.next = add i64 %i, 1 %pi.next = getelementptr i32, i32* %p, i64 %i.next - %x = load i32* %pi + %x = load i32, i32* %pi store i32 42, i32* %pi.next - %y = load i32* %pi + %y = load i32, i32* %pi %z = sub i32 %x, %y ret i32 %z ; CHECK-LABEL: @test5( @@ -90,9 +90,9 @@ %pi = getelementptr i32, i32 addrspace(1)* %p, i8 %i %i.next = add i8 %i, 1 %pi.next = getelementptr i32, i32 addrspace(1)* %p, i8 %i.next - %x = load i32 addrspace(1)* %pi + %x = load i32, i32 addrspace(1)* %pi store i32 42, i32 addrspace(1)* %pi.next - %y = load i32 addrspace(1)* %pi + %y = load i32, i32 addrspace(1)* %pi %z = sub i32 %x, %y ret i32 %z ; CHECK-LABEL: @test5_as1_smaller_size( @@ -104,9 +104,9 @@ %pi = getelementptr i32, i32 addrspace(1)* %p, i16 %i %i.next = add i16 %i, 1 %pi.next = getelementptr i32, i32 addrspace(1)* %p, i16 %i.next - %x = load i32 addrspace(1)* %pi + %x = load i32, i32 addrspace(1)* %pi store i32 42, i32 addrspace(1)* %pi.next - %y = load i32 addrspace(1)* %pi + %y = load i32, i32 addrspace(1)* %pi %z = sub i32 %x, %y ret i32 %z ; CHECK-LABEL: @test5_as1_same_size( @@ -119,9 +119,9 @@ %pi = getelementptr i32, i32* %p, i64 %i %i.next = or i64 %i, 1 %pi.next = getelementptr i32, i32* %p, i64 %i.next - %x = load i32* %pi + %x = load i32, i32* %pi store i32 42, i32* %pi.next - %y = load i32* %pi + %y = load i32, i32* %pi %z = sub i32 %x, %y ret i32 %z ; CHECK-LABEL: @test6( @@ -133,9 +133,9 @@ %pi = getelementptr i32, i32* %p, i64 1 %i.next = shl i64 %i, 2 %pi.next = getelementptr i32, i32* %p, i64 %i.next - %x = load i32* %pi + %x = load i32, i32* %pi store i32 42, i32* %pi.next - %y = load i32* %pi + %y = load i32, i32* %pi %z = sub i32 %x, %y ret i32 %z ; CHECK-LABEL: @test7( @@ -150,9 +150,9 @@ %i.next = add i16 %i, 1 %i.next2 = zext i16 %i.next to i32 %pi.next = getelementptr i32, i32* %p, i32 %i.next2 - %x = load i32* %pi + %x = load i32, i32* %pi store i32 42, i32* %pi.next - %y = load i32* %pi + %y = load i32, i32* %pi %z = sub i32 %x, %y ret i32 %z ; CHECK-LABEL: @test8( @@ -170,9 +170,9 @@ ; P4 = P + 4*j %P4 = getelementptr [4 x i8], [4 x i8]* %P, i32 0, i32 %j2 - %x = load i8* %P2 + %x = load i8, i8* %P2 store i8 42, i8* %P4 - %y = load i8* %P2 + %y = load i8, i8* %P2 %z = sub i8 %x, %y ret i8 %z ; CHECK-LABEL: @test9( @@ -188,9 +188,9 @@ ; P4 = P + 4*i %P4 = getelementptr [4 x i8], [4 x i8]* %P, i32 0, i32 %i2 - %x = load i8* %P2 + %x = load i8, i8* %P2 store i8 42, i8* %P4 - %y = load i8* %P2 + %y = load i8, i8* %P2 %z = sub i8 %x, %y ret i8 %z ; CHECK-LABEL: @test10( @@ -207,7 +207,7 @@ %y29 = getelementptr inbounds [2 x float], [2 x float]* %arrayidx28, i32 0, i32 1 store float 1.0, float* %y29, align 4 store i64 0, i64* %scevgep35, align 4 - %tmp30 = load float* %y29, align 4 + %tmp30 = load float, float* %y29, align 4 ret float %tmp30 ; CHECK-LABEL: @test11( ; CHECK: ret float %tmp30 @@ -223,7 +223,7 @@ %castp = bitcast i8* %p to i32* store i32 1, i32* %castp store i32 0, i32* %castd - %r = load i32* %castp + %r = load i32, i32* %castp ret i32 %r ; CHECK-LABEL: @test12( ; CHECK: ret i32 %r Index: llvm/trunk/test/Analysis/BasicAA/global-size.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/global-size.ll +++ llvm/trunk/test/Analysis/BasicAA/global-size.ll @@ -8,9 +8,9 @@ ; CHECK-LABEL: @test1( define i16 @test1(i32* %P) { - %X = load i16* @B + %X = load i16, i16* @B store i32 7, i32* %P - %Y = load i16* @B + %Y = load i16, i16* @B %Z = sub i16 %Y, %X ret i16 %Z ; CHECK: ret i16 0 @@ -21,9 +21,9 @@ define i16 @test1_as1(i32 addrspace(1)* %P) { ; CHECK-LABEL: @test1_as1( ; CHECK: ret i16 0 - %X = load i16 addrspace(1)* @B_as1 + %X = load i16, i16 addrspace(1)* @B_as1 store i32 7, i32 addrspace(1)* %P - %Y = load i16 addrspace(1)* @B_as1 + %Y = load i16, i16 addrspace(1)* @B_as1 %Z = sub i16 %Y, %X ret i16 %Z } @@ -39,10 +39,10 @@ %tmp93 = add i32 %w.2, %indvar89 %arrayidx416 = getelementptr [0 x i8], [0 x i8]* @window, i32 0, i32 %tmp93 - %A = load i8* %arrayidx412, align 1 + %A = load i8, i8* %arrayidx412, align 1 store i8 4, i8* %arrayidx416, align 1 - %B = load i8* %arrayidx412, align 1 + %B = load i8, i8* %arrayidx412, align 1 %C = sub i8 %A, %B ret i8 %C Index: llvm/trunk/test/Analysis/BasicAA/invariant_load.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/invariant_load.ll +++ llvm/trunk/test/Analysis/BasicAA/invariant_load.ll @@ -10,15 +10,15 @@ define i32 @foo(i32* nocapture %p, i8* nocapture %q) { entry: - %0 = load i32* %p, align 4, !invariant.load !3 + %0 = load i32, i32* %p, align 4, !invariant.load !3 %conv = trunc i32 %0 to i8 store i8 %conv, i8* %q, align 1 - %1 = load i32* %p, align 4, !invariant.load !3 + %1 = load i32, i32* %p, align 4, !invariant.load !3 %add = add nsw i32 %1, 1 ret i32 %add ; CHECK: foo -; CHECK: %0 = load i32* %p +; CHECK: %0 = load i32, i32* %p ; CHECK: store i8 %conv, i8* %q, ; CHECK: %add = add nsw i32 %0, 1 } Index: llvm/trunk/test/Analysis/BasicAA/memset_pattern.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/memset_pattern.ll +++ llvm/trunk/test/Analysis/BasicAA/memset_pattern.ll @@ -13,7 +13,7 @@ store i32 1, i32* @z tail call void @memset_pattern16(i8* bitcast (i32* @y to i8*), i8* bitcast (i32* @x to i8*), i64 4) nounwind ; CHECK-NOT: load - %l = load i32* @z + %l = load i32, i32* @z ; CHECK: ret i32 1 ret i32 %l } Index: llvm/trunk/test/Analysis/BasicAA/modref.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/modref.ll +++ llvm/trunk/test/Analysis/BasicAA/modref.ll @@ -13,7 +13,7 @@ call void @llvm.memset.p0i8.i32(i8* %P, i8 0, i32 42, i32 1, i1 false) - %B = load i32* %A + %B = load i32, i32* %A ret i32 %B ; CHECK-LABEL: @test0 @@ -29,7 +29,7 @@ call void @llvm.memcpy.p0i8.p0i8.i8(i8* %A, i8* %B, i8 -1, i32 0, i1 false) - %C = load i8* %B + %C = load i8, i8* %B ret i8 %C ; CHECK: ret i8 2 } @@ -39,7 +39,7 @@ %P2 = getelementptr i8, i8* %P, i32 127 store i8 1, i8* %P2 ;; Not dead across memset call void @llvm.memset.p0i8.i8(i8* %P, i8 2, i8 127, i32 0, i1 false) - %A = load i8* %P2 + %A = load i8, i8* %P2 ret i8 %A ; CHECK: ret i8 1 } @@ -52,7 +52,7 @@ store i8 1, i8* %P2 ;; Dead, clobbered by memset. call void @llvm.memset.p0i8.i8(i8* %P, i8 2, i8 127, i32 0, i1 false) - %A = load i8* %P2 + %A = load i8, i8* %P2 ret i8 %A ; CHECK-NOT: load ; CHECK: ret i8 2 @@ -90,9 +90,9 @@ @G2 = external global [4000 x i32] define i32 @test4(i8* %P) { - %tmp = load i32* @G1 + %tmp = load i32, i32* @G1 call void @llvm.memset.p0i8.i32(i8* bitcast ([4000 x i32]* @G2 to i8*), i8 0, i32 4000, i32 1, i1 false) - %tmp2 = load i32* @G1 + %tmp2 = load i32, i32* @G1 %sub = sub i32 %tmp2, %tmp ret i32 %sub ; CHECK-LABEL: @test4 @@ -105,9 +105,9 @@ ; Verify that basicaa is handling variable length memcpy, knowing it doesn't ; write to G1. define i32 @test5(i8* %P, i32 %Len) { - %tmp = load i32* @G1 + %tmp = load i32, i32* @G1 call void @llvm.memcpy.p0i8.p0i8.i32(i8* bitcast ([4000 x i32]* @G2 to i8*), i8* bitcast (i32* @G1 to i8*), i32 %Len, i32 1, i1 false) - %tmp2 = load i32* @G1 + %tmp2 = load i32, i32* @G1 %sub = sub i32 %tmp2, %tmp ret i32 %sub ; CHECK: @test5 @@ -118,13 +118,13 @@ } define i8 @test6(i8* %p, i8* noalias %a) { - %x = load i8* %a + %x = load i8, i8* %a %t = va_arg i8* %p, float - %y = load i8* %a + %y = load i8, i8* %a %z = add i8 %x, %y ret i8 %z ; CHECK-LABEL: @test6 -; CHECK: load i8* %a +; CHECK: load i8, i8* %a ; CHECK-NOT: load ; CHECK: ret } @@ -137,12 +137,12 @@ store i32 0, i32* %x, align 4 %add.ptr = getelementptr inbounds i32, i32* %x, i64 1 call void @test7decl(i32* %add.ptr) - %tmp = load i32* %x, align 4 + %tmp = load i32, i32* %x, align 4 ret i32 %tmp ; CHECK-LABEL: @test7( ; CHECK: store i32 0 ; CHECK: call void @test7decl -; CHECK: load i32* +; CHECK: load i32, i32* } declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind Index: llvm/trunk/test/Analysis/BasicAA/must-and-partial.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/must-and-partial.ll +++ llvm/trunk/test/Analysis/BasicAA/must-and-partial.ll @@ -20,7 +20,7 @@ %bigbase0 = bitcast i8* %base to i16* store i16 -1, i16* %bigbase0 - %loaded = load i8* %phi + %loaded = load i8, i8* %phi ret i8 %loaded } @@ -34,6 +34,6 @@ %bigbase1 = bitcast i8* %base to i16* store i16 -1, i16* %bigbase1 - %loaded = load i8* %sel + %loaded = load i8, i8* %sel ret i8 %loaded } Index: llvm/trunk/test/Analysis/BasicAA/no-escape-call.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/no-escape-call.ll +++ llvm/trunk/test/Analysis/BasicAA/no-escape-call.ll @@ -12,9 +12,9 @@ store i8* %tmp2, i8** %tmp4, align 4 %tmp10 = getelementptr i8, i8* %tmp2, i32 10 ; [#uses=1] store i8 42, i8* %tmp10, align 1 - %tmp14 = load i8** %tmp4, align 4 ; [#uses=1] + %tmp14 = load i8*, i8** %tmp4, align 4 ; [#uses=1] %tmp16 = getelementptr i8, i8* %tmp14, i32 10 ; [#uses=1] - %tmp17 = load i8* %tmp16, align 1 ; [#uses=1] + %tmp17 = load i8, i8* %tmp16, align 1 ; [#uses=1] %tmp19 = icmp eq i8 %tmp17, 42 ; [#uses=1] ret i1 %tmp19 } Index: llvm/trunk/test/Analysis/BasicAA/noalias-bugs.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/noalias-bugs.ll +++ llvm/trunk/test/Analysis/BasicAA/noalias-bugs.ll @@ -27,7 +27,7 @@ ; CHECK; store i64 1 store i64 2, i64* %ptr.64, align 8 - %r = load i64* %either_ptr.64, align 8 + %r = load i64, i64* %either_ptr.64, align 8 store i64 1, i64* %ptr.64, align 8 ret i64 %r } Index: llvm/trunk/test/Analysis/BasicAA/noalias-param.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/noalias-param.ll +++ llvm/trunk/test/Analysis/BasicAA/noalias-param.ll @@ -6,7 +6,7 @@ entry: store i32 1, i32* %a %cap = call i32* @captures(i32* %a) nounwind readonly - %l = load i32* %b + %l = load i32, i32* %b ret void } @@ -16,7 +16,7 @@ entry: store i32 1, i32* %c %cap = call i32* @captures(i32* %c) nounwind readonly - %l = load i32* %d + %l = load i32, i32* %d ret void } Index: llvm/trunk/test/Analysis/BasicAA/nocapture.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/nocapture.ll +++ llvm/trunk/test/Analysis/BasicAA/nocapture.ll @@ -6,9 +6,9 @@ ; CHECK: ret i32 0 %P = alloca i32 %Q = call i32* @test(i32* %P) - %a = load i32* %P + %a = load i32, i32* %P store i32 4, i32* %Q ;; cannot clobber P since it is nocapture. - %b = load i32* %P + %b = load i32, i32* %P %c = sub i32 %a, %b ret i32 %c } @@ -19,7 +19,7 @@ ; CHECK: call void @test3 ; CHECK: store i32 0, i32* %p ; CHECK: store i32 1, i32* %x -; CHECK: %y = load i32* %p +; CHECK: %y = load i32, i32* %p ; CHECK: ret i32 %y entry: %q = alloca i32* @@ -27,10 +27,10 @@ ; attribute since the copy doesn't outlive the function. call void @test3(i32** %q, i32* %p) nounwind store i32 0, i32* %p - %x = load i32** %q + %x = load i32*, i32** %q ; This store might write to %p and so we can't eliminate the subsequent ; load store i32 1, i32* %x - %y = load i32* %p + %y = load i32, i32* %p ret i32 %y } Index: llvm/trunk/test/Analysis/BasicAA/phi-aa.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/phi-aa.ll +++ llvm/trunk/test/Analysis/BasicAA/phi-aa.ll @@ -25,9 +25,9 @@ bb2: %P = phi i32* [ @X, %bb ], [ @Y, %bb1 ] - %tmp1 = load i32* @Z, align 4 + %tmp1 = load i32, i32* @Z, align 4 store i32 123, i32* %P, align 4 - %tmp2 = load i32* @Z, align 4 + %tmp2 = load i32, i32* @Z, align 4 br label %return return: @@ -52,14 +52,14 @@ br i1 %targetBlock, label %for.body, label %bye for.body: - %1 = load i32* %jj7, align 4 + %1 = load i32, i32* %jj7, align 4 %idxprom4 = zext i32 %1 to i64 %arrayidx5 = getelementptr inbounds [100 x i32], [100 x i32]* %oa5, i64 0, i64 %idxprom4 - %2 = load i32* %arrayidx5, align 4 + %2 = load i32, i32* %arrayidx5, align 4 %sub6 = sub i32 %2, 6 store i32 %sub6, i32* %arrayidx5, align 4 ; %0 and %arrayidx5 can alias! It is not safe to DSE the above store. - %3 = load i32* %0, align 4 + %3 = load i32, i32* %0, align 4 store i32 %3, i32* %arrayidx5, align 4 %sub11 = add i32 %1, -1 %idxprom12 = zext i32 %sub11 to i64 @@ -68,7 +68,7 @@ br label %codeRepl bye: - %.reload = load i32* %jj7, align 4 + %.reload = load i32, i32* %jj7, align 4 ret i32 %.reload } Index: llvm/trunk/test/Analysis/BasicAA/phi-spec-order.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/phi-spec-order.ll +++ llvm/trunk/test/Analysis/BasicAA/phi-spec-order.ll @@ -24,20 +24,20 @@ %lsr.iv46 = bitcast [16000 x double]* %lsr.iv4 to <4 x double>* %lsr.iv12 = bitcast [16000 x double]* %lsr.iv1 to <4 x double>* %scevgep11 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 -2 - %i6 = load <4 x double>* %scevgep11, align 32 + %i6 = load <4 x double>, <4 x double>* %scevgep11, align 32 %add = fadd <4 x double> %i6, store <4 x double> %add, <4 x double>* %lsr.iv12, align 32 %scevgep10 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 -1 - %i7 = load <4 x double>* %scevgep10, align 32 + %i7 = load <4 x double>, <4 x double>* %scevgep10, align 32 %add.4 = fadd <4 x double> %i7, %scevgep9 = getelementptr <4 x double>, <4 x double>* %lsr.iv12, i64 1 store <4 x double> %add.4, <4 x double>* %scevgep9, align 32 - %i8 = load <4 x double>* %lsr.iv46, align 32 + %i8 = load <4 x double>, <4 x double>* %lsr.iv46, align 32 %add.8 = fadd <4 x double> %i8, %scevgep8 = getelementptr <4 x double>, <4 x double>* %lsr.iv12, i64 2 store <4 x double> %add.8, <4 x double>* %scevgep8, align 32 %scevgep7 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 1 - %i9 = load <4 x double>* %scevgep7, align 32 + %i9 = load <4 x double>, <4 x double>* %scevgep7, align 32 %add.12 = fadd <4 x double> %i9, %scevgep3 = getelementptr <4 x double>, <4 x double>* %lsr.iv12, i64 3 store <4 x double> %add.12, <4 x double>* %scevgep3, align 32 Index: llvm/trunk/test/Analysis/BasicAA/phi-speculation.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/phi-speculation.ll +++ llvm/trunk/test/Analysis/BasicAA/phi-speculation.ll @@ -17,10 +17,10 @@ %ptr2_phi = phi i32* [ %ptr2, %entry ], [ %ptr2_inc, %while.body ] %result.09 = phi i32 [ 0 , %entry ], [ %add, %while.body ] %dec = add nsw i32 %num, -1 - %0 = load i32* %ptr_phi, align 4 + %0 = load i32, i32* %ptr_phi, align 4 store i32 %0, i32* %ptr2_phi, align 4 - %1 = load i32* %coeff, align 4 - %2 = load i32* %ptr_phi, align 4 + %1 = load i32, i32* %coeff, align 4 + %2 = load i32, i32* %ptr_phi, align 4 %mul = mul nsw i32 %1, %2 %add = add nsw i32 %mul, %result.09 %tobool = icmp eq i32 %dec, 0 @@ -52,10 +52,10 @@ %ptr2_phi = phi i32* [ %ptr_outer_phi2, %outer.while.header ], [ %ptr2_inc, %while.body ] %result.09 = phi i32 [ 0 , %outer.while.header ], [ %add, %while.body ] %dec = add nsw i32 %num, -1 - %0 = load i32* %ptr_phi, align 4 + %0 = load i32, i32* %ptr_phi, align 4 store i32 %0, i32* %ptr2_phi, align 4 - %1 = load i32* %coeff, align 4 - %2 = load i32* %ptr_phi, align 4 + %1 = load i32, i32* %coeff, align 4 + %2 = load i32, i32* %ptr_phi, align 4 %mul = mul nsw i32 %1, %2 %add = add nsw i32 %mul, %result.09 %tobool = icmp eq i32 %dec, 0 Index: llvm/trunk/test/Analysis/BasicAA/pr18573.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/pr18573.ll +++ llvm/trunk/test/Analysis/BasicAA/pr18573.ll @@ -10,7 +10,7 @@ ; Function Attrs: nounwind define <8 x float> @foo1(i8* noalias readonly %arr.ptr, <8 x i32>* noalias readonly %vix.ptr, i8* noalias %t2.ptr) #1 { allocas: - %vix = load <8 x i32>* %vix.ptr, align 4 + %vix = load <8 x i32>, <8 x i32>* %vix.ptr, align 4 %t1.ptr = getelementptr i8, i8* %arr.ptr, i8 4 %v1 = tail call <8 x float> @llvm.x86.avx2.gather.d.ps.256(<8 x float> undef, i8* %arr.ptr, <8 x i32> %vix, <8 x float> , i8 1) #2 @@ -31,7 +31,7 @@ ; Function Attrs: nounwind define <8 x float> @foo2(i8* noalias readonly %arr.ptr, <8 x i32>* noalias readonly %vix.ptr, i8* noalias %t2.ptr) #1 { allocas: - %vix = load <8 x i32>* %vix.ptr, align 4 + %vix = load <8 x i32>, <8 x i32>* %vix.ptr, align 4 %t1.ptr = getelementptr i8, i8* %arr.ptr, i8 4 %v1 = tail call <8 x float> @llvm.x86.avx2.gather.d.ps.256(<8 x float> undef, i8* %arr.ptr, <8 x i32> %vix, <8 x float> , i8 1) #2 Index: llvm/trunk/test/Analysis/BasicAA/store-promote.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/store-promote.ll +++ llvm/trunk/test/Analysis/BasicAA/store-promote.ll @@ -10,11 +10,11 @@ @C = global [2 x i32] [ i32 4, i32 8 ] ; <[2 x i32]*> [#uses=2] define i32 @test1(i1 %c) { - %Atmp = load i32* @A ; [#uses=2] + %Atmp = load i32, i32* @A ; [#uses=2] br label %Loop Loop: ; preds = %Loop, %0 - %ToRemove = load i32* @A ; [#uses=1] + %ToRemove = load i32, i32* @A ; [#uses=1] store i32 %Atmp, i32* @B br i1 %c, label %Out, label %Loop @@ -24,7 +24,7 @@ ; The Loop block should be empty after the load/store are promoted. ; CHECK: @test1 -; CHECK: load i32* @A +; CHECK: load i32, i32* @A ; CHECK: Loop: ; CHECK-NEXT: br i1 %c, label %Out, label %Loop ; CHECK: Out: @@ -35,10 +35,10 @@ br label %Loop Loop: ; preds = %Loop, %0 - %AVal = load i32* @A ; [#uses=2] + %AVal = load i32, i32* @A ; [#uses=2] %C0 = getelementptr [2 x i32], [2 x i32]* @C, i64 0, i64 0 ; [#uses=1] store i32 %AVal, i32* %C0 - %BVal = load i32* @B ; [#uses=2] + %BVal = load i32, i32* @B ; [#uses=2] %C1 = getelementptr [2 x i32], [2 x i32]* @C, i64 0, i64 1 ; [#uses=1] store i32 %BVal, i32* %C1 br i1 %c, label %Out, label %Loop Index: llvm/trunk/test/Analysis/BasicAA/tailcall-modref.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/tailcall-modref.ll +++ llvm/trunk/test/Analysis/BasicAA/tailcall-modref.ll @@ -4,9 +4,9 @@ ; CHECK: ret i32 0 %A = alloca i32 ; [#uses=3] call void @foo( i32* %A ) - %X = load i32* %A ; [#uses=1] + %X = load i32, i32* %A ; [#uses=1] tail call void @bar( ) - %Y = load i32* %A ; [#uses=1] + %Y = load i32, i32* %A ; [#uses=1] %Z = sub i32 %X, %Y ; [#uses=1] ret i32 %Z } Index: llvm/trunk/test/Analysis/BasicAA/underlying-value.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/underlying-value.ll +++ llvm/trunk/test/Analysis/BasicAA/underlying-value.ll @@ -15,9 +15,9 @@ for.body5: ; preds = %for.cond2 %arrayidx = getelementptr inbounds [2 x i64], [2 x i64]* undef, i32 0, i64 0 - %tmp7 = load i64* %arrayidx, align 8 + %tmp7 = load i64, i64* %arrayidx, align 8 %arrayidx9 = getelementptr inbounds [2 x i64], [2 x i64]* undef, i32 0, i64 undef - %tmp10 = load i64* %arrayidx9, align 8 + %tmp10 = load i64, i64* %arrayidx9, align 8 br label %for.cond2 for.end22: ; preds = %for.cond Index: llvm/trunk/test/Analysis/BasicAA/zext.ll =================================================================== --- llvm/trunk/test/Analysis/BasicAA/zext.ll +++ llvm/trunk/test/Analysis/BasicAA/zext.ll @@ -112,7 +112,7 @@ define void @test_spec2006() { %h = alloca [1 x [2 x i32*]], align 16 - %d.val = load i32* @d, align 4 + %d.val = load i32, i32* @d, align 4 %d.promoted = sext i32 %d.val to i64 %1 = icmp slt i32 %d.val, 2 br i1 %1, label %.lr.ph, label %3 @@ -168,7 +168,7 @@ define void @test_modulo_analysis_with_global() { %h = alloca [1 x [2 x i32*]], align 16 - %b = load i32* @b, align 4 + %b = load i32, i32* @b, align 4 %b.promoted = sext i32 %b to i64 br label %for.loop Index: llvm/trunk/test/Analysis/BlockFrequencyInfo/basic.ll =================================================================== --- llvm/trunk/test/Analysis/BlockFrequencyInfo/basic.ll +++ llvm/trunk/test/Analysis/BlockFrequencyInfo/basic.ll @@ -13,7 +13,7 @@ %iv = phi i32 [ 0, %entry ], [ %next, %body ] %base = phi i32 [ 0, %entry ], [ %sum, %body ] %arrayidx = getelementptr inbounds i32, i32* %a, i32 %iv - %0 = load i32* %arrayidx + %0 = load i32, i32* %arrayidx %sum = add nsw i32 %0, %base %next = add i32 %iv, 1 %exitcond = icmp eq i32 %next, %i Index: llvm/trunk/test/Analysis/BranchProbabilityInfo/basic.ll =================================================================== --- llvm/trunk/test/Analysis/BranchProbabilityInfo/basic.ll +++ llvm/trunk/test/Analysis/BranchProbabilityInfo/basic.ll @@ -10,7 +10,7 @@ %iv = phi i32 [ 0, %entry ], [ %next, %body ] %base = phi i32 [ 0, %entry ], [ %sum, %body ] %arrayidx = getelementptr inbounds i32, i32* %a, i32 %iv - %0 = load i32* %arrayidx + %0 = load i32, i32* %arrayidx %sum = add nsw i32 %0, %base %next = add i32 %iv, 1 %exitcond = icmp eq i32 %next, %i @@ -154,7 +154,7 @@ entry: %gep1 = getelementptr i32, i32* %a, i32 1 - %val1 = load i32* %gep1 + %val1 = load i32, i32* %gep1 %cond1 = icmp ugt i32 %val1, 1 br i1 %cond1, label %then, label %else @@ -165,7 +165,7 @@ else: %gep2 = getelementptr i32, i32* %a, i32 2 - %val2 = load i32* %gep2 + %val2 = load i32, i32* %gep2 %val3 = call i32 @regular_function(i32 %val2) br label %exit Index: llvm/trunk/test/Analysis/BranchProbabilityInfo/loop.ll =================================================================== --- llvm/trunk/test/Analysis/BranchProbabilityInfo/loop.ll +++ llvm/trunk/test/Analysis/BranchProbabilityInfo/loop.ll @@ -88,7 +88,7 @@ do.body: %i.0 = phi i32 [ 0, %entry ], [ %inc4, %if.end ] call void @g1() - %0 = load i32* %c, align 4 + %0 = load i32, i32* %c, align 4 %cmp = icmp slt i32 %0, 42 br i1 %cmp, label %do.body1, label %if.end ; CHECK: edge do.body -> do.body1 probability is 16 / 32 = 50% @@ -124,7 +124,7 @@ do.body: %i.0 = phi i32 [ 0, %entry ], [ %inc4, %do.end ] call void @g1() - %0 = load i32* %c, align 4 + %0 = load i32, i32* %c, align 4 %cmp = icmp slt i32 %0, 42 br i1 %cmp, label %return, label %do.body1 ; CHECK: edge do.body -> return probability is 4 / 128 @@ -169,7 +169,7 @@ do.body1: %j.0 = phi i32 [ 0, %do.body ], [ %inc, %if.end ] - %0 = load i32* %c, align 4 + %0 = load i32, i32* %c, align 4 %cmp = icmp slt i32 %0, 42 br i1 %cmp, label %return, label %if.end ; CHECK: edge do.body1 -> return probability is 4 / 128 @@ -214,7 +214,7 @@ do.body1: %j.0 = phi i32 [ 0, %do.body ], [ %inc, %do.cond ] call void @g2() - %0 = load i32* %c, align 4 + %0 = load i32, i32* %c, align 4 %cmp = icmp slt i32 %0, 42 br i1 %cmp, label %return, label %do.cond ; CHECK: edge do.body1 -> return probability is 4 / 128 @@ -258,7 +258,7 @@ for.body: %i.011 = phi i32 [ 0, %for.body.lr.ph ], [ %inc6, %for.inc5 ] - %0 = load i32* %c, align 4 + %0 = load i32, i32* %c, align 4 %cmp1 = icmp eq i32 %0, %i.011 br i1 %cmp1, label %for.inc5, label %if.end ; CHECK: edge for.body -> for.inc5 probability is 16 / 32 = 50% @@ -319,21 +319,21 @@ for.body3: %j.017 = phi i32 [ 0, %for.body ], [ %inc, %for.inc ] - %0 = load i32* %c, align 4 + %0 = load i32, i32* %c, align 4 %cmp4 = icmp eq i32 %0, %j.017 br i1 %cmp4, label %for.inc, label %if.end ; CHECK: edge for.body3 -> for.inc probability is 16 / 32 = 50% ; CHECK: edge for.body3 -> if.end probability is 16 / 32 = 50% if.end: - %1 = load i32* %arrayidx5, align 4 + %1 = load i32, i32* %arrayidx5, align 4 %cmp6 = icmp eq i32 %1, %j.017 br i1 %cmp6, label %for.inc, label %if.end8 ; CHECK: edge if.end -> for.inc probability is 16 / 32 = 50% ; CHECK: edge if.end -> if.end8 probability is 16 / 32 = 50% if.end8: - %2 = load i32* %arrayidx9, align 4 + %2 = load i32, i32* %arrayidx9, align 4 %cmp10 = icmp eq i32 %2, %j.017 br i1 %cmp10, label %for.inc, label %if.end12 ; CHECK: edge if.end8 -> for.inc probability is 16 / 32 = 50% Index: llvm/trunk/test/Analysis/BranchProbabilityInfo/pr18705.ll =================================================================== --- llvm/trunk/test/Analysis/BranchProbabilityInfo/pr18705.ll +++ llvm/trunk/test/Analysis/BranchProbabilityInfo/pr18705.ll @@ -23,22 +23,22 @@ %c.addr.09 = phi i32* [ %c, %while.body.lr.ph ], [ %c.addr.1, %if.end ] %indvars.iv.next = add nsw i64 %indvars.iv, -1 %arrayidx = getelementptr inbounds float, float* %f0, i64 %indvars.iv.next - %1 = load float* %arrayidx, align 4 + %1 = load float, float* %arrayidx, align 4 %arrayidx2 = getelementptr inbounds float, float* %f1, i64 %indvars.iv.next - %2 = load float* %arrayidx2, align 4 + %2 = load float, float* %arrayidx2, align 4 %cmp = fcmp une float %1, %2 br i1 %cmp, label %if.then, label %if.else if.then: %incdec.ptr = getelementptr inbounds i32, i32* %b.addr.011, i64 1 - %3 = load i32* %b.addr.011, align 4 + %3 = load i32, i32* %b.addr.011, align 4 %add = add nsw i32 %3, 12 store i32 %add, i32* %b.addr.011, align 4 br label %if.end if.else: %incdec.ptr3 = getelementptr inbounds i32, i32* %c.addr.09, i64 1 - %4 = load i32* %c.addr.09, align 4 + %4 = load i32, i32* %c.addr.09, align 4 %sub = add nsw i32 %4, -13 store i32 %sub, i32* %c.addr.09, align 4 br label %if.end Index: llvm/trunk/test/Analysis/CFLAliasAnalysis/full-store-partial-alias.ll =================================================================== --- llvm/trunk/test/Analysis/CFLAliasAnalysis/full-store-partial-alias.ll +++ llvm/trunk/test/Analysis/CFLAliasAnalysis/full-store-partial-alias.ll @@ -22,11 +22,11 @@ %u = alloca %union.anon, align 8 %tmp9 = getelementptr inbounds %union.anon, %union.anon* %u, i64 0, i32 0 store double %x, double* %tmp9, align 8, !tbaa !0 - %tmp2 = load i32* bitcast (i64* @endianness_test to i32*), align 8, !tbaa !3 + %tmp2 = load i32, i32* bitcast (i64* @endianness_test to i32*), align 8, !tbaa !3 %idxprom = sext i32 %tmp2 to i64 %tmp4 = bitcast %union.anon* %u to [2 x i32]* %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %tmp4, i64 0, i64 %idxprom - %tmp5 = load i32* %arrayidx, align 4, !tbaa !3 + %tmp5 = load i32, i32* %arrayidx, align 4, !tbaa !3 %tmp5.lobit = lshr i32 %tmp5, 31 ret i32 %tmp5.lobit } Index: llvm/trunk/test/Analysis/CFLAliasAnalysis/gep-signed-arithmetic.ll =================================================================== --- llvm/trunk/test/Analysis/CFLAliasAnalysis/gep-signed-arithmetic.ll +++ llvm/trunk/test/Analysis/CFLAliasAnalysis/gep-signed-arithmetic.ll @@ -11,9 +11,9 @@ %tmp31 = mul i32 %indvar, -2 %tmp32 = add i32 %tmp31, 30 %t.5 = getelementptr i32, i32* %tab, i32 %tmp32 - %loada = load i32* %tab + %loada = load i32, i32* %tab store i32 0, i32* %t.5 - %loadb = load i32* %tab + %loadb = load i32, i32* %tab %rval = add i32 %loada, %loadb ret i32 %rval } Index: llvm/trunk/test/Analysis/CFLAliasAnalysis/multilevel-combine.ll =================================================================== --- llvm/trunk/test/Analysis/CFLAliasAnalysis/multilevel-combine.ll +++ llvm/trunk/test/Analysis/CFLAliasAnalysis/multilevel-combine.ll @@ -25,7 +25,7 @@ store %T* %MS, %T** %M - %AP = load %T** %M ; PartialAlias with %A, %B + %AP = load %T*, %T** %M ; PartialAlias with %A, %B ret void } Index: llvm/trunk/test/Analysis/CFLAliasAnalysis/multilevel.ll =================================================================== --- llvm/trunk/test/Analysis/CFLAliasAnalysis/multilevel.ll +++ llvm/trunk/test/Analysis/CFLAliasAnalysis/multilevel.ll @@ -23,8 +23,8 @@ store %T* %A, %T** %M store %T* %B, %T** %N - %AP = load %T** %M ; PartialAlias with %A - %BP = load %T** %N ; PartialAlias with %B + %AP = load %T*, %T** %M ; PartialAlias with %A + %BP = load %T*, %T** %N ; PartialAlias with %B ret void } Index: llvm/trunk/test/Analysis/CFLAliasAnalysis/must-and-partial.ll =================================================================== --- llvm/trunk/test/Analysis/CFLAliasAnalysis/must-and-partial.ll +++ llvm/trunk/test/Analysis/CFLAliasAnalysis/must-and-partial.ll @@ -21,7 +21,7 @@ %bigbase0 = bitcast i8* %base to i16* store i16 -1, i16* %bigbase0 - %loaded = load i8* %phi + %loaded = load i8, i8* %phi ret i8 %loaded } @@ -37,7 +37,7 @@ %bigbase1 = bitcast i8* %base to i16* store i16 -1, i16* %bigbase1 - %loaded = load i8* %sel + %loaded = load i8, i8* %sel ret i8 %loaded } @@ -46,9 +46,9 @@ ; CHECK: MayAlias: double* %A, double* %Index define void @testr2(double* nocapture readonly %A, double* nocapture readonly %Index) { %arrayidx22 = getelementptr inbounds double, double* %Index, i64 2 - %1 = load double* %arrayidx22 + %1 = load double, double* %arrayidx22 %arrayidx25 = getelementptr inbounds double, double* %A, i64 2 - %2 = load double* %arrayidx25 + %2 = load double, double* %arrayidx25 %mul26 = fmul double %1, %2 ret void } Index: llvm/trunk/test/Analysis/CostModel/AArch64/store.ll =================================================================== --- llvm/trunk/test/Analysis/CostModel/AArch64/store.ll +++ llvm/trunk/test/Analysis/CostModel/AArch64/store.ll @@ -14,9 +14,9 @@ ; CHECK: cost of 64 {{.*}} store store <4 x i8> undef, <4 x i8> * undef ; CHECK: cost of 16 {{.*}} load - load <2 x i8> * undef + load <2 x i8> , <2 x i8> * undef ; CHECK: cost of 64 {{.*}} load - load <4 x i8> * undef + load <4 x i8> , <4 x i8> * undef ret void } Index: llvm/trunk/test/Analysis/CostModel/ARM/insertelement.ll =================================================================== --- llvm/trunk/test/Analysis/CostModel/ARM/insertelement.ll +++ llvm/trunk/test/Analysis/CostModel/ARM/insertelement.ll @@ -10,8 +10,8 @@ ; CHECK: insertelement_i8 define void @insertelement_i8(%T_i8* %saddr, %T_i8v* %vaddr) { - %v0 = load %T_i8v* %vaddr - %v1 = load %T_i8* %saddr + %v0 = load %T_i8v, %T_i8v* %vaddr + %v1 = load %T_i8, %T_i8* %saddr ;CHECK: estimated cost of 3 for {{.*}} insertelement <8 x i8> %v2 = insertelement %T_i8v %v0, %T_i8 %v1, i32 1 store %T_i8v %v2, %T_i8v* %vaddr @@ -24,8 +24,8 @@ ; CHECK: insertelement_i16 define void @insertelement_i16(%T_i16* %saddr, %T_i16v* %vaddr) { - %v0 = load %T_i16v* %vaddr - %v1 = load %T_i16* %saddr + %v0 = load %T_i16v, %T_i16v* %vaddr + %v1 = load %T_i16, %T_i16* %saddr ;CHECK: estimated cost of 3 for {{.*}} insertelement <4 x i16> %v2 = insertelement %T_i16v %v0, %T_i16 %v1, i32 1 store %T_i16v %v2, %T_i16v* %vaddr @@ -37,8 +37,8 @@ ; CHECK: insertelement_i32 define void @insertelement_i32(%T_i32* %saddr, %T_i32v* %vaddr) { - %v0 = load %T_i32v* %vaddr - %v1 = load %T_i32* %saddr + %v0 = load %T_i32v, %T_i32v* %vaddr + %v1 = load %T_i32, %T_i32* %saddr ;CHECK: estimated cost of 3 for {{.*}} insertelement <2 x i32> %v2 = insertelement %T_i32v %v0, %T_i32 %v1, i32 1 store %T_i32v %v2, %T_i32v* %vaddr Index: llvm/trunk/test/Analysis/CostModel/PowerPC/load_store.ll =================================================================== --- llvm/trunk/test/Analysis/CostModel/PowerPC/load_store.ll +++ llvm/trunk/test/Analysis/CostModel/PowerPC/load_store.ll @@ -19,26 +19,26 @@ } define i32 @loads(i32 %arg) { ; CHECK: cost of 1 {{.*}} load - load i8* undef, align 4 + load i8, i8* undef, align 4 ; CHECK: cost of 1 {{.*}} load - load i16* undef, align 4 + load i16, i16* undef, align 4 ; CHECK: cost of 1 {{.*}} load - load i32* undef, align 4 + load i32, i32* undef, align 4 ; CHECK: cost of 2 {{.*}} load - load i64* undef, align 4 + load i64, i64* undef, align 4 ; CHECK: cost of 4 {{.*}} load - load i128* undef, align 4 + load i128, i128* undef, align 4 ; FIXME: There actually are sub-vector Altivec loads, and so we could handle ; this with a small expense, but we don't currently. ; CHECK: cost of 48 {{.*}} load - load <4 x i16>* undef, align 2 + load <4 x i16>, <4 x i16>* undef, align 2 ; CHECK: cost of 1 {{.*}} load - load <4 x i32>* undef, align 4 + load <4 x i32>, <4 x i32>* undef, align 4 ; CHECK: cost of 46 {{.*}} load - load <3 x float>* undef, align 1 + load <3 x float>, <3 x float>* undef, align 1 ret i32 undef } Index: llvm/trunk/test/Analysis/CostModel/X86/intrinsic-cost.ll =================================================================== --- llvm/trunk/test/Analysis/CostModel/X86/intrinsic-cost.ll +++ llvm/trunk/test/Analysis/CostModel/X86/intrinsic-cost.ll @@ -11,7 +11,7 @@ %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ] %0 = getelementptr inbounds float, float* %f, i64 %index %1 = bitcast float* %0 to <4 x float>* - %wide.load = load <4 x float>* %1, align 4 + %wide.load = load <4 x float>, <4 x float>* %1, align 4 %2 = call <4 x float> @llvm.ceil.v4f32(<4 x float> %wide.load) store <4 x float> %2, <4 x float>* %1, align 4 %index.next = add i64 %index, 4 @@ -39,7 +39,7 @@ %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ] %0 = getelementptr inbounds float, float* %f, i64 %index %1 = bitcast float* %0 to <4 x float>* - %wide.load = load <4 x float>* %1, align 4 + %wide.load = load <4 x float>, <4 x float>* %1, align 4 %2 = call <4 x float> @llvm.nearbyint.v4f32(<4 x float> %wide.load) store <4 x float> %2, <4 x float>* %1, align 4 %index.next = add i64 %index, 4 @@ -67,7 +67,7 @@ %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ] %0 = getelementptr inbounds float, float* %f, i64 %index %1 = bitcast float* %0 to <4 x float>* - %wide.load = load <4 x float>* %1, align 4 + %wide.load = load <4 x float>, <4 x float>* %1, align 4 %2 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %wide.load, <4 x float> %b, <4 x float> %c) store <4 x float> %2, <4 x float>* %1, align 4 %index.next = add i64 %index, 4 Index: llvm/trunk/test/Analysis/CostModel/X86/load_store.ll =================================================================== --- llvm/trunk/test/Analysis/CostModel/X86/load_store.ll +++ llvm/trunk/test/Analysis/CostModel/X86/load_store.ll @@ -34,49 +34,49 @@ } define i32 @loads(i32 %arg) { ;CHECK: cost of 1 {{.*}} load - load i8* undef, align 4 + load i8, i8* undef, align 4 ;CHECK: cost of 1 {{.*}} load - load i16* undef, align 4 + load i16, i16* undef, align 4 ;CHECK: cost of 1 {{.*}} load - load i32* undef, align 4 + load i32, i32* undef, align 4 ;CHECK: cost of 1 {{.*}} load - load i64* undef, align 4 + load i64, i64* undef, align 4 ;CHECK: cost of 2 {{.*}} load - load i128* undef, align 4 + load i128, i128* undef, align 4 ;CHECK: cost of 1 {{.*}} load - load <2 x i32>* undef, align 4 + load <2 x i32>, <2 x i32>* undef, align 4 ;CHECK: cost of 1 {{.*}} load - load <4 x i32>* undef, align 4 + load <4 x i32>, <4 x i32>* undef, align 4 ;CHECK: cost of 2 {{.*}} load - load <8 x i32>* undef, align 4 + load <8 x i32>, <8 x i32>* undef, align 4 ;CHECK: cost of 1 {{.*}} load - load <2 x i64>* undef, align 4 + load <2 x i64>, <2 x i64>* undef, align 4 ;CHECK: cost of 2 {{.*}} load - load <4 x i64>* undef, align 4 + load <4 x i64>, <4 x i64>* undef, align 4 ;CHECK: cost of 4 {{.*}} load - load <8 x i64>* undef, align 4 + load <8 x i64>, <8 x i64>* undef, align 4 ;CHECK: cost of 3 {{.*}} load - load <3 x float>* undef, align 4 + load <3 x float>, <3 x float>* undef, align 4 ;CHECK: cost of 3 {{.*}} load - load <3 x double>* undef, align 4 + load <3 x double>, <3 x double>* undef, align 4 ;CHECK: cost of 3 {{.*}} load - load <3 x i32>* undef, align 4 + load <3 x i32>, <3 x i32>* undef, align 4 ;CHECK: cost of 3 {{.*}} load - load <3 x i64>* undef, align 4 + load <3 x i64>, <3 x i64>* undef, align 4 ;CHECK: cost of 10 {{.*}} load - load <5 x i32>* undef, align 4 + load <5 x i32>, <5 x i32>* undef, align 4 ;CHECK: cost of 10 {{.*}} load - load <5 x i64>* undef, align 4 + load <5 x i64>, <5 x i64>* undef, align 4 ret i32 undef } Index: llvm/trunk/test/Analysis/CostModel/X86/loop_v2.ll =================================================================== --- llvm/trunk/test/Analysis/CostModel/X86/loop_v2.ll +++ llvm/trunk/test/Analysis/CostModel/X86/loop_v2.ll @@ -12,7 +12,7 @@ %vec.phi = phi <2 x i32> [ zeroinitializer, %vector.ph ], [ %12, %vector.body ] %0 = getelementptr inbounds i32, i32* %A, i64 %index %1 = bitcast i32* %0 to <2 x i32>* - %2 = load <2 x i32>* %1, align 4 + %2 = load <2 x i32>, <2 x i32>* %1, align 4 %3 = sext <2 x i32> %2 to <2 x i64> ;CHECK: cost of 1 {{.*}} extract %4 = extractelement <2 x i64> %3, i32 0 @@ -20,10 +20,10 @@ ;CHECK: cost of 1 {{.*}} extract %6 = extractelement <2 x i64> %3, i32 1 %7 = getelementptr inbounds i32, i32* %A, i64 %6 - %8 = load i32* %5, align 4 + %8 = load i32, i32* %5, align 4 ;CHECK: cost of 1 {{.*}} insert %9 = insertelement <2 x i32> undef, i32 %8, i32 0 - %10 = load i32* %7, align 4 + %10 = load i32, i32* %7, align 4 ;CHECK: cost of 1 {{.*}} insert %11 = insertelement <2 x i32> %9, i32 %10, i32 1 %12 = add nsw <2 x i32> %11, %vec.phi Index: llvm/trunk/test/Analysis/CostModel/X86/vectorized-loop.ll =================================================================== --- llvm/trunk/test/Analysis/CostModel/X86/vectorized-loop.ll +++ llvm/trunk/test/Analysis/CostModel/X86/vectorized-loop.ll @@ -29,13 +29,13 @@ ;CHECK: cost of 0 {{.*}} bitcast %5 = bitcast i32* %4 to <8 x i32>* ;CHECK: cost of 2 {{.*}} load - %6 = load <8 x i32>* %5, align 4 + %6 = load <8 x i32>, <8 x i32>* %5, align 4 ;CHECK: cost of 4 {{.*}} mul %7 = mul nsw <8 x i32> %6, %8 = getelementptr inbounds i32, i32* %A, i64 %index %9 = bitcast i32* %8 to <8 x i32>* ;CHECK: cost of 2 {{.*}} load - %10 = load <8 x i32>* %9, align 4 + %10 = load <8 x i32>, <8 x i32>* %9, align 4 ;CHECK: cost of 4 {{.*}} add %11 = add nsw <8 x i32> %10, %7 ;CHECK: cost of 2 {{.*}} store @@ -54,12 +54,12 @@ %13 = add nsw i64 %indvars.iv, 2 %arrayidx = getelementptr inbounds i32, i32* %B, i64 %13 ;CHECK: cost of 1 {{.*}} load - %14 = load i32* %arrayidx, align 4 + %14 = load i32, i32* %arrayidx, align 4 ;CHECK: cost of 1 {{.*}} mul %mul = mul nsw i32 %14, 5 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv ;CHECK: cost of 1 {{.*}} load - %15 = load i32* %arrayidx2, align 4 + %15 = load i32, i32* %arrayidx2, align 4 %add3 = add nsw i32 %15, %mul store i32 %add3, i32* %arrayidx2, align 4 %indvars.iv.next = add i64 %indvars.iv, 1 Index: llvm/trunk/test/Analysis/Delinearization/gcd_multiply_expr.ll =================================================================== --- llvm/trunk/test/Analysis/Delinearization/gcd_multiply_expr.ll +++ llvm/trunk/test/Analysis/Delinearization/gcd_multiply_expr.ll @@ -27,7 +27,7 @@ define i32 @fn2() { entry: - %.pr = load i32* @d, align 4 + %.pr = load i32, i32* @d, align 4 %phitmp = icmp eq i32 %.pr, 0 br label %for.cond @@ -36,11 +36,11 @@ br i1 %0, label %for.cond, label %for.cond2thread-pre-split.preheader.i for.cond2thread-pre-split.preheader.i: - %1 = load i32* @g, align 4 - %2 = load i32* @h, align 4 + %1 = load i32, i32* @g, align 4 + %2 = load i32, i32* @h, align 4 %mul = mul nsw i32 %2, %1 - %3 = load i8** @f, align 4 - %.pr.pre.i = load i32* @b, align 4 + %3 = load i8*, i8** @f, align 4 + %.pr.pre.i = load i32, i32* @b, align 4 br label %for.cond2thread-pre-split.i for.cond2thread-pre-split.i: @@ -65,56 +65,56 @@ %8 = phi i32 [ %inc.7.i, %for.body4.i ], [ %.pr.i, %for.body4.i.preheader ] %arrayidx.sum1 = add i32 %add.i, %8 %arrayidx.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum1 - %9 = load i8* %arrayidx.i, align 1 + %9 = load i8, i8* %arrayidx.i, align 1 %conv.i = sext i8 %9 to i32 store i32 %conv.i, i32* @c, align 4 %inc.i = add nsw i32 %8, 1 store i32 %inc.i, i32* @b, align 4 %arrayidx.sum2 = add i32 %add.i, %inc.i %arrayidx.1.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum2 - %10 = load i8* %arrayidx.1.i, align 1 + %10 = load i8, i8* %arrayidx.1.i, align 1 %conv.1.i = sext i8 %10 to i32 store i32 %conv.1.i, i32* @c, align 4 %inc.1.i = add nsw i32 %8, 2 store i32 %inc.1.i, i32* @b, align 4 %arrayidx.sum3 = add i32 %add.i, %inc.1.i %arrayidx.2.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum3 - %11 = load i8* %arrayidx.2.i, align 1 + %11 = load i8, i8* %arrayidx.2.i, align 1 %conv.2.i = sext i8 %11 to i32 store i32 %conv.2.i, i32* @c, align 4 %inc.2.i = add nsw i32 %8, 3 store i32 %inc.2.i, i32* @b, align 4 %arrayidx.sum4 = add i32 %add.i, %inc.2.i %arrayidx.3.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum4 - %12 = load i8* %arrayidx.3.i, align 1 + %12 = load i8, i8* %arrayidx.3.i, align 1 %conv.3.i = sext i8 %12 to i32 store i32 %conv.3.i, i32* @c, align 4 %inc.3.i = add nsw i32 %8, 4 store i32 %inc.3.i, i32* @b, align 4 %arrayidx.sum5 = add i32 %add.i, %inc.3.i %arrayidx.4.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum5 - %13 = load i8* %arrayidx.4.i, align 1 + %13 = load i8, i8* %arrayidx.4.i, align 1 %conv.4.i = sext i8 %13 to i32 store i32 %conv.4.i, i32* @c, align 4 %inc.4.i = add nsw i32 %8, 5 store i32 %inc.4.i, i32* @b, align 4 %arrayidx.sum6 = add i32 %add.i, %inc.4.i %arrayidx.5.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum6 - %14 = load i8* %arrayidx.5.i, align 1 + %14 = load i8, i8* %arrayidx.5.i, align 1 %conv.5.i = sext i8 %14 to i32 store i32 %conv.5.i, i32* @c, align 4 %inc.5.i = add nsw i32 %8, 6 store i32 %inc.5.i, i32* @b, align 4 %arrayidx.sum7 = add i32 %add.i, %inc.5.i %arrayidx.6.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum7 - %15 = load i8* %arrayidx.6.i, align 1 + %15 = load i8, i8* %arrayidx.6.i, align 1 %conv.6.i = sext i8 %15 to i32 store i32 %conv.6.i, i32* @c, align 4 %inc.6.i = add nsw i32 %8, 7 store i32 %inc.6.i, i32* @b, align 4 %arrayidx.sum8 = add i32 %add.i, %inc.6.i %arrayidx.7.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum8 - %16 = load i8* %arrayidx.7.i, align 1 + %16 = load i8, i8* %arrayidx.7.i, align 1 %conv.7.i = sext i8 %16 to i32 store i32 %conv.7.i, i32* @c, align 4 %inc.7.i = add nsw i32 %8, 8 @@ -136,7 +136,7 @@ %20 = phi i32 [ %inc.ur.i, %for.body4.ur.i ], [ %.ph, %for.body4.ur.i.preheader ] %arrayidx.sum = add i32 %add.i, %20 %arrayidx.ur.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum - %21 = load i8* %arrayidx.ur.i, align 1 + %21 = load i8, i8* %arrayidx.ur.i, align 1 %conv.ur.i = sext i8 %21 to i32 store i32 %conv.ur.i, i32* @c, align 4 %inc.ur.i = add nsw i32 %20, 1 Index: llvm/trunk/test/Analysis/Delinearization/himeno_1.ll =================================================================== --- llvm/trunk/test/Analysis/Delinearization/himeno_1.ll +++ llvm/trunk/test/Analysis/Delinearization/himeno_1.ll @@ -36,23 +36,23 @@ define void @jacobi(i32 %nn, %struct.Mat* nocapture %a, %struct.Mat* nocapture %p) nounwind uwtable { entry: %p.rows.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 2 - %p.rows = load i32* %p.rows.ptr + %p.rows = load i32, i32* %p.rows.ptr %p.rows.sub = add i32 %p.rows, -1 %p.rows.sext = sext i32 %p.rows.sub to i64 %p.cols.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 3 - %p.cols = load i32* %p.cols.ptr + %p.cols = load i32, i32* %p.cols.ptr %p.cols.sub = add i32 %p.cols, -1 %p.cols.sext = sext i32 %p.cols.sub to i64 %p.deps.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 4 - %p.deps = load i32* %p.deps.ptr + %p.deps = load i32, i32* %p.deps.ptr %p.deps.sub = add i32 %p.deps, -1 %p.deps.sext = sext i32 %p.deps.sub to i64 %a.cols.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 3 - %a.cols = load i32* %a.cols.ptr + %a.cols = load i32, i32* %a.cols.ptr %a.deps.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 4 - %a.deps = load i32* %a.deps.ptr + %a.deps = load i32, i32* %a.deps.ptr %a.base.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 0 - %a.base = load float** %a.base.ptr, align 8 + %a.base = load float*, float** %a.base.ptr, align 8 br label %for.i for.i: ; preds = %for.i.inc, %entry Index: llvm/trunk/test/Analysis/Delinearization/himeno_2.ll =================================================================== --- llvm/trunk/test/Analysis/Delinearization/himeno_2.ll +++ llvm/trunk/test/Analysis/Delinearization/himeno_2.ll @@ -36,25 +36,25 @@ define void @jacobi(i32 %nn, %struct.Mat* nocapture %a, %struct.Mat* nocapture %p) nounwind uwtable { entry: %p.rows.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 2 - %p.rows = load i32* %p.rows.ptr + %p.rows = load i32, i32* %p.rows.ptr %p.rows.sub = add i32 %p.rows, -1 %p.rows.sext = sext i32 %p.rows.sub to i64 %p.cols.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 3 - %p.cols = load i32* %p.cols.ptr + %p.cols = load i32, i32* %p.cols.ptr %p.cols.sub = add i32 %p.cols, -1 %p.cols.sext = sext i32 %p.cols.sub to i64 %p.deps.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 4 - %p.deps = load i32* %p.deps.ptr + %p.deps = load i32, i32* %p.deps.ptr %p.deps.sub = add i32 %p.deps, -1 %p.deps.sext = sext i32 %p.deps.sub to i64 %a.cols.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 3 - %a.cols = load i32* %a.cols.ptr + %a.cols = load i32, i32* %a.cols.ptr %a.cols.sext = sext i32 %a.cols to i64 %a.deps.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 4 - %a.deps = load i32* %a.deps.ptr + %a.deps = load i32, i32* %a.deps.ptr %a.deps.sext = sext i32 %a.deps to i64 %a.base.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 0 - %a.base = load float** %a.base.ptr, align 8 + %a.base = load float*, float** %a.base.ptr, align 8 br label %for.i for.i: ; preds = %for.i.inc, %entry Index: llvm/trunk/test/Analysis/Delinearization/multidim_only_ivs_2d.ll =================================================================== --- llvm/trunk/test/Analysis/Delinearization/multidim_only_ivs_2d.ll +++ llvm/trunk/test/Analysis/Delinearization/multidim_only_ivs_2d.ll @@ -8,7 +8,7 @@ ; A[i][j] = 1.0; ; } -; Inst: %val = load double* %arrayidx +; Inst: %val = load double, double* %arrayidx ; In Loop with Header: for.j ; AddRec: {{0,+,(%m * sizeof(double))}<%for.i>,+,sizeof(double)}<%for.j> ; Base offset: %A @@ -35,7 +35,7 @@ %j = phi i64 [ 0, %for.i ], [ %j.inc, %for.j ] %vlaarrayidx.sum = add i64 %j, %tmp %arrayidx = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum - %val = load double* %arrayidx + %val = load double, double* %arrayidx store double %val, double* %arrayidx %j.inc = add nsw i64 %j, 1 %j.exitcond = icmp eq i64 %j.inc, %m Index: llvm/trunk/test/Analysis/Delinearization/undef.ll =================================================================== --- llvm/trunk/test/Analysis/Delinearization/undef.ll +++ llvm/trunk/test/Analysis/Delinearization/undef.ll @@ -21,7 +21,7 @@ %tmp6 = mul i64 %tmp5, undef %arrayidx69.sum = add i64 undef, %tmp6 %arrayidx70 = getelementptr inbounds double, double* %Ey, i64 %arrayidx69.sum - %1 = load double* %arrayidx70, align 8 + %1 = load double, double* %arrayidx70, align 8 %inc = add nsw i64 %ix.062, 1 br i1 false, label %for.body60, label %for.end Index: llvm/trunk/test/Analysis/DependenceAnalysis/Banerjee.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/Banerjee.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/Banerjee.ll @@ -46,7 +46,7 @@ %add5 = add nsw i64 %mul4, %j.02 %sub = add nsw i64 %add5, -1 %arrayidx6 = getelementptr inbounds i64, i64* %A, i64 %sub - %0 = load i64* %arrayidx6, align 8 + %0 = load i64, i64* %arrayidx6, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -115,7 +115,7 @@ %add5 = add nsw i64 %mul4, %j.03 %sub = add nsw i64 %add5, -1 %arrayidx6 = getelementptr inbounds i64, i64* %A, i64 %sub - %2 = load i64* %arrayidx6, align 8 + %2 = load i64, i64* %arrayidx6, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.12, i64 1 store i64 %2, i64* %B.addr.12, align 8 %inc = add nsw i64 %j.03, 1 @@ -181,7 +181,7 @@ %add5 = add nsw i64 %mul4, %j.02 %add6 = add nsw i64 %add5, 100 %arrayidx7 = getelementptr inbounds i64, i64* %A, i64 %add6 - %0 = load i64* %arrayidx7, align 8 + %0 = load i64, i64* %arrayidx7, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -240,7 +240,7 @@ %add5 = add nsw i64 %mul4, %j.02 %add6 = add nsw i64 %add5, 99 %arrayidx7 = getelementptr inbounds i64, i64* %A, i64 %add6 - %0 = load i64* %arrayidx7, align 8 + %0 = load i64, i64* %arrayidx7, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -299,7 +299,7 @@ %add5 = add nsw i64 %mul4, %j.02 %sub = add nsw i64 %add5, -100 %arrayidx6 = getelementptr inbounds i64, i64* %A, i64 %sub - %0 = load i64* %arrayidx6, align 8 + %0 = load i64, i64* %arrayidx6, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -358,7 +358,7 @@ %add5 = add nsw i64 %mul4, %j.02 %sub = add nsw i64 %add5, -99 %arrayidx6 = getelementptr inbounds i64, i64* %A, i64 %sub - %0 = load i64* %arrayidx6, align 8 + %0 = load i64, i64* %arrayidx6, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -417,7 +417,7 @@ %add5 = add nsw i64 %mul4, %j.02 %add6 = add nsw i64 %add5, 9 %arrayidx7 = getelementptr inbounds i64, i64* %A, i64 %add6 - %0 = load i64* %arrayidx7, align 8 + %0 = load i64, i64* %arrayidx7, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -476,7 +476,7 @@ %add5 = add nsw i64 %mul4, %j.02 %add6 = add nsw i64 %add5, 10 %arrayidx7 = getelementptr inbounds i64, i64* %A, i64 %add6 - %0 = load i64* %arrayidx7, align 8 + %0 = load i64, i64* %arrayidx7, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -535,7 +535,7 @@ %add5 = add nsw i64 %mul4, %j.02 %add6 = add nsw i64 %add5, 11 %arrayidx7 = getelementptr inbounds i64, i64* %A, i64 %add6 - %0 = load i64* %arrayidx7, align 8 + %0 = load i64, i64* %arrayidx7, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -595,7 +595,7 @@ %sub = add i64 %i.03, %0 %add6 = add nsw i64 %sub, 11 %arrayidx7 = getelementptr inbounds i64, i64* %A, i64 %add6 - %1 = load i64* %arrayidx7, align 8 + %1 = load i64, i64* %arrayidx7, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %1, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -654,7 +654,7 @@ %sub = add i64 %i.03, %0 %add5 = add nsw i64 %sub, 11 %arrayidx6 = getelementptr inbounds i64, i64* %A, i64 %add5 - %1 = load i64* %arrayidx6, align 8 + %1 = load i64, i64* %arrayidx6, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %1, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -713,7 +713,7 @@ %sub = sub nsw i64 %mul4, %j.02 %add5 = add nsw i64 %sub, 11 %arrayidx6 = getelementptr inbounds i64, i64* %A, i64 %add5 - %0 = load i64* %arrayidx6, align 8 + %0 = load i64, i64* %arrayidx6, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 @@ -772,7 +772,7 @@ %sub = sub nsw i64 %mul4, %j.02 %add5 = add nsw i64 %sub, 11 %arrayidx6 = getelementptr inbounds i64, i64* %A, i64 %add5 - %0 = load i64* %arrayidx6, align 8 + %0 = load i64, i64* %arrayidx6, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.11, i64 1 store i64 %0, i64* %B.addr.11, align 8 %inc = add nsw i64 %j.02, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/Coupled.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/Coupled.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/Coupled.ll @@ -29,7 +29,7 @@ %add = add nsw i64 %i.02, 9 %add2 = add nsw i64 %i.02, 10 %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %add2, i64 %add - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -65,7 +65,7 @@ %add = add nsw i64 %i.02, 9 %add2 = add nsw i64 %i.02, 9 %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %add2, i64 %add - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -103,7 +103,7 @@ %arrayidx3 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub2, i64 %sub store i32 %conv, i32* %arrayidx3, align 4 %arrayidx5 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -141,7 +141,7 @@ %arrayidx3 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub2, i64 %sub store i32 %conv, i32* %arrayidx3, align 4 %arrayidx5 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -180,7 +180,7 @@ %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub3, i64 %sub store i32 %conv, i32* %arrayidx4, align 4 %arrayidx6 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx6, align 4 + %0 = load i32, i32* %arrayidx6, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -221,7 +221,7 @@ %arrayidx5 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %add, i64 %sub store i32 %conv, i32* %arrayidx5, align 4 %arrayidx7 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx7, align 4 + %0 = load i32, i32* %arrayidx7, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -257,7 +257,7 @@ %arrayidx1 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %sub store i32 %conv, i32* %arrayidx1, align 4 %arrayidx3 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx3, align 4 + %0 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -293,7 +293,7 @@ %arrayidx1 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %sub store i32 %conv, i32* %arrayidx1, align 4 %arrayidx3 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx3, align 4 + %0 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -330,7 +330,7 @@ %arrayidx2 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub1, i64 %sub store i32 %conv, i32* %arrayidx2, align 4 %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -367,7 +367,7 @@ %arrayidx2 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub1, i64 %sub store i32 %conv, i32* %arrayidx2, align 4 %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -405,7 +405,7 @@ %arrayidx2 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub1, i64 %sub store i32 %conv, i32* %arrayidx2, align 4 %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -443,7 +443,7 @@ %arrayidx2 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub1, i64 %sub store i32 %conv, i32* %arrayidx2, align 4 %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -481,7 +481,7 @@ %arrayidx2 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub1, i64 %sub store i32 %conv, i32* %arrayidx2, align 4 %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -518,7 +518,7 @@ %arrayidx2 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %sub1, i64 %sub store i32 %conv, i32* %arrayidx2, align 4 %arrayidx4 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -555,7 +555,7 @@ %arrayidx3 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %A, i64 %sub1, i64 %sub, i64 %i.02 store i32 %conv, i32* %arrayidx3, align 4 %arrayidx6 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %A, i64 %i.02, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx6, align 4 + %0 = load i32, i32* %arrayidx6, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 @@ -592,7 +592,7 @@ %arrayidx3 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %A, i64 %sub1, i64 %sub, i64 %i.02 store i32 %conv, i32* %arrayidx3, align 4 %arrayidx6 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %A, i64 %i.02, i64 %i.02, i64 %i.02 - %0 = load i32* %arrayidx6, align 4 + %0 = load i32, i32* %arrayidx6, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add nsw i64 %i.02, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/ExactRDIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/ExactRDIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/ExactRDIV.ll @@ -41,7 +41,7 @@ %mul5 = shl nsw i64 %j.02, 1 %add64 = or i64 %mul5, 1 %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 %add64 - %0 = load i32* %arrayidx7, align 4 + %0 = load i32, i32* %arrayidx7, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc9 = add nsw i64 %j.02, 1 @@ -87,7 +87,7 @@ %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %j.02 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc7 = add nsw i64 %j.02, 1 @@ -133,7 +133,7 @@ %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %j.02 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc7 = add nsw i64 %j.02, 1 @@ -179,7 +179,7 @@ %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %j.02 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc7 = add nsw i64 %j.02, 1 @@ -225,7 +225,7 @@ %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %j.02 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc7 = add nsw i64 %j.02, 1 @@ -272,7 +272,7 @@ %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %sub = sub nsw i64 0, %j.02 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc7 = add nsw i64 %j.02, 1 @@ -319,7 +319,7 @@ %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %sub = sub nsw i64 0, %j.02 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc7 = add nsw i64 %j.02, 1 @@ -366,7 +366,7 @@ %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %sub = sub nsw i64 0, %j.02 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc7 = add nsw i64 %j.02, 1 @@ -413,7 +413,7 @@ %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %sub = sub nsw i64 0, %j.02 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc7 = add nsw i64 %j.02, 1 @@ -455,7 +455,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub store i32 %conv, i32* %arrayidx, align 4 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 45 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -504,7 +504,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub store i32 %conv, i32* %arrayidx, align 4 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 45 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -552,7 +552,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub store i32 %conv, i32* %arrayidx, align 4 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 45 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -600,7 +600,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub store i32 %conv, i32* %arrayidx, align 4 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 45 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/ExactSIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/ExactSIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/ExactSIV.ll @@ -30,7 +30,7 @@ %mul = shl i64 %i.02, 1 %add13 = or i64 %mul, 1 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %add13 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -68,7 +68,7 @@ %mul1 = shl i64 %i.02, 1 %add23 = or i64 %mul1, 1 %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %add23 - %0 = load i32* %arrayidx3, align 4 + %0 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -104,7 +104,7 @@ store i32 %conv, i32* %arrayidx, align 4 %add = add i64 %i.02, 60 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -140,7 +140,7 @@ store i32 %conv, i32* %arrayidx, align 4 %add = add i64 %i.02, 60 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -176,7 +176,7 @@ store i32 %conv, i32* %arrayidx, align 4 %add = add i64 %i.02, 60 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -212,7 +212,7 @@ store i32 %conv, i32* %arrayidx, align 4 %add = add i64 %i.02, 60 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -248,7 +248,7 @@ store i32 %conv, i32* %arrayidx, align 4 %add = add i64 %i.02, 60 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -284,7 +284,7 @@ store i32 %conv, i32* %arrayidx, align 4 %add = add i64 %i.02, 60 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -320,7 +320,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub1 = sub i64 -60, %i.02 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -356,7 +356,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub1 = sub i64 -60, %i.02 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -392,7 +392,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub1 = sub i64 -60, %i.02 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -428,7 +428,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub1 = sub i64 -60, %i.02 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -464,7 +464,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub1 = sub i64 -60, %i.02 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -500,7 +500,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub1 = sub i64 -60, %i.02 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/GCD.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/GCD.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/GCD.ll @@ -49,7 +49,7 @@ %mul6 = shl nsw i64 %j.02, 3 %add = add nsw i64 %mul5, %mul6 %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx7, align 4 + %0 = load i32, i32* %arrayidx7, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -111,7 +111,7 @@ %add = add nsw i64 %mul5, %mul6 %add7 = or i64 %add, 1 %arrayidx8 = getelementptr inbounds i32, i32* %A, i64 %add7 - %0 = load i32* %arrayidx8, align 4 + %0 = load i32, i32* %arrayidx8, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -173,7 +173,7 @@ %mul6 = shl nsw i64 %j.02, 3 %add7 = add nsw i64 %mul5, %mul6 %arrayidx8 = getelementptr inbounds i32, i32* %A, i64 %add7 - %0 = load i32* %arrayidx8, align 4 + %0 = load i32, i32* %arrayidx8, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -233,7 +233,7 @@ %add5 = add nsw i64 %i.03, %mul4 %sub = add nsw i64 %add5, -1 %arrayidx6 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx6, align 4 + %0 = load i32, i32* %arrayidx6, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -303,7 +303,7 @@ %sub = sub nsw i64 %add12, %mul14 %add15 = add nsw i64 %sub, 4 %arrayidx16 = getelementptr inbounds i32, i32* %A, i64 %add15 - %0 = load i32* %arrayidx16, align 4 + %0 = load i32, i32* %arrayidx16, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -373,7 +373,7 @@ %sub = sub nsw i64 %add12, %mul14 %add15 = add nsw i64 %sub, 5 %arrayidx16 = getelementptr inbounds i32, i32* %A, i64 %add15 - %0 = load i32* %arrayidx16, align 4 + %0 = load i32, i32* %arrayidx16, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -445,7 +445,7 @@ %1 = mul nsw i64 %mul7, %n %arrayidx8.sum = add i64 %1, %add7 %arrayidx9 = getelementptr inbounds i32, i32* %A, i64 %arrayidx8.sum - %2 = load i32* %arrayidx9, align 4 + %2 = load i32, i32* %arrayidx9, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.12, i64 1 store i32 %2, i32* %B.addr.12, align 4 %inc = add nsw i64 %j.03, 1 @@ -536,7 +536,7 @@ %10 = mul nsw i64 %idxprom10, %0 %arrayidx11.sum = add i64 %10, %idxprom8 %arrayidx12 = getelementptr inbounds i32, i32* %A, i64 %arrayidx11.sum - %11 = load i32* %arrayidx12, align 4 + %11 = load i32, i32* %arrayidx12, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.12, i64 1 store i32 %11, i32* %B.addr.12, align 4 %indvars.iv.next = add i64 %indvars.iv, 1 @@ -623,7 +623,7 @@ %add10 = or i32 %add9, 1 %idxprom11 = sext i32 %add10 to i64 %arrayidx12 = getelementptr inbounds i32, i32* %A, i64 %idxprom11 - %5 = load i32* %arrayidx12, align 4 + %5 = load i32, i32* %arrayidx12, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.12, i64 1 store i32 %5, i32* %B.addr.12, align 4 %indvars.iv.next = add i64 %indvars.iv, 1 @@ -715,7 +715,7 @@ %10 = mul nsw i64 %idxprom10, %0 %arrayidx11.sum = add i64 %10, %idxprom8 %arrayidx12 = getelementptr inbounds i32, i32* %A, i64 %arrayidx11.sum - %11 = load i32* %arrayidx12, align 4 + %11 = load i32, i32* %arrayidx12, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.12, i64 1 store i32 %11, i32* %B.addr.12, align 4 %indvars.iv.next = add i64 %indvars.iv, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/Invariant.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/Invariant.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/Invariant.ll @@ -20,9 +20,9 @@ %j.02 = phi i32 [ 0, %for.cond1.preheader ], [ %add8, %for.body3 ] %res.11 = phi float [ %res.03, %for.cond1.preheader ], [ %add.res.1, %for.body3 ] %arrayidx4 = getelementptr inbounds [40 x float], [40 x float]* %rr, i32 %j.02, i32 %j.02 - %0 = load float* %arrayidx4, align 4 + %0 = load float, float* %arrayidx4, align 4 %arrayidx6 = getelementptr inbounds [40 x float], [40 x float]* %rr, i32 %i.04, i32 %j.02 - %1 = load float* %arrayidx6, align 4 + %1 = load float, float* %arrayidx6, align 4 %add = fadd float %0, %1 %cmp7 = fcmp ogt float %add, %g %add.res.1 = select i1 %cmp7, float %add, float %res.11 Index: llvm/trunk/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll @@ -28,7 +28,7 @@ %i = phi i64 [ 0, %entry ], [ %i.inc, %for.body ] %a.addr = getelementptr [100 x [100 x i32]], [100 x [100 x i32]]* %a, i64 0, i64 %i, i64 %i %a.addr.2 = getelementptr [100 x [100 x i32]], [100 x [100 x i32]]* %a, i64 0, i64 %i, i32 5 - %0 = load i32* %a.addr, align 4 + %0 = load i32, i32* %a.addr, align 4 %1 = add i32 %0, 1 store i32 %1, i32* %a.addr.2, align 4 %i.inc = add nsw i64 %i, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll @@ -18,7 +18,7 @@ ; CHECK: da analyze - none! %arrayidx1 = getelementptr inbounds i32, i32* %B, i64 1 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 ret i32 %0 } @@ -36,7 +36,7 @@ ; CHECK: da analyze - none! %arrayidx1 = getelementptr inbounds i32, i32* %B, i64 1 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 ret i32 %0 } @@ -107,7 +107,7 @@ %add13 = add nsw i64 %j.07, 2 %add14 = add nsw i64 %i.011, 3 %arrayidx17 = getelementptr inbounds [100 x [100 x i64]], [100 x [100 x i64]]* %A, i64 %add14, i64 %add13, i64 %add - %0 = load i64* %arrayidx17, align 8 + %0 = load i64, i64* %arrayidx17, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.24, i64 1 store i64 %0, i64* %B.addr.24, align 8 %inc19 = add nsw i64 %k9.05, 1 @@ -290,7 +290,7 @@ %sub48 = sub nsw i64 1, %k.037 %add49 = add nsw i64 %i.045, 3 %arrayidx57 = getelementptr inbounds [100 x [100 x [100 x [100 x [100 x [100 x [100 x i64]]]]]]], [100 x [100 x [100 x [100 x [100 x [100 x [100 x i64]]]]]]]* %A, i64 %add49, i64 2, i64 %u.06, i64 %sub48, i64 %sub47, i64 %o.025, i64 %add45, i64 %add44 - %0 = load i64* %arrayidx57, align 8 + %0 = load i64, i64* %arrayidx57, align 8 %incdec.ptr = getelementptr inbounds i64, i64* %B.addr.112, i64 1 store i64 %0, i64* %B.addr.112, align 8 %inc = add nsw i64 %t.03, 1 @@ -445,7 +445,7 @@ store i32 %conv2, i32* %arrayidx, align 4 %idxprom4 = sext i8 %i.03 to i64 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %idxprom4 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i8 %i.03, 1 @@ -491,7 +491,7 @@ store i32 %conv2, i32* %arrayidx, align 4 %idxprom4 = sext i16 %i.03 to i64 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %idxprom4 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i16 %i.03, 1 @@ -535,7 +535,7 @@ %1 = trunc i64 %indvars.iv to i32 store i32 %1, i32* %arrayidx, align 4 %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv - %2 = load i32* %arrayidx3, align 4 + %2 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %2, i32* %B.addr.02, align 4 %indvars.iv.next = add i64 %indvars.iv, 1 @@ -570,7 +570,7 @@ %conv = sext i8 %n to i64 %add = add i64 %conv, 1 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 store i32 %0, i32* %B, align 4 ret void } @@ -596,7 +596,7 @@ %conv = sext i16 %n to i64 %add = add i64 %conv, 1 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 store i32 %0, i32* %B, align 4 ret void } @@ -622,7 +622,7 @@ %add = add nsw i32 %n, 1 %idxprom1 = sext i32 %add to i64 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %idxprom1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 store i32 %0, i32* %B, align 4 ret void } @@ -648,7 +648,7 @@ %add = add i32 %n, 1 %idxprom1 = zext i32 %add to i64 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %idxprom1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 store i32 %0, i32* %B, align 4 ret void } @@ -682,7 +682,7 @@ while.body: ; preds = %while.body.preheader, %while.body %i.02 = phi %struct.S* [ %incdec.ptr, %while.body ], [ %s, %while.body.preheader ] %0 = getelementptr inbounds %struct.S, %struct.S* %i.02, i64 1, i32 0 - %1 = load i32* %0, align 4 + %1 = load i32, i32* %0, align 4 %2 = getelementptr inbounds %struct.S, %struct.S* %i.02, i64 0, i32 0 store i32 %1, i32* %2, align 4 %incdec.ptr = getelementptr inbounds %struct.S, %struct.S* %i.02, i64 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/Propagating.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/Propagating.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/Propagating.ll @@ -36,7 +36,7 @@ store i32 %conv, i32* %arrayidx5, align 4 %add6 = add nsw i64 %i.03, %j.02 %arrayidx8 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.03, i64 %add6 - %0 = load i32* %arrayidx8, align 4 + %0 = load i32, i32* %arrayidx8, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -93,7 +93,7 @@ %add10 = add nsw i64 %j.03, %k.02 %sub11 = sub nsw i64 %j.03, %i.05 %arrayidx14 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %A, i64 %sub11, i64 %i.05, i64 %add10 - %0 = load i32* %arrayidx14, align 4 + %0 = load i32, i32* %arrayidx14, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.21, i64 1 store i32 %0, i32* %B.addr.21, align 4 %inc = add nsw i64 %k.02, 1 @@ -149,7 +149,7 @@ %add = add nsw i64 %i.03, %j.02 %add5 = add nsw i64 %add, 110 %arrayidx7 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.03, i64 %add5 - %0 = load i32* %arrayidx7, align 4 + %0 = load i32, i32* %arrayidx7, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -200,7 +200,7 @@ %sub = sub nsw i64 %mul5, %i.03 %add6 = add nsw i64 %sub, 5 %arrayidx8 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.03, i64 %add6 - %0 = load i32* %arrayidx8, align 4 + %0 = load i32, i32* %arrayidx8, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -252,7 +252,7 @@ %mul7 = shl nsw i64 %i.03, 1 %add8 = add nsw i64 %mul7, %j.02 %arrayidx10 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %i.03, i64 %add8 - %0 = load i32* %arrayidx10, align 4 + %0 = load i32, i32* %arrayidx10, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -306,7 +306,7 @@ %mul8 = mul nsw i64 %i.03, 3 %add9 = add nsw i64 %mul8, %j.02 %arrayidx12 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %A, i64 %i.03, i64 %i.03, i64 %add9 - %0 = load i32* %arrayidx12, align 4 + %0 = load i32, i32* %arrayidx12, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -359,7 +359,7 @@ %add8 = add nsw i64 %mul7, %j.02 %mul9 = shl nsw i64 %i.03, 1 %arrayidx11 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %mul9, i64 %add8 - %0 = load i32* %arrayidx11, align 4 + %0 = load i32, i32* %arrayidx11, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -415,7 +415,7 @@ %mul10 = mul nsw i64 %i.03, -2 %add11 = add nsw i64 %mul10, 20 %arrayidx13 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %add11, i64 %add9 - %0 = load i32* %arrayidx13, align 4 + %0 = load i32, i32* %arrayidx13, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -466,7 +466,7 @@ %mul6 = mul nsw i64 %i.03, -2 %add7 = add nsw i64 %mul6, 4 %arrayidx9 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %add7, i64 %add5 - %0 = load i32* %arrayidx9, align 4 + %0 = load i32, i32* %arrayidx9, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 @@ -517,7 +517,7 @@ %arrayidx7 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 %add6, i64 %add4 store i32 %conv, i32* %arrayidx7, align 4 %arrayidx9 = getelementptr inbounds [100 x i32], [100 x i32]* %A, i64 4, i64 %j.02 - %0 = load i32* %arrayidx9, align 4 + %0 = load i32, i32* %arrayidx9, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1 store i32 %0, i32* %B.addr.11, align 4 %inc = add nsw i64 %j.02, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/Separability.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/Separability.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/Separability.ll @@ -50,7 +50,7 @@ %sub = sub nsw i64 %mul, %l.02 %add12 = add nsw i64 %i.07, 10 %arrayidx15 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %A, i64 10, i64 %add12, i64 %sub - %0 = load i32* %arrayidx15, align 4 + %0 = load i32, i32* %arrayidx15, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.31, i64 1 store i32 %0, i32* %B.addr.31, align 4 %inc = add nsw i64 %l.02, 1 @@ -124,7 +124,7 @@ %sub = sub nsw i64 %mul, %l.02 %add12 = add nsw i64 %i.07, 10 %arrayidx15 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %A, i64 10, i64 %add12, i64 %sub - %0 = load i32* %arrayidx15, align 4 + %0 = load i32, i32* %arrayidx15, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.31, i64 1 store i32 %0, i32* %B.addr.31, align 4 %inc = add nsw i64 %l.02, 1 @@ -198,7 +198,7 @@ %add14 = add nsw i64 %j.05, %k.03 %add15 = add nsw i64 %i.07, 10 %arrayidx19 = getelementptr inbounds [100 x [100 x [100 x i32]]], [100 x [100 x [100 x i32]]]* %A, i64 10, i64 %add15, i64 %add14, i64 %add13 - %0 = load i32* %arrayidx19, align 4 + %0 = load i32, i32* %arrayidx19, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.31, i64 1 store i32 %0, i32* %B.addr.31, align 4 %inc = add nsw i64 %l.02, 1 @@ -273,7 +273,7 @@ %add15 = add nsw i64 %j.05, %k.03 %add16 = add nsw i64 %i.07, 10 %arrayidx20 = getelementptr inbounds [100 x [100 x [100 x i32]]], [100 x [100 x [100 x i32]]]* %A, i64 10, i64 %add16, i64 %add15, i64 %add14 - %0 = load i32* %arrayidx20, align 4 + %0 = load i32, i32* %arrayidx20, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.31, i64 1 store i32 %0, i32* %B.addr.31, align 4 %inc = add nsw i64 %l.02, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/StrongSIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/StrongSIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/StrongSIV.ll @@ -32,7 +32,7 @@ %1 = trunc i64 %indvars.iv to i32 store i32 %1, i32* %arrayidx, align 4 %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv - %2 = load i32* %arrayidx3, align 4 + %2 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %2, i32* %B.addr.02, align 4 %indvars.iv.next = add i64 %indvars.iv, 1 @@ -75,7 +75,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add store i32 %conv2, i32* %arrayidx, align 4 %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %i.03 - %1 = load i32* %arrayidx3, align 4 + %1 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %1, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 @@ -117,7 +117,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %i.03 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 @@ -159,7 +159,7 @@ %1 = trunc i64 %indvars.iv to i32 store i32 %1, i32* %arrayidx, align 4 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv - %2 = load i32* %arrayidx2, align 4 + %2 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %2, i32* %B.addr.02, align 4 %indvars.iv.next = add i64 %indvars.iv, 1 @@ -198,7 +198,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %i.02 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -233,7 +233,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %i.02 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -270,7 +270,7 @@ store i32 %conv, i32* %arrayidx, align 4 %mul1 = shl i64 %i.02, 1 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %mul1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -307,7 +307,7 @@ store i32 %conv, i32* %arrayidx, align 4 %mul1 = shl i64 %i.02, 1 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %mul1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -342,7 +342,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %i.02 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -383,7 +383,7 @@ %mul = shl i64 %n, 1 %add1 = add i64 %i.03, %mul %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %add1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 @@ -424,7 +424,7 @@ %mul1 = mul i64 %i.02, %n %add2 = add i64 %mul1, 5 %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %add2 - %0 = load i32* %arrayidx3, align 4 + %0 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll @@ -53,7 +53,7 @@ %mul56 = add i64 %j.03, %n1 %add7 = mul i64 %mul56, 3 %arrayidx8 = getelementptr inbounds i32, i32* %A, i64 %add7 - %0 = load i32* %arrayidx8, align 4 + %0 = load i32, i32* %arrayidx8, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc10 = add nsw i64 %j.03, 1 @@ -118,7 +118,7 @@ %mul7 = shl i64 %n2, 1 %add8 = add i64 %mul6, %mul7 %arrayidx9 = getelementptr inbounds i32, i32* %A, i64 %add8 - %0 = load i32* %arrayidx9, align 4 + %0 = load i32, i32* %arrayidx9, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc11 = add nsw i64 %j.03, 1 @@ -181,7 +181,7 @@ %mul6 = shl i64 %n1, 1 %add = sub i64 %mul6, %j.03 %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx7, align 4 + %0 = load i32, i32* %arrayidx7, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc9 = add nsw i64 %j.03, 1 @@ -242,7 +242,7 @@ %B.addr.02 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %sub5 = sub i64 %j.03, %n1 %arrayidx6 = getelementptr inbounds i32, i32* %A, i64 %sub5 - %0 = load i32* %arrayidx6, align 4 + %0 = load i32, i32* %arrayidx6, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc8 = add nsw i64 %j.03, 1 @@ -304,7 +304,7 @@ %B.addr.02 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] %add6 = sub i64 %n1, %j.03 %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 %add6 - %0 = load i32* %arrayidx7, align 4 + %0 = load i32, i32* %arrayidx7, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc9 = add nsw i64 %j.03, 1 @@ -366,7 +366,7 @@ %mul = shl i64 %n2, 1 %add6 = sub i64 %mul, %j.03 %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 %add6 - %0 = load i32* %arrayidx7, align 4 + %0 = load i32, i32* %arrayidx7, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc9 = add nsw i64 %j.03, 1 @@ -421,7 +421,7 @@ store i32 %conv, i32* %arrayidx, align 4 %mul = shl i64 %n2, 1 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 %mul - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.12, i64 1 store i32 %0, i32* %B.addr.12, align 4 %inc = add nsw i64 %j.03, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicSIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicSIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/SymbolicSIV.ll @@ -35,7 +35,7 @@ %mul14 = add i64 %i.03, %n %add3 = mul i64 %mul14, 3 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 %add3 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 @@ -82,7 +82,7 @@ %mul3 = shl i64 %n, 1 %add4 = add i64 %mul2, %mul3 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %add4 - %0 = load i32* %arrayidx5, align 4 + %0 = load i32, i32* %arrayidx5, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 @@ -127,7 +127,7 @@ %mul2 = shl i64 %n, 1 %add = sub i64 %mul2, %i.03 %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx3, align 4 + %0 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 @@ -173,7 +173,7 @@ %mul2 = shl i64 %n, 1 %sub = sub i64 %i.03, %mul2 %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx3, align 4 + %0 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 @@ -218,7 +218,7 @@ store i32 %conv, i32* %arrayidx, align 4 %add2 = sub i64 %n, %i.03 %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %add2 - %0 = load i32* %arrayidx3, align 4 + %0 = load i32, i32* %arrayidx3, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 @@ -264,7 +264,7 @@ %sub2 = sub nsw i64 0, %i.03 %sub3 = sub i64 %sub2, %n %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 %sub3 - %0 = load i32* %arrayidx4, align 4 + %0 = load i32, i32* %arrayidx4, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 @@ -310,7 +310,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub = sub i64 0, %i.03 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 @@ -359,7 +359,7 @@ %add5 = add i64 %mul3, %mul4 %add6 = add i64 %add5, 1 %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 %add6 - %0 = load i32* %arrayidx7, align 4 + %0 = load i32, i32* %arrayidx7, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 @@ -408,7 +408,7 @@ %sub = add i64 %mul3, %0 %add5 = add i64 %sub, 2 %arrayidx6 = getelementptr inbounds i32, i32* %A, i64 %add5 - %1 = load i32* %arrayidx6, align 4 + %1 = load i32, i32* %arrayidx6, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %1, i32* %B.addr.02, align 4 %inc = add nsw i64 %i.03, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll @@ -35,7 +35,7 @@ %mul1 = mul i64 %i.03, %n %sub = sub i64 1, %mul1 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 @@ -80,7 +80,7 @@ %add1 = add i64 %n, 1 %sub = sub i64 %add1, %i.03 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 @@ -118,7 +118,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub = sub i64 6, %i.02 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -153,7 +153,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub = sub i64 6, %i.02 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -188,7 +188,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub = sub i64 -6, %i.02 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -229,7 +229,7 @@ %0 = mul i64 %i.03, -3 %sub = add i64 %0, 5 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %sub - %1 = load i32* %arrayidx2, align 4 + %1 = load i32, i32* %arrayidx2, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %1, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 @@ -268,7 +268,7 @@ store i32 %conv, i32* %arrayidx, align 4 %sub = sub i64 5, %i.02 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %sub - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll @@ -29,7 +29,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 10 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -69,7 +69,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 10 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 @@ -107,7 +107,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %mul store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 10 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -142,7 +142,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %mul store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 10 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -177,7 +177,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %mul store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 10 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -212,7 +212,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %mul store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 -10 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -251,7 +251,7 @@ %arrayidx = getelementptr inbounds i32, i32* %A, i64 %mul store i32 %conv, i32* %arrayidx, align 4 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 10 - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll @@ -29,7 +29,7 @@ %mul = shl i64 %i.02, 1 %add = add i64 %mul, 10 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -69,7 +69,7 @@ %mul = mul i64 %i.03, %n %add = add i64 %mul, 10 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 @@ -107,7 +107,7 @@ store i32 %conv, i32* %arrayidx, align 4 %mul = shl i64 %i.02, 1 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %mul - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -142,7 +142,7 @@ store i32 %conv, i32* %arrayidx, align 4 %mul = shl i64 %i.02, 1 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %mul - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -177,7 +177,7 @@ store i32 %conv, i32* %arrayidx, align 4 %mul = shl i64 %i.02, 1 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %mul - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -212,7 +212,7 @@ store i32 %conv, i32* %arrayidx, align 4 %mul = shl i64 %i.02, 1 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %mul - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1 store i32 %0, i32* %B.addr.01, align 4 %inc = add i64 %i.02, 1 @@ -251,7 +251,7 @@ store i32 %conv, i32* %arrayidx, align 4 %mul = mul i64 %i.03, 3 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %mul - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.02, i64 1 store i32 %0, i32* %B.addr.02, align 4 %inc = add i64 %i.03, 1 Index: llvm/trunk/test/Analysis/DependenceAnalysis/ZIV.ll =================================================================== --- llvm/trunk/test/Analysis/DependenceAnalysis/ZIV.ll +++ llvm/trunk/test/Analysis/DependenceAnalysis/ZIV.ll @@ -23,7 +23,7 @@ %add1 = add i64 %n, 1 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %add1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 store i32 %0, i32* %B, align 4 ret void } @@ -46,7 +46,7 @@ %add = add i64 %n, 1 %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %add - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 store i32 %0, i32* %B, align 4 ret void } @@ -68,7 +68,7 @@ ; CHECK: da analyze - none! %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %m - %0 = load i32* %arrayidx1, align 4 + %0 = load i32, i32* %arrayidx1, align 4 store i32 %0, i32* %B, align 4 ret void } Index: llvm/trunk/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll =================================================================== --- llvm/trunk/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll +++ llvm/trunk/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll @@ -3,7 +3,7 @@ @g = internal global i32 0 ; [#uses=2] define i32 @r() { - %tmp = load i32* @g ; [#uses=1] + %tmp = load i32, i32* @g ; [#uses=1] ret i32 %tmp } Index: llvm/trunk/test/Analysis/GlobalsModRef/aliastest.ll =================================================================== --- llvm/trunk/test/Analysis/GlobalsModRef/aliastest.ll +++ llvm/trunk/test/Analysis/GlobalsModRef/aliastest.ll @@ -9,6 +9,6 @@ ; CHECK-NEXT: ret i32 7 store i32 7, i32* %P store i32 12, i32* @X - %V = load i32* %P ; [#uses=1] + %V = load i32, i32* %P ; [#uses=1] ret i32 %V } Index: llvm/trunk/test/Analysis/GlobalsModRef/chaining-analysis.ll =================================================================== --- llvm/trunk/test/Analysis/GlobalsModRef/chaining-analysis.ll +++ llvm/trunk/test/Analysis/GlobalsModRef/chaining-analysis.ll @@ -14,7 +14,7 @@ ; CHECK-NEXT: ret i32 12 store i32 12, i32* @X call double @doesnotmodX( double 1.000000e+00 ) ; :1 [#uses=0] - %V = load i32* @X ; [#uses=1] + %V = load i32, i32* @X ; [#uses=1] ret i32 %V } Index: llvm/trunk/test/Analysis/GlobalsModRef/indirect-global.ll =================================================================== --- llvm/trunk/test/Analysis/GlobalsModRef/indirect-global.ll +++ llvm/trunk/test/Analysis/GlobalsModRef/indirect-global.ll @@ -12,11 +12,11 @@ define i32 @test1(i32* %P) { ; CHECK: ret i32 0 - %g1 = load i32** @G ; [#uses=2] - %h1 = load i32* %g1 ; [#uses=1] + %g1 = load i32*, i32** @G ; [#uses=2] + %h1 = load i32, i32* %g1 ; [#uses=1] store i32 123, i32* %P - %g2 = load i32** @G ; [#uses=0] - %h2 = load i32* %g1 ; [#uses=1] + %g2 = load i32*, i32** @G ; [#uses=0] + %h2 = load i32, i32* %g1 ; [#uses=1] %X = sub i32 %h1, %h2 ; [#uses=1] ret i32 %X } Index: llvm/trunk/test/Analysis/GlobalsModRef/modreftest.ll =================================================================== --- llvm/trunk/test/Analysis/GlobalsModRef/modreftest.ll +++ llvm/trunk/test/Analysis/GlobalsModRef/modreftest.ll @@ -9,7 +9,7 @@ ; CHECK-NEXT: ret i32 12 store i32 12, i32* @X call void @doesnotmodX( ) - %V = load i32* @X ; [#uses=1] + %V = load i32, i32* @X ; [#uses=1] ret i32 %V } Index: llvm/trunk/test/Analysis/GlobalsModRef/pr12351.ll =================================================================== --- llvm/trunk/test/Analysis/GlobalsModRef/pr12351.ll +++ llvm/trunk/test/Analysis/GlobalsModRef/pr12351.ll @@ -9,7 +9,7 @@ define void @bar(i8* %y, i8* %z) { %x = alloca i8 call void @foo(i8* %x, i8* %y) - %t = load i8* %x + %t = load i8, i8* %x store i8 %t, i8* %y ; CHECK: store i8 %t, i8* %y ret void @@ -19,8 +19,8 @@ define i32 @foo2() { %foo = alloca i32 call void @bar2(i32* %foo) - %t0 = load i32* %foo, align 4 -; CHECK: %t0 = load i32* %foo, align 4 + %t0 = load i32, i32* %foo, align 4 +; CHECK: %t0 = load i32, i32* %foo, align 4 ret i32 %t0 } Index: llvm/trunk/test/Analysis/GlobalsModRef/volatile-instrs.ll =================================================================== --- llvm/trunk/test/Analysis/GlobalsModRef/volatile-instrs.ll +++ llvm/trunk/test/Analysis/GlobalsModRef/volatile-instrs.ll @@ -22,7 +22,7 @@ define i32 @main() nounwind uwtable ssp { main_entry: tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%struct.anon* @b to i8*), i8* bitcast (%struct.anon* @a to i8*), i64 12, i32 4, i1 false) - %0 = load volatile i32* getelementptr inbounds (%struct.anon* @b, i64 0, i32 0), align 4 + %0 = load volatile i32, i32* getelementptr inbounds (%struct.anon* @b, i64 0, i32 0), align 4 store i32 %0, i32* @c, align 4 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%struct.anon* @b to i8*), i8* bitcast (%struct.anon* @a to i8*), i64 12, i32 4, i1 false) nounwind %call = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str, i64 0, i64 0), i32 %0) nounwind Index: llvm/trunk/test/Analysis/LazyCallGraph/basic.ll =================================================================== --- llvm/trunk/test/Analysis/LazyCallGraph/basic.ll +++ llvm/trunk/test/Analysis/LazyCallGraph/basic.ll @@ -118,10 +118,10 @@ ; CHECK-NEXT: -> f1 ; CHECK-NOT: -> - load i8** bitcast (void ()** @g to i8**) - load i8** bitcast (void ()** getelementptr ([4 x void ()*]* @g1, i32 0, i32 2) to i8**) - load i8** bitcast (void ()** getelementptr ({i8, void ()*, i8}* @g2, i32 0, i32 1) to i8**) - load i8** bitcast (void ()** @h to i8**) + load i8*, i8** bitcast (void ()** @g to i8**) + load i8*, i8** bitcast (void ()** getelementptr ([4 x void ()*]* @g1, i32 0, i32 2) to i8**) + load i8*, i8** bitcast (void ()** getelementptr ({i8, void ()*, i8}* @g2, i32 0, i32 1) to i8**) + load i8*, i8** bitcast (void ()** @h to i8**) ret void } Index: llvm/trunk/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll =================================================================== --- llvm/trunk/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll +++ llvm/trunk/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll @@ -20,18 +20,18 @@ define void @f() { entry: - %a = load i32** @A, align 8 - %b = load i32** @B, align 8 + %a = load i32*, i32** @A, align 8 + %b = load i32*, i32** @B, align 8 br label %for.body for.body: ; preds = %for.body, %entry %storemerge3 = phi i64 [ 0, %entry ], [ %add, %for.body ] %arrayidxA = getelementptr inbounds i32, i32* %a, i64 %storemerge3 - %loadA = load i32* %arrayidxA, align 2 + %loadA = load i32, i32* %arrayidxA, align 2 %arrayidxB = getelementptr inbounds i32, i32* %b, i64 %storemerge3 - %loadB = load i32* %arrayidxB, align 2 + %loadB = load i32, i32* %arrayidxB, align 2 %mul = mul i32 %loadB, %loadA Index: llvm/trunk/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-no-dbg.ll =================================================================== --- llvm/trunk/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-no-dbg.ll +++ llvm/trunk/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-no-dbg.ll @@ -28,22 +28,22 @@ define void @f() { entry: - %a = load i16** @A, align 8 - %b = load i16** @B, align 8 - %c = load i16** @C, align 8 + %a = load i16*, i16** @A, align 8 + %b = load i16*, i16** @B, align 8 + %c = load i16*, i16** @C, align 8 br label %for.body for.body: ; preds = %for.body, %entry %storemerge3 = phi i64 [ 0, %entry ], [ %add, %for.body ] %arrayidxA = getelementptr inbounds i16, i16* %a, i64 %storemerge3 - %loadA = load i16* %arrayidxA, align 2 + %loadA = load i16, i16* %arrayidxA, align 2 %arrayidxB = getelementptr inbounds i16, i16* %b, i64 %storemerge3 - %loadB = load i16* %arrayidxB, align 2 + %loadB = load i16, i16* %arrayidxB, align 2 %arrayidxC = getelementptr inbounds i16, i16* %c, i64 %storemerge3 - %loadC = load i16* %arrayidxC, align 2 + %loadC = load i16, i16* %arrayidxC, align 2 %mul = mul i16 %loadB, %loadA %mul1 = mul i16 %mul, %loadC Index: llvm/trunk/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll =================================================================== --- llvm/trunk/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll +++ llvm/trunk/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll @@ -11,7 +11,7 @@ ; CHECK: Report: unsafe dependent memory operations in loop -; DEBUG: LAA: Distance for %loadA = load i16* %arrayidxA, align 2 to store i16 %mul1, i16* %arrayidxA_plus_2, align 2: 2 +; DEBUG: LAA: Distance for %loadA = load i16, i16* %arrayidxA, align 2 to store i16 %mul1, i16* %arrayidxA_plus_2, align 2: 2 ; DEBUG-NEXT: LAA: Failure because of Positive distance 2 ; CHECK: Run-time memory checks: @@ -29,22 +29,22 @@ define void @f() { entry: - %a = load i16** @A, align 8 - %b = load i16** @B, align 8 - %c = load i16** @C, align 8 + %a = load i16*, i16** @A, align 8 + %b = load i16*, i16** @B, align 8 + %c = load i16*, i16** @C, align 8 br label %for.body for.body: ; preds = %for.body, %entry %storemerge3 = phi i64 [ 0, %entry ], [ %add, %for.body ] %arrayidxA = getelementptr inbounds i16, i16* %a, i64 %storemerge3 - %loadA = load i16* %arrayidxA, align 2 + %loadA = load i16, i16* %arrayidxA, align 2 %arrayidxB = getelementptr inbounds i16, i16* %b, i64 %storemerge3 - %loadB = load i16* %arrayidxB, align 2 + %loadB = load i16, i16* %arrayidxB, align 2 %arrayidxC = getelementptr inbounds i16, i16* %c, i64 %storemerge3 - %loadC = load i16* %arrayidxC, align 2 + %loadC = load i16, i16* %arrayidxC, align 2 %mul = mul i16 %loadB, %loadA %mul1 = mul i16 %mul, %loadC Index: llvm/trunk/test/Analysis/MemoryDependenceAnalysis/memdep_requires_dominator_tree.ll =================================================================== --- llvm/trunk/test/Analysis/MemoryDependenceAnalysis/memdep_requires_dominator_tree.ll +++ llvm/trunk/test/Analysis/MemoryDependenceAnalysis/memdep_requires_dominator_tree.ll @@ -11,7 +11,7 @@ %i.01 = phi i32 [ 0, %entry ], [ %tmp8.7, %for.body ] %arrayidx = getelementptr i32, i32* %bufUInt, i32 %i.01 %arrayidx5 = getelementptr i32, i32* %pattern, i32 %i.01 - %tmp6 = load i32* %arrayidx5, align 4 + %tmp6 = load i32, i32* %arrayidx5, align 4 store i32 %tmp6, i32* %arrayidx, align 4 %tmp8.7 = add i32 %i.01, 8 %cmp.7 = icmp ult i32 %tmp8.7, 1024 Index: llvm/trunk/test/Analysis/ScalarEvolution/2008-07-12-UnneededSelect1.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/2008-07-12-UnneededSelect1.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/2008-07-12-UnneededSelect1.ll @@ -16,11 +16,11 @@ bb: ; preds = %bb1, %bb.nph %j.01 = phi i32 [ %8, %bb1 ], [ 0, %bb.nph ] ; [#uses=1] - load i32* %srcptr, align 4 ; :1 [#uses=2] + load i32, i32* %srcptr, align 4 ; :1 [#uses=2] and i32 %1, 255 ; :2 [#uses=1] and i32 %1, -256 ; :3 [#uses=1] getelementptr [256 x i8], [256 x i8]* @lut, i32 0, i32 %2 ; :4 [#uses=1] - load i8* %4, align 1 ; :5 [#uses=1] + load i8, i8* %4, align 1 ; :5 [#uses=1] zext i8 %5 to i32 ; :6 [#uses=1] or i32 %6, %3 ; :7 [#uses=1] store i32 %7, i32* %dstptr, align 4 Index: llvm/trunk/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll @@ -10,7 +10,7 @@ %indvar = phi i32 [ 0, %bb1.thread ], [ %indvar.next, %bb1 ] ; [#uses=4] %i.0.reg2mem.0 = sub i32 255, %indvar ; [#uses=2] %0 = getelementptr i32, i32* %alp, i32 %i.0.reg2mem.0 ; [#uses=1] - %1 = load i32* %0, align 4 ; [#uses=1] + %1 = load i32, i32* %0, align 4 ; [#uses=1] %2 = getelementptr i32, i32* %lam, i32 %i.0.reg2mem.0 ; [#uses=1] store i32 %1, i32* %2, align 4 %3 = sub i32 254, %indvar ; [#uses=1] Index: llvm/trunk/test/Analysis/ScalarEvolution/2009-01-02-SignedNegativeStride.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/2009-01-02-SignedNegativeStride.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/2009-01-02-SignedNegativeStride.ll @@ -9,12 +9,12 @@ define void @func_15() nounwind { entry: - %0 = load i16* @g_16, align 2 ; [#uses=1] + %0 = load i16, i16* @g_16, align 2 ; [#uses=1] %1 = icmp sgt i16 %0, 0 ; [#uses=1] br i1 %1, label %bb2, label %bb.nph bb.nph: ; preds = %entry - %g_16.promoted = load i16* @g_16 ; [#uses=1] + %g_16.promoted = load i16, i16* @g_16 ; [#uses=1] br label %bb bb: ; preds = %bb1, %bb.nph Index: llvm/trunk/test/Analysis/ScalarEvolution/2009-07-04-GroupConstantsWidthMismatch.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/2009-07-04-GroupConstantsWidthMismatch.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/2009-07-04-GroupConstantsWidthMismatch.ll @@ -3,11 +3,11 @@ define void @test() { entry: - %0 = load i16* undef, align 1 + %0 = load i16, i16* undef, align 1 %1 = lshr i16 %0, 8 %2 = and i16 %1, 3 %3 = zext i16 %2 to i32 - %4 = load i8* undef, align 1 + %4 = load i8, i8* undef, align 1 %5 = lshr i8 %4, 4 %6 = and i8 %5, 1 %7 = zext i8 %6 to i32 Index: llvm/trunk/test/Analysis/ScalarEvolution/2012-03-26-LoadConstant.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/2012-03-26-LoadConstant.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/2012-03-26-LoadConstant.ll @@ -19,20 +19,20 @@ br label %for.cond for.cond: ; preds = %for.body, %lbl_818 - %0 = load i32* @g_814, align 4 + %0 = load i32, i32* @g_814, align 4 %cmp = icmp sle i32 %0, 0 br i1 %cmp, label %for.body, label %for.end for.body: ; preds = %for.cond %idxprom = sext i32 %0 to i64 %arrayidx = getelementptr inbounds [0 x i32], [0 x i32]* getelementptr inbounds ([1 x [0 x i32]]* @g_244, i32 0, i64 0), i32 0, i64 %idxprom - %1 = load i32* %arrayidx, align 1 + %1 = load i32, i32* %arrayidx, align 1 store i32 %1, i32* @func_21_l_773, align 4 store i32 1, i32* @g_814, align 4 br label %for.cond for.end: ; preds = %for.cond - %2 = load i32* @func_21_l_773, align 4 + %2 = load i32, i32* @func_21_l_773, align 4 %tobool = icmp ne i32 %2, 0 br i1 %tobool, label %lbl_818, label %if.end Index: llvm/trunk/test/Analysis/ScalarEvolution/avoid-infinite-recursion-0.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/avoid-infinite-recursion-0.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/avoid-infinite-recursion-0.ll @@ -7,7 +7,7 @@ define i32 @test() { entry: - %0 = load i32** undef, align 8 ; [#uses=1] + %0 = load i32*, i32** undef, align 8 ; [#uses=1] %1 = ptrtoint i32* %0 to i64 ; [#uses=1] %2 = sub i64 undef, %1 ; [#uses=1] %3 = lshr i64 %2, 3 ; [#uses=1] Index: llvm/trunk/test/Analysis/ScalarEvolution/avoid-smax-0.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/avoid-smax-0.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/avoid-smax-0.ll @@ -11,7 +11,7 @@ br i1 %0, label %bb, label %return bb: - load i32* %q, align 4 + load i32, i32* %q, align 4 icmp eq i32 %1, 0 br i1 %2, label %return, label %bb3.preheader @@ -21,7 +21,7 @@ bb3: %i.0 = phi i32 [ %7, %bb3 ], [ 0, %bb3.preheader ] getelementptr i32, i32* %p, i32 %i.0 - load i32* %3, align 4 + load i32, i32* %3, align 4 add i32 %4, 1 getelementptr i32, i32* %p, i32 %i.0 store i32 %5, i32* %6, align 4 Index: llvm/trunk/test/Analysis/ScalarEvolution/avoid-smax-1.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/avoid-smax-1.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/avoid-smax-1.ll @@ -36,7 +36,7 @@ %8 = shl i32 %x.06, 1 ; [#uses=1] %9 = add i32 %6, %8 ; [#uses=1] %10 = getelementptr i8, i8* %r, i32 %9 ; [#uses=1] - %11 = load i8* %10, align 1 ; [#uses=1] + %11 = load i8, i8* %10, align 1 ; [#uses=1] %12 = getelementptr i8, i8* %j, i32 %7 ; [#uses=1] store i8 %11, i8* %12, align 1 %13 = add i32 %x.06, 1 ; [#uses=2] @@ -103,7 +103,7 @@ %29 = shl i32 %x.12, 2 ; [#uses=1] %30 = add i32 %29, %25 ; [#uses=1] %31 = getelementptr i8, i8* %r, i32 %30 ; [#uses=1] - %32 = load i8* %31, align 1 ; [#uses=1] + %32 = load i8, i8* %31, align 1 ; [#uses=1] %.sum = add i32 %26, %x.12 ; [#uses=1] %33 = getelementptr i8, i8* %j, i32 %.sum ; [#uses=1] store i8 %32, i8* %33, align 1 @@ -111,7 +111,7 @@ %35 = or i32 %34, 2 ; [#uses=1] %36 = add i32 %35, %25 ; [#uses=1] %37 = getelementptr i8, i8* %r, i32 %36 ; [#uses=1] - %38 = load i8* %37, align 1 ; [#uses=1] + %38 = load i8, i8* %37, align 1 ; [#uses=1] %.sum6 = add i32 %27, %x.12 ; [#uses=1] %39 = getelementptr i8, i8* %j, i32 %.sum6 ; [#uses=1] store i8 %38, i8* %39, align 1 Index: llvm/trunk/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll @@ -53,7 +53,7 @@ ; CHECK: %idx.sext = sext i32 %idx to i64 ; CHECK-NEXT: --> {(2 + (sext i32 (4 * %start) to i64)),+,2}<%loop> %idx.inc = add nsw i32 %idx, 2 - %condition = load i1* %c + %condition = load i1, i1* %c br i1 %condition, label %exit, label %loop exit: @@ -73,7 +73,7 @@ ; CHECK: %idx.sext = sext i8 %idx to i16 ; CHECK-NEXT: --> {(1 + (sext i8 %start to i16)),+,1}<%loop> %idx.inc = add nsw i8 %idx, 1 - %condition = load volatile i1* %c + %condition = load volatile i1, i1* %c br i1 %condition, label %exit, label %loop exit: @@ -93,7 +93,7 @@ ; CHECK: %idx.zext = zext i8 %idx to i16 ; CHECK-NEXT: --> {(1 + (zext i8 %start to i16)),+,1}<%loop> %idx.inc = add nuw i8 %idx, 1 - %condition = load volatile i1* %c + %condition = load volatile i1, i1* %c br i1 %condition, label %exit, label %loop exit: Index: llvm/trunk/test/Analysis/ScalarEvolution/load-with-range-metadata.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/load-with-range-metadata.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/load-with-range-metadata.ll @@ -3,7 +3,7 @@ define i32 @slt_trip_count_with_range(i32 *%ptr0, i32 *%ptr1) { ; CHECK-LABEL: slt_trip_count_with_range entry: - %limit = load i32* %ptr0, !range !0 + %limit = load i32, i32* %ptr0, !range !0 br label %loop loop: @@ -20,7 +20,7 @@ define i32 @ult_trip_count_with_range(i32 *%ptr0, i32 *%ptr1) { ; CHECK-LABEL: ult_trip_count_with_range entry: - %limit = load i32* %ptr0, !range !0 + %limit = load i32, i32* %ptr0, !range !0 br label %loop loop: Index: llvm/trunk/test/Analysis/ScalarEvolution/load.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/load.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/load.ll @@ -17,10 +17,10 @@ ; CHECK: --> %sum.04{{ *}}Exits: 2450 %i.03 = phi i32 [ 0, %entry ], [ %inc, %for.body ] %arrayidx = getelementptr inbounds [50 x i32], [50 x i32]* @arr1, i32 0, i32 %i.03 - %0 = load i32* %arrayidx, align 4 + %0 = load i32, i32* %arrayidx, align 4 ; CHECK: --> %0{{ *}}Exits: 50 %arrayidx1 = getelementptr inbounds [50 x i32], [50 x i32]* @arr2, i32 0, i32 %i.03 - %1 = load i32* %arrayidx1, align 4 + %1 = load i32, i32* %arrayidx1, align 4 ; CHECK: --> %1{{ *}}Exits: 0 %add = add i32 %0, %sum.04 %add2 = add i32 %add, %1 @@ -52,10 +52,10 @@ %n.01 = phi %struct.ListNode* [ bitcast ({ %struct.ListNode*, i32, [4 x i8] }* @node5 to %struct.ListNode*), %entry ], [ %1, %for.body ] ; CHECK: --> %n.01{{ *}}Exits: @node1 %i = getelementptr inbounds %struct.ListNode, %struct.ListNode* %n.01, i64 0, i32 1 - %0 = load i32* %i, align 4 + %0 = load i32, i32* %i, align 4 %add = add nsw i32 %0, %sum.02 %next = getelementptr inbounds %struct.ListNode, %struct.ListNode* %n.01, i64 0, i32 0 - %1 = load %struct.ListNode** %next, align 8 + %1 = load %struct.ListNode*, %struct.ListNode** %next, align 8 ; CHECK: --> %1{{ *}}Exits: 0 %cmp = icmp eq %struct.ListNode* %1, null br i1 %cmp, label %for.end, label %for.body Index: llvm/trunk/test/Analysis/ScalarEvolution/max-trip-count.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/max-trip-count.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/max-trip-count.ll @@ -174,7 +174,7 @@ for.cond.i: ; preds = %for.body.i store i32 %add.i.i, i32* @a, align 4 - %ld = load volatile i32* @b + %ld = load volatile i32, i32* @b %cmp.i = icmp ne i32 %ld, 0 br i1 %cmp.i, label %for.body.i, label %bar.exit Index: llvm/trunk/test/Analysis/ScalarEvolution/min-max-exprs.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/min-max-exprs.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/min-max-exprs.ll @@ -35,7 +35,7 @@ ; CHECK: select i1 %tmp4, i64 %tmp5, i64 %tmp6 ; CHECK-NEXT: --> (-1 + (-1 * ((-1 + (-1 * (sext i32 {3,+,1}<%bb1> to i64))) smax (-1 + (-1 * (sext i32 %N to i64)))))) %tmp11 = getelementptr inbounds i32, i32* %A, i64 %tmp9 - %tmp12 = load i32* %tmp11, align 4 + %tmp12 = load i32, i32* %tmp11, align 4 %tmp13 = shl nsw i32 %tmp12, 1 %tmp14 = icmp sge i32 3, %i.0 %tmp17 = add nsw i64 %i.0.1, -3 Index: llvm/trunk/test/Analysis/ScalarEvolution/nsw-offset-assume.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/nsw-offset-assume.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/nsw-offset-assume.ll @@ -28,10 +28,10 @@ ; CHECK: --> {%d,+,16}<%bb> %2 = getelementptr inbounds double, double* %d, i64 %1 ; [#uses=1] - %3 = load double* %2, align 8 ; [#uses=1] + %3 = load double, double* %2, align 8 ; [#uses=1] %4 = sext i32 %i.01 to i64 ; [#uses=1] %5 = getelementptr inbounds double, double* %q, i64 %4 ; [#uses=1] - %6 = load double* %5, align 8 ; [#uses=1] + %6 = load double, double* %5, align 8 ; [#uses=1] %7 = or i32 %i.01, 1 ; [#uses=1] ; CHECK: %8 = sext i32 %7 to i64 @@ -54,7 +54,7 @@ ; CHECK: {(8 + %q),+,16}<%bb> %t9 = getelementptr inbounds double, double* %q, i64 %t8 ; [#uses=1] - %10 = load double* %9, align 8 ; [#uses=1] + %10 = load double, double* %9, align 8 ; [#uses=1] %11 = fadd double %6, %10 ; [#uses=1] %12 = fadd double %11, 3.200000e+00 ; [#uses=1] %13 = fmul double %3, %12 ; [#uses=1] Index: llvm/trunk/test/Analysis/ScalarEvolution/nsw-offset.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/nsw-offset.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/nsw-offset.ll @@ -26,10 +26,10 @@ ; CHECK: --> {%d,+,16}<%bb> %2 = getelementptr inbounds double, double* %d, i64 %1 ; [#uses=1] - %3 = load double* %2, align 8 ; [#uses=1] + %3 = load double, double* %2, align 8 ; [#uses=1] %4 = sext i32 %i.01 to i64 ; [#uses=1] %5 = getelementptr inbounds double, double* %q, i64 %4 ; [#uses=1] - %6 = load double* %5, align 8 ; [#uses=1] + %6 = load double, double* %5, align 8 ; [#uses=1] %7 = or i32 %i.01, 1 ; [#uses=1] ; CHECK: %8 = sext i32 %7 to i64 @@ -52,7 +52,7 @@ ; CHECK: {(8 + %q),+,16}<%bb> %t9 = getelementptr inbounds double, double* %q, i64 %t8 ; [#uses=1] - %10 = load double* %9, align 8 ; [#uses=1] + %10 = load double, double* %9, align 8 ; [#uses=1] %11 = fadd double %6, %10 ; [#uses=1] %12 = fadd double %11, 3.200000e+00 ; [#uses=1] %13 = fmul double %3, %12 ; [#uses=1] Index: llvm/trunk/test/Analysis/ScalarEvolution/nsw.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/nsw.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/nsw.ll @@ -7,7 +7,7 @@ ; CHECK: Classifying expressions for: @test1 define void @test1(double* %p) nounwind { entry: - %tmp = load double* %p, align 8 ; [#uses=1] + %tmp = load double, double* %p, align 8 ; [#uses=1] %tmp1 = fcmp ogt double %tmp, 2.000000e+00 ; [#uses=1] br i1 %tmp1, label %bb.nph, label %return @@ -20,7 +20,7 @@ ; CHECK-NEXT: --> {0,+,1}<%bb> %tmp2 = sext i32 %i.01 to i64 ; [#uses=1] %tmp3 = getelementptr double, double* %p, i64 %tmp2 ; [#uses=1] - %tmp4 = load double* %tmp3, align 8 ; [#uses=1] + %tmp4 = load double, double* %tmp3, align 8 ; [#uses=1] %tmp5 = fmul double %tmp4, 9.200000e+00 ; [#uses=1] %tmp6 = sext i32 %i.01 to i64 ; [#uses=1] %tmp7 = getelementptr double, double* %p, i64 %tmp6 ; [#uses=1] @@ -39,7 +39,7 @@ %tmp9 = getelementptr double, double* %p, i64 %phitmp ; [#uses=1] ; CHECK: %tmp9 ; CHECK-NEXT: --> {(8 + %p),+,8}<%bb> - %tmp10 = load double* %tmp9, align 8 ; [#uses=1] + %tmp10 = load double, double* %tmp9, align 8 ; [#uses=1] %tmp11 = fcmp ogt double %tmp10, 2.000000e+00 ; [#uses=1] br i1 %tmp11, label %bb, label %bb1.return_crit_edge Index: llvm/trunk/test/Analysis/ScalarEvolution/pr22179.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/pr22179.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/pr22179.ll @@ -14,7 +14,7 @@ loop: %storemerge1 = phi i8 [ 0, %0 ], [ %inc, %loop ] - %m = load volatile i32* getelementptr inbounds (%struct.S* @b, i64 0, i32 0), align 4 + %m = load volatile i32, i32* getelementptr inbounds (%struct.S* @b, i64 0, i32 0), align 4 %inc = add nuw i8 %storemerge1, 1 ; CHECK: %inc = add nuw i8 %storemerge1, 1 ; CHECK-NEXT: --> {1,+,1}<%loop> Index: llvm/trunk/test/Analysis/ScalarEvolution/pr22674.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/pr22674.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/pr22674.ll @@ -45,9 +45,9 @@ _ZNK4llvm12AttributeSet3endEj.exit: ; preds = %for.end %second.i.i.i = getelementptr inbounds %"struct.std::pair.241.2040.3839.6152.6923.7694.8465.9493.10007.10264.18507", %"struct.std::pair.241.2040.3839.6152.6923.7694.8465.9493.10007.10264.18507"* undef, i32 %I.099.lcssa129, i32 1 - %0 = load %"class.llvm::AttributeSetNode.230.2029.3828.6141.6912.7683.8454.9482.9996.10253.18506"** %second.i.i.i, align 4, !tbaa !2 + %0 = load %"class.llvm::AttributeSetNode.230.2029.3828.6141.6912.7683.8454.9482.9996.10253.18506"*, %"class.llvm::AttributeSetNode.230.2029.3828.6141.6912.7683.8454.9482.9996.10253.18506"** %second.i.i.i, align 4, !tbaa !2 %NumAttrs.i.i.i = getelementptr inbounds %"class.llvm::AttributeSetNode.230.2029.3828.6141.6912.7683.8454.9482.9996.10253.18506", %"class.llvm::AttributeSetNode.230.2029.3828.6141.6912.7683.8454.9482.9996.10253.18506"* %0, i32 0, i32 1 - %1 = load i32* %NumAttrs.i.i.i, align 4, !tbaa !8 + %1 = load i32, i32* %NumAttrs.i.i.i, align 4, !tbaa !8 %add.ptr.i.i.i55 = getelementptr inbounds %"class.llvm::Attribute.222.2021.3820.6133.6904.7675.8446.9474.9988.10245.18509", %"class.llvm::Attribute.222.2021.3820.6133.6904.7675.8446.9474.9988.10245.18509"* undef, i32 %1 br i1 undef, label %return, label %for.body11 @@ -58,7 +58,7 @@ for.body11: ; preds = %for.cond9, %_ZNK4llvm12AttributeSet3endEj.exit %I5.096 = phi %"class.llvm::Attribute.222.2021.3820.6133.6904.7675.8446.9474.9988.10245.18509"* [ %incdec.ptr, %for.cond9 ], [ undef, %_ZNK4llvm12AttributeSet3endEj.exit ] %2 = bitcast %"class.llvm::Attribute.222.2021.3820.6133.6904.7675.8446.9474.9988.10245.18509"* %I5.096 to i32* - %3 = load i32* %2, align 4, !tbaa !10 + %3 = load i32, i32* %2, align 4, !tbaa !10 %tobool.i59 = icmp eq i32 %3, 0 br i1 %tobool.i59, label %cond.false21, label %_ZNK4llvm9Attribute15isEnumAttributeEv.exit Index: llvm/trunk/test/Analysis/ScalarEvolution/scev-aa.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/scev-aa.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/scev-aa.ll @@ -22,8 +22,8 @@ %pi = getelementptr double, double* %p, i64 %i %i.next = add i64 %i, 1 %pi.next = getelementptr double, double* %p, i64 %i.next - %x = load double* %pi - %y = load double* %pi.next + %x = load double, double* %pi + %y = load double, double* %pi.next %z = fmul double %x, %y store double %z, double* %pi %exitcond = icmp eq i64 %i.next, %n @@ -61,15 +61,15 @@ %pi.j = getelementptr double, double* %p, i64 %e %f = add i64 %i.next, %j %pi.next.j = getelementptr double, double* %p, i64 %f - %x = load double* %pi.j - %y = load double* %pi.next.j + %x = load double, double* %pi.j + %y = load double, double* %pi.next.j %z = fmul double %x, %y store double %z, double* %pi.j %o = add i64 %j, 91 %g = add i64 %i, %o %pi.j.next = getelementptr double, double* %p, i64 %g - %a = load double* %pi.j.next + %a = load double, double* %pi.j.next %b = fmul double %x, %a store double %b, double* %pi.j.next @@ -118,15 +118,15 @@ %pi.j = getelementptr double, double* %p, i64 %e %f = add i64 %i.next, %j %pi.next.j = getelementptr double, double* %p, i64 %f - %x = load double* %pi.j - %y = load double* %pi.next.j + %x = load double, double* %pi.j + %y = load double, double* %pi.next.j %z = fmul double %x, %y store double %z, double* %pi.j %o = add i64 %j, %n %g = add i64 %i, %o %pi.j.next = getelementptr double, double* %p, i64 %g - %a = load double* %pi.j.next + %a = load double, double* %pi.j.next %b = fmul double %x, %a store double %b, double* %pi.j.next @@ -202,7 +202,7 @@ %inc = add nsw i64 %i, 1 ; [#uses=2] %arrayidx = getelementptr inbounds i64, i64* %p, i64 %inc store i64 0, i64* %arrayidx - %tmp6 = load i64* %p ; [#uses=1] + %tmp6 = load i64, i64* %p ; [#uses=1] %cmp = icmp slt i64 %inc, %tmp6 ; [#uses=1] br i1 %cmp, label %for.body, label %for.end Index: llvm/trunk/test/Analysis/ScalarEvolution/scev-prestart-nowrap.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/scev-prestart-nowrap.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/scev-prestart-nowrap.ll @@ -66,7 +66,7 @@ br i1 %break.early, label %continue.1, label %early.exit continue.1: - %cond = load volatile i1* %unknown + %cond = load volatile i1, i1* %unknown %idx.inc = add nsw i32 %idx, 1 br i1 %cond, label %loop, label %continue Index: llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-0.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-0.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-0.ll @@ -24,7 +24,7 @@ ; CHECK: %2 ; CHECK-NEXT: --> {-128,+,1}<%bb1> Exits: 127 %3 = getelementptr double, double* %x, i64 %2 ; [#uses=1] - %4 = load double* %3, align 8 ; [#uses=1] + %4 = load double, double* %3, align 8 ; [#uses=1] %5 = fmul double %4, 3.900000e+00 ; [#uses=1] %6 = sext i8 %0 to i64 ; [#uses=1] %7 = getelementptr double, double* %x, i64 %6 ; [#uses=1] Index: llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-1.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-1.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-1.ll @@ -24,7 +24,7 @@ %1 = trunc i64 %i.0.reg2mem.0 to i9 ; [#uses=1] %2 = sext i9 %1 to i64 ; [#uses=1] %3 = getelementptr double, double* %x, i64 %2 ; [#uses=1] - %4 = load double* %3, align 8 ; [#uses=1] + %4 = load double, double* %3, align 8 ; [#uses=1] %5 = fmul double %4, 3.900000e+00 ; [#uses=1] %6 = sext i7 %0 to i64 ; [#uses=1] %7 = getelementptr double, double* %x, i64 %6 ; [#uses=1] @@ -47,7 +47,7 @@ %1 = trunc i64 %i.0.reg2mem.0 to i9 ; [#uses=1] %2 = sext i9 %1 to i64 ; [#uses=1] %3 = getelementptr double, double* %x, i64 %2 ; [#uses=1] - %4 = load double* %3, align 8 ; [#uses=1] + %4 = load double, double* %3, align 8 ; [#uses=1] %5 = fmul double %4, 3.900000e+00 ; [#uses=1] %6 = sext i8 %0 to i64 ; [#uses=1] %7 = getelementptr double, double* %x, i64 %6 ; [#uses=1] @@ -70,7 +70,7 @@ %1 = trunc i64 %i.0.reg2mem.0 to i9 ; [#uses=1] %2 = sext i9 %1 to i64 ; [#uses=1] %3 = getelementptr double, double* %x, i64 %2 ; [#uses=1] - %4 = load double* %3, align 8 ; [#uses=1] + %4 = load double, double* %3, align 8 ; [#uses=1] %5 = fmul double %4, 3.900000e+00 ; [#uses=1] %6 = sext i8 %0 to i64 ; [#uses=1] %7 = getelementptr double, double* %x, i64 %6 ; [#uses=1] @@ -93,7 +93,7 @@ %1 = trunc i64 %i.0.reg2mem.0 to i9 ; [#uses=1] %2 = sext i9 %1 to i64 ; [#uses=1] %3 = getelementptr double, double* %x, i64 %2 ; [#uses=1] - %4 = load double* %3, align 8 ; [#uses=1] + %4 = load double, double* %3, align 8 ; [#uses=1] %5 = fmul double %4, 3.900000e+00 ; [#uses=1] %6 = sext i8 %0 to i64 ; [#uses=1] %7 = getelementptr double, double* %x, i64 %6 ; [#uses=1] Index: llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-2.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-2.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/sext-iv-2.ll @@ -56,7 +56,7 @@ br label %bb5 bb5: ; preds = %bb4.bb5_crit_edge, %entry - %tmp12 = load i32* getelementptr ([32 x [256 x i32]]* @table, i64 0, i64 9, i64 132), align 16 ; [#uses=1] + %tmp12 = load i32, i32* getelementptr ([32 x [256 x i32]]* @table, i64 0, i64 9, i64 132), align 16 ; [#uses=1] %tmp13 = icmp eq i32 %tmp12, -1116 ; [#uses=1] br i1 %tmp13, label %bb7, label %bb6 Index: llvm/trunk/test/Analysis/ScalarEvolution/sle.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/sle.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/sle.ll @@ -15,7 +15,7 @@ for.body: ; preds = %for.body, %entry %i = phi i64 [ %i.next, %for.body ], [ 0, %entry ] ; [#uses=2] %arrayidx = getelementptr double, double* %p, i64 %i ; [#uses=2] - %t4 = load double* %arrayidx ; [#uses=1] + %t4 = load double, double* %arrayidx ; [#uses=1] %mul = fmul double %t4, 2.200000e+00 ; [#uses=1] store double %mul, double* %arrayidx %i.next = add nsw i64 %i, 1 ; [#uses=2] Index: llvm/trunk/test/Analysis/ScalarEvolution/trip-count11.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/trip-count11.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/trip-count11.ll @@ -21,7 +21,7 @@ for.inc: ; preds = %for.cond %idxprom = sext i32 %i.0 to i64 %arrayidx = getelementptr inbounds [8 x i32], [8 x i32]* @foo.a, i64 0, 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 @@ -44,7 +44,7 @@ for.inc: ; preds = %for.cond %idxprom = sext i32 %i.0 to i64 %arrayidx = getelementptr inbounds [8 x i32], [8 x i32] addrspace(1)* @foo.a_as1, i64 0, i64 %idxprom - %0 = load i32 addrspace(1)* %arrayidx, align 4 + %0 = load i32, i32 addrspace(1)* %arrayidx, align 4 %add = add nsw i32 %sum.0, %0 %inc = add nsw i32 %i.0, 1 br label %for.cond Index: llvm/trunk/test/Analysis/ScalarEvolution/trip-count12.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/trip-count12.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/trip-count12.ll @@ -17,7 +17,7 @@ %len.addr.04 = phi i32 [ %sub, %for.body ], [ %len, %for.body.preheader ] %res.03 = phi i32 [ %add, %for.body ], [ 0, %for.body.preheader ] %incdec.ptr = getelementptr inbounds i16, i16* %p.addr.05, i32 1 - %0 = load i16* %p.addr.05, align 2 + %0 = load i16, i16* %p.addr.05, align 2 %conv = zext i16 %0 to i32 %add = add i32 %conv, %res.03 %sub = add nsw i32 %len.addr.04, -2 Index: llvm/trunk/test/Analysis/ScalarEvolution/trip-count4.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/trip-count4.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/trip-count4.ll @@ -13,7 +13,7 @@ %s0 = shl i64 %indvar, 8 ; [#uses=1] %indvar.i8 = ashr i64 %s0, 8 ; [#uses=1] %t0 = getelementptr double, double* %d, i64 %indvar.i8 ; [#uses=2] - %t1 = load double* %t0 ; [#uses=1] + %t1 = load double, double* %t0 ; [#uses=1] %t2 = fmul double %t1, 1.000000e-01 ; [#uses=1] store double %t2, double* %t0 %indvar.next = sub i64 %indvar, 1 ; [#uses=2] Index: llvm/trunk/test/Analysis/ScalarEvolution/trip-count5.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/trip-count5.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/trip-count5.ll @@ -9,7 +9,7 @@ define float @t(float* %pTmp1, float* %peakWeight, float* %nrgReducePeakrate, i32 %bim) nounwind { entry: - %tmp3 = load float* %peakWeight, align 4 ; [#uses=2] + %tmp3 = load float, float* %peakWeight, align 4 ; [#uses=2] %tmp2538 = icmp sgt i32 %bim, 0 ; [#uses=1] br i1 %tmp2538, label %bb.nph, label %bb4 @@ -22,12 +22,12 @@ %peakCount.034 = phi float [ %tmp19, %bb1 ], [ %tmp3, %bb.nph ] ; [#uses=1] %tmp6 = sext i32 %hiPart.035 to i64 ; [#uses=1] %tmp7 = getelementptr float, float* %pTmp1, i64 %tmp6 ; [#uses=1] - %tmp8 = load float* %tmp7, align 4 ; [#uses=1] + %tmp8 = load float, float* %tmp7, align 4 ; [#uses=1] %tmp10 = fadd float %tmp8, %distERBhi.036 ; [#uses=3] %tmp12 = add i32 %hiPart.035, 1 ; [#uses=3] %tmp15 = sext i32 %tmp12 to i64 ; [#uses=1] %tmp16 = getelementptr float, float* %peakWeight, i64 %tmp15 ; [#uses=1] - %tmp17 = load float* %tmp16, align 4 ; [#uses=1] + %tmp17 = load float, float* %tmp16, align 4 ; [#uses=1] %tmp19 = fadd float %tmp17, %peakCount.034 ; [#uses=2] br label %bb1 Index: llvm/trunk/test/Analysis/ScalarEvolution/trip-count6.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/trip-count6.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/trip-count6.ll @@ -13,7 +13,7 @@ %mode.0 = phi i8 [ 0, %entry ], [ %indvar.next, %bb4 ] ; [#uses=4] zext i8 %mode.0 to i32 ; :1 [#uses=1] getelementptr [4 x i32], [4 x i32]* @mode_table, i32 0, i32 %1 ; :2 [#uses=1] - load i32* %2, align 4 ; :3 [#uses=1] + load i32, i32* %2, align 4 ; :3 [#uses=1] icmp eq i32 %3, %0 ; :4 [#uses=1] br i1 %4, label %bb1, label %bb2 Index: llvm/trunk/test/Analysis/ScalarEvolution/trip-count7.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/trip-count7.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/trip-count7.ll @@ -73,7 +73,7 @@ store i32 0, i32* %q, align 4 %tmp1 = sext i32 %tmp to i64 ; [#uses=1] %tmp2 = getelementptr [9 x i32], [9 x i32]* %a, i64 0, i64 %tmp1 ; [#uses=1] - %tmp3 = load i32* %tmp2, align 4 ; [#uses=1] + %tmp3 = load i32, i32* %tmp2, align 4 ; [#uses=1] %tmp4 = icmp eq i32 %tmp3, 0 ; [#uses=1] br i1 %tmp4, label %bb.i.bb7.i.backedge_crit_edge, label %bb1.i @@ -81,7 +81,7 @@ %tmp5 = add i32 %j.0.i, 2 ; [#uses=1] %tmp6 = sext i32 %tmp5 to i64 ; [#uses=1] %tmp7 = getelementptr [17 x i32], [17 x i32]* %b, i64 0, i64 %tmp6 ; [#uses=1] - %tmp8 = load i32* %tmp7, align 4 ; [#uses=1] + %tmp8 = load i32, i32* %tmp7, align 4 ; [#uses=1] %tmp9 = icmp eq i32 %tmp8, 0 ; [#uses=1] br i1 %tmp9, label %bb1.i.bb7.i.backedge_crit_edge, label %bb2.i @@ -89,7 +89,7 @@ %tmp10 = sub i32 7, %j.0.i ; [#uses=1] %tmp11 = sext i32 %tmp10 to i64 ; [#uses=1] %tmp12 = getelementptr [15 x i32], [15 x i32]* %c, i64 0, i64 %tmp11 ; [#uses=1] - %tmp13 = load i32* %tmp12, align 4 ; [#uses=1] + %tmp13 = load i32, i32* %tmp12, align 4 ; [#uses=1] %tmp14 = icmp eq i32 %tmp13, 0 ; [#uses=1] br i1 %tmp14, label %bb2.i.bb7.i.backedge_crit_edge, label %bb3.i @@ -108,7 +108,7 @@ %tmp23 = getelementptr [15 x i32], [15 x i32]* %c, i64 0, i64 %tmp22 ; [#uses=1] store i32 0, i32* %tmp23, align 4 call void @Try(i32 2, i32* %q, i32* %b9, i32* %a10, i32* %c11, i32* %x1.sub) nounwind - %tmp24 = load i32* %q, align 4 ; [#uses=1] + %tmp24 = load i32, i32* %q, align 4 ; [#uses=1] %tmp25 = icmp eq i32 %tmp24, 0 ; [#uses=1] br i1 %tmp25, label %bb5.i, label %bb3.i.bb7.i.backedge_crit_edge @@ -131,7 +131,7 @@ bb7.i: ; preds = %bb7.i.backedge, %newFuncRoot %j.0.i = phi i32 [ 0, %newFuncRoot ], [ %tmp, %bb7.i.backedge ] ; [#uses=8] - %tmp34 = load i32* %q, align 4 ; [#uses=1] + %tmp34 = load i32, i32* %q, align 4 ; [#uses=1] %tmp35 = icmp eq i32 %tmp34, 0 ; [#uses=1] %tmp36 = icmp ne i32 %j.0.i, 8 ; [#uses=1] %tmp37 = and i1 %tmp35, %tmp36 ; [#uses=1] Index: llvm/trunk/test/Analysis/ScalarEvolution/zext-signed-addrec.ll =================================================================== --- llvm/trunk/test/Analysis/ScalarEvolution/zext-signed-addrec.ll +++ llvm/trunk/test/Analysis/ScalarEvolution/zext-signed-addrec.ll @@ -15,16 +15,16 @@ ; CHECK-LABEL: foo define i32 @foo() { entry: - %.pr = load i32* @b, align 4 + %.pr = load i32, i32* @b, align 4 %cmp10 = icmp slt i32 %.pr, 1 br i1 %cmp10, label %for.cond1.preheader.lr.ph, label %entry.for.end9_crit_edge entry.for.end9_crit_edge: ; preds = %entry - %.pre = load i32* @c, align 4 + %.pre = load i32, i32* @c, align 4 br label %for.end9 for.cond1.preheader.lr.ph: ; preds = %entry - %0 = load i32* @a, align 4 + %0 = load i32, i32* @a, align 4 %tobool = icmp eq i32 %0, 0 br i1 %tobool, label %for.cond1.preheader.for.cond1.preheader.split_crit_edge, label %return.loopexit.split Index: llvm/trunk/test/Analysis/ScopedNoAliasAA/basic-domains.ll =================================================================== --- llvm/trunk/test/Analysis/ScopedNoAliasAA/basic-domains.ll +++ llvm/trunk/test/Analysis/ScopedNoAliasAA/basic-domains.ll @@ -5,15 +5,15 @@ define void @foo1(float* nocapture %a, float* nocapture readonly %c) #0 { entry: ; CHECK-LABEL: Function: foo1 - %0 = load float* %c, align 4, !alias.scope !9 + %0 = load float, float* %c, align 4, !alias.scope !9 %arrayidx.i = getelementptr inbounds float, float* %a, i64 5 store float %0, float* %arrayidx.i, align 4, !noalias !6 - %1 = load float* %c, align 4, !alias.scope !5 + %1 = load float, float* %c, align 4, !alias.scope !5 %arrayidx.i2 = getelementptr inbounds float, float* %a, i64 15 store float %1, float* %arrayidx.i2, align 4, !noalias !6 - %2 = load float* %c, align 4, !alias.scope !6 + %2 = load float, float* %c, align 4, !alias.scope !6 %arrayidx.i3 = getelementptr inbounds float, float* %a, i64 16 store float %2, float* %arrayidx.i3, align 4, !noalias !5 @@ -42,15 +42,15 @@ ; A list of scopes from both domains. !9 = !{!2, !4, !7} -; CHECK: NoAlias: %0 = load float* %c, align 4, !alias.scope !0 <-> store float %0, float* %arrayidx.i, align 4, !noalias !6 -; CHECK: NoAlias: %0 = load float* %c, align 4, !alias.scope !0 <-> store float %1, float* %arrayidx.i2, align 4, !noalias !6 -; CHECK: MayAlias: %0 = load float* %c, align 4, !alias.scope !0 <-> store float %2, float* %arrayidx.i3, align 4, !noalias !7 -; CHECK: NoAlias: %1 = load float* %c, align 4, !alias.scope !7 <-> store float %0, float* %arrayidx.i, align 4, !noalias !6 -; CHECK: NoAlias: %1 = load float* %c, align 4, !alias.scope !7 <-> store float %1, float* %arrayidx.i2, align 4, !noalias !6 -; CHECK: NoAlias: %1 = load float* %c, align 4, !alias.scope !7 <-> store float %2, float* %arrayidx.i3, align 4, !noalias !7 -; CHECK: NoAlias: %2 = load float* %c, align 4, !alias.scope !6 <-> store float %0, float* %arrayidx.i, align 4, !noalias !6 -; CHECK: NoAlias: %2 = load float* %c, align 4, !alias.scope !6 <-> store float %1, float* %arrayidx.i2, align 4, !noalias !6 -; CHECK: MayAlias: %2 = load float* %c, align 4, !alias.scope !6 <-> store float %2, float* %arrayidx.i3, align 4, !noalias !7 +; CHECK: NoAlias: %0 = load float, float* %c, align 4, !alias.scope !0 <-> store float %0, float* %arrayidx.i, align 4, !noalias !6 +; CHECK: NoAlias: %0 = load float, float* %c, align 4, !alias.scope !0 <-> store float %1, float* %arrayidx.i2, align 4, !noalias !6 +; CHECK: MayAlias: %0 = load float, float* %c, align 4, !alias.scope !0 <-> store float %2, float* %arrayidx.i3, align 4, !noalias !7 +; CHECK: NoAlias: %1 = load float, float* %c, align 4, !alias.scope !7 <-> store float %0, float* %arrayidx.i, align 4, !noalias !6 +; CHECK: NoAlias: %1 = load float, float* %c, align 4, !alias.scope !7 <-> store float %1, float* %arrayidx.i2, align 4, !noalias !6 +; CHECK: NoAlias: %1 = load float, float* %c, align 4, !alias.scope !7 <-> store float %2, float* %arrayidx.i3, align 4, !noalias !7 +; CHECK: NoAlias: %2 = load float, float* %c, align 4, !alias.scope !6 <-> store float %0, float* %arrayidx.i, align 4, !noalias !6 +; CHECK: NoAlias: %2 = load float, float* %c, align 4, !alias.scope !6 <-> store float %1, float* %arrayidx.i2, align 4, !noalias !6 +; CHECK: MayAlias: %2 = load float, float* %c, align 4, !alias.scope !6 <-> store float %2, float* %arrayidx.i3, align 4, !noalias !7 ; CHECK: NoAlias: store float %1, float* %arrayidx.i2, align 4, !noalias !6 <-> store float %0, float* %arrayidx.i, align 4, !noalias !6 ; CHECK: NoAlias: store float %2, float* %arrayidx.i3, align 4, !noalias !7 <-> store float %0, float* %arrayidx.i, align 4, !noalias !6 ; CHECK: NoAlias: store float %2, float* %arrayidx.i3, align 4, !noalias !7 <-> store float %1, float* %arrayidx.i2, align 4, !noalias !6 Index: llvm/trunk/test/Analysis/ScopedNoAliasAA/basic.ll =================================================================== --- llvm/trunk/test/Analysis/ScopedNoAliasAA/basic.ll +++ llvm/trunk/test/Analysis/ScopedNoAliasAA/basic.ll @@ -5,18 +5,18 @@ define void @foo1(float* nocapture %a, float* nocapture readonly %c) #0 { entry: ; CHECK-LABEL: Function: foo1 - %0 = load float* %c, align 4, !alias.scope !1 + %0 = load float, float* %c, align 4, !alias.scope !1 %arrayidx.i = getelementptr inbounds float, float* %a, i64 5 store float %0, float* %arrayidx.i, align 4, !noalias !1 - %1 = load float* %c, align 4 + %1 = load float, float* %c, align 4 %arrayidx = getelementptr inbounds float, float* %a, i64 7 store float %1, float* %arrayidx, align 4 ret void -; CHECK: NoAlias: %0 = load float* %c, align 4, !alias.scope !0 <-> store float %0, float* %arrayidx.i, align 4, !noalias !0 -; CHECK: MayAlias: %0 = load float* %c, align 4, !alias.scope !0 <-> store float %1, float* %arrayidx, align 4 -; CHECK: MayAlias: %1 = load float* %c, align 4 <-> store float %0, float* %arrayidx.i, align 4, !noalias !0 -; CHECK: MayAlias: %1 = load float* %c, align 4 <-> store float %1, float* %arrayidx, align 4 +; CHECK: NoAlias: %0 = load float, float* %c, align 4, !alias.scope !0 <-> store float %0, float* %arrayidx.i, align 4, !noalias !0 +; CHECK: MayAlias: %0 = load float, float* %c, align 4, !alias.scope !0 <-> store float %1, float* %arrayidx, align 4 +; CHECK: MayAlias: %1 = load float, float* %c, align 4 <-> store float %0, float* %arrayidx.i, align 4, !noalias !0 +; CHECK: MayAlias: %1 = load float, float* %c, align 4 <-> store float %1, float* %arrayidx, align 4 ; CHECK: NoAlias: store float %1, float* %arrayidx, align 4 <-> store float %0, float* %arrayidx.i, align 4, !noalias !0 } Index: llvm/trunk/test/Analysis/ScopedNoAliasAA/basic2.ll =================================================================== --- llvm/trunk/test/Analysis/ScopedNoAliasAA/basic2.ll +++ llvm/trunk/test/Analysis/ScopedNoAliasAA/basic2.ll @@ -5,24 +5,24 @@ define void @foo2(float* nocapture %a, float* nocapture %b, float* nocapture readonly %c) #0 { entry: ; CHECK-LABEL: Function: foo2 - %0 = load float* %c, align 4, !alias.scope !0 + %0 = load float, float* %c, align 4, !alias.scope !0 %arrayidx.i = getelementptr inbounds float, float* %a, i64 5 store float %0, float* %arrayidx.i, align 4, !alias.scope !5, !noalias !4 %arrayidx1.i = getelementptr inbounds float, float* %b, i64 8 store float %0, float* %arrayidx1.i, align 4, !alias.scope !0, !noalias !5 - %1 = load float* %c, align 4 + %1 = load float, float* %c, align 4 %arrayidx = getelementptr inbounds float, float* %a, i64 7 store float %1, float* %arrayidx, align 4 ret void -; CHECK: MayAlias: %0 = load float* %c, align 4, !alias.scope !0 <-> store float %0, float* %arrayidx.i, align 4, !alias.scope !4, !noalia +; CHECK: MayAlias: %0 = load float, float* %c, align 4, !alias.scope !0 <-> store float %0, float* %arrayidx.i, align 4, !alias.scope !4, !noalia ; CHECK: s !5 -; CHECK: MayAlias: %0 = load float* %c, align 4, !alias.scope !0 <-> store float %0, float* %arrayidx1.i, align 4, !alias.scope !0, !noali +; CHECK: MayAlias: %0 = load float, float* %c, align 4, !alias.scope !0 <-> store float %0, float* %arrayidx1.i, align 4, !alias.scope !0, !noali ; CHECK: as !4 -; CHECK: MayAlias: %0 = load float* %c, align 4, !alias.scope !0 <-> store float %1, float* %arrayidx, align 4 -; CHECK: MayAlias: %1 = load float* %c, align 4 <-> store float %0, float* %arrayidx.i, align 4, !alias.scope !4, !noalias !5 -; CHECK: MayAlias: %1 = load float* %c, align 4 <-> store float %0, float* %arrayidx1.i, align 4, !alias.scope !0, !noalias !4 -; CHECK: MayAlias: %1 = load float* %c, align 4 <-> store float %1, float* %arrayidx, align 4 +; CHECK: MayAlias: %0 = load float, float* %c, align 4, !alias.scope !0 <-> store float %1, float* %arrayidx, align 4 +; CHECK: MayAlias: %1 = load float, float* %c, align 4 <-> store float %0, float* %arrayidx.i, align 4, !alias.scope !4, !noalias !5 +; CHECK: MayAlias: %1 = load float, float* %c, align 4 <-> store float %0, float* %arrayidx1.i, align 4, !alias.scope !0, !noalias !4 +; CHECK: MayAlias: %1 = load float, float* %c, align 4 <-> store float %1, float* %arrayidx, align 4 ; CHECK: NoAlias: store float %0, float* %arrayidx1.i, align 4, !alias.scope !0, !noalias !4 <-> store float %0, float* %arrayidx.i, align ; CHECK: 4, !alias.scope !4, !noalias !5 ; CHECK: NoAlias: store float %1, float* %arrayidx, align 4 <-> store float %0, float* %arrayidx.i, align 4, !alias.scope !4, !noalias !5 Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/PR17620.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/PR17620.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/PR17620.ll @@ -16,11 +16,11 @@ define %structA** @test(%classA* %this, i32** %p1) #0 align 2 { entry: ; CHECK-LABEL: @test -; CHECK: load i32** %p1, align 8, !tbaa -; CHECK: load i32** getelementptr (%classC* null, i32 0, i32 1, i32 0, i32 0), align 8, !tbaa +; CHECK: load i32*, i32** %p1, align 8, !tbaa +; CHECK: load i32*, i32** getelementptr (%classC* null, i32 0, i32 1, i32 0, i32 0), align 8, !tbaa ; CHECK: call void @callee - %0 = load i32** %p1, align 8, !tbaa !1 - %1 = load i32** getelementptr (%classC* null, i32 0, i32 1, i32 0, i32 0), align 8, !tbaa !5 + %0 = load i32*, i32** %p1, align 8, !tbaa !1 + %1 = load i32*, i32** getelementptr (%classC* null, i32 0, i32 1, i32 0, i32 0), align 8, !tbaa !5 call void @callee(i32* %0, i32* %1) unreachable } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/aliastest.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/aliastest.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/aliastest.ll @@ -5,9 +5,9 @@ ; CHECK: @test0_yes ; CHECK: add i8 %x, %x define i8 @test0_yes(i8* %a, i8* %b) nounwind { - %x = load i8* %a, !tbaa !1 + %x = load i8, i8* %a, !tbaa !1 store i8 0, i8* %b, !tbaa !2 - %y = load i8* %a, !tbaa !1 + %y = load i8, i8* %a, !tbaa !1 %z = add i8 %x, %y ret i8 %z } @@ -15,9 +15,9 @@ ; CHECK: @test0_no ; CHECK: add i8 %x, %y define i8 @test0_no(i8* %a, i8* %b) nounwind { - %x = load i8* %a, !tbaa !3 + %x = load i8, i8* %a, !tbaa !3 store i8 0, i8* %b, !tbaa !4 - %y = load i8* %a, !tbaa !3 + %y = load i8, i8* %a, !tbaa !3 %z = add i8 %x, %y ret i8 %z } @@ -27,9 +27,9 @@ ; CHECK: @test1_yes ; CHECK: add i8 %x, %x define i8 @test1_yes(i8* %a, i8* %b) nounwind { - %x = load i8* %a, !tbaa !5 + %x = load i8, i8* %a, !tbaa !5 store i8 0, i8* %b - %y = load i8* %a, !tbaa !5 + %y = load i8, i8* %a, !tbaa !5 %z = add i8 %x, %y ret i8 %z } @@ -37,9 +37,9 @@ ; CHECK: @test1_no ; CHECK: add i8 %x, %y define i8 @test1_no(i8* %a, i8* %b) nounwind { - %x = load i8* %a, !tbaa !6 + %x = load i8, i8* %a, !tbaa !6 store i8 0, i8* %b - %y = load i8* %a, !tbaa !6 + %y = load i8, i8* %a, !tbaa !6 %z = add i8 %x, %y ret i8 %z } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/argument-promotion.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/argument-promotion.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/argument-promotion.ll @@ -6,8 +6,8 @@ ; CHECK-NOT: alloca define internal i32 @test(i32* %X, i32* %Y, i32* %Q) { store i32 77, i32* %Q, !tbaa !2 - %A = load i32* %X, !tbaa !1 - %B = load i32* %Y, !tbaa !1 + %A = load i32, i32* %X, !tbaa !1 + %B = load i32, i32* %Y, !tbaa !1 %C = add i32 %A, %B ret i32 %C } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/dse.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/dse.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/dse.ll @@ -4,47 +4,47 @@ ; DSE should make use of TBAA. ; CHECK: @test0_yes -; CHECK-NEXT: load i8* %b +; CHECK-NEXT: load i8, i8* %b ; CHECK-NEXT: store i8 1, i8* %a ; CHECK-NEXT: ret i8 %y define i8 @test0_yes(i8* %a, i8* %b) nounwind { store i8 0, i8* %a, !tbaa !1 - %y = load i8* %b, !tbaa !2 + %y = load i8, i8* %b, !tbaa !2 store i8 1, i8* %a, !tbaa !1 ret i8 %y } ; CHECK: @test0_no ; CHECK-NEXT: store i8 0, i8* %a -; CHECK-NEXT: load i8* %b +; CHECK-NEXT: load i8, i8* %b ; CHECK-NEXT: store i8 1, i8* %a ; CHECK-NEXT: ret i8 %y define i8 @test0_no(i8* %a, i8* %b) nounwind { store i8 0, i8* %a, !tbaa !3 - %y = load i8* %b, !tbaa !4 + %y = load i8, i8* %b, !tbaa !4 store i8 1, i8* %a, !tbaa !3 ret i8 %y } ; CHECK: @test1_yes -; CHECK-NEXT: load i8* %b +; CHECK-NEXT: load i8, i8* %b ; CHECK-NEXT: store i8 1, i8* %a ; CHECK-NEXT: ret i8 %y define i8 @test1_yes(i8* %a, i8* %b) nounwind { store i8 0, i8* %a - %y = load i8* %b, !tbaa !5 + %y = load i8, i8* %b, !tbaa !5 store i8 1, i8* %a ret i8 %y } ; CHECK: @test1_no ; CHECK-NEXT: store i8 0, i8* %a -; CHECK-NEXT: load i8* %b +; CHECK-NEXT: load i8, i8* %b ; CHECK-NEXT: store i8 1, i8* %a ; CHECK-NEXT: ret i8 %y define i8 @test1_no(i8* %a, i8* %b) nounwind { store i8 0, i8* %a - %y = load i8* %b, !tbaa !6 + %y = load i8, i8* %b, !tbaa !6 store i8 1, i8* %a ret i8 %y } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll @@ -13,7 +13,7 @@ ; CHECK: for.end: ; CHECK: %arrayidx31 = getelementptr inbounds %union.vector_t, %union.vector_t* %t, i64 0, i32 0, i64 1 -; CHECK: %tmp32 = load i64* %arrayidx31, align 8, !tbaa [[TAG:!.*]] +; CHECK: %tmp32 = load i64, i64* %arrayidx31, align 8, !tbaa [[TAG:!.*]] define void @vrlh(%union.vector_t* %va, %union.vector_t* %vb, %union.vector_t* %vd) nounwind { entry: @@ -26,21 +26,21 @@ %idxprom = sext i32 %sub to i64 %half = bitcast %union.vector_t* %vb to [8 x i16]* %arrayidx = getelementptr inbounds [8 x i16], [8 x i16]* %half, i64 0, i64 %idxprom - %tmp4 = load i16* %arrayidx, align 2, !tbaa !0 + %tmp4 = load i16, i16* %arrayidx, align 2, !tbaa !0 %conv = zext i16 %tmp4 to i32 %and = and i32 %conv, 15 %sub6 = sub nsw i32 7, %i.01 %idxprom7 = sext i32 %sub6 to i64 %half9 = bitcast %union.vector_t* %va to [8 x i16]* %arrayidx10 = getelementptr inbounds [8 x i16], [8 x i16]* %half9, i64 0, i64 %idxprom7 - %tmp11 = load i16* %arrayidx10, align 2, !tbaa !0 + %tmp11 = load i16, i16* %arrayidx10, align 2, !tbaa !0 %conv12 = zext i16 %tmp11 to i32 %shl = shl i32 %conv12, %and %sub15 = sub nsw i32 7, %i.01 %idxprom16 = sext i32 %sub15 to i64 %half18 = bitcast %union.vector_t* %va to [8 x i16]* %arrayidx19 = getelementptr inbounds [8 x i16], [8 x i16]* %half18, i64 0, i64 %idxprom16 - %tmp20 = load i16* %arrayidx19, align 2, !tbaa !0 + %tmp20 = load i16, i16* %arrayidx19, align 2, !tbaa !0 %conv21 = zext i16 %tmp20 to i32 %sub23 = sub nsw i32 16, %and %shr = lshr i32 %conv21, %sub23 @@ -57,11 +57,11 @@ for.end: ; preds = %for.body %arrayidx31 = getelementptr inbounds %union.vector_t, %union.vector_t* %t, i64 0, i32 0, i64 1 - %tmp32 = load i64* %arrayidx31, align 8, !tbaa !3 + %tmp32 = load i64, i64* %arrayidx31, align 8, !tbaa !3 %arrayidx35 = getelementptr inbounds %union.vector_t, %union.vector_t* %vd, i64 0, i32 0, i64 1 store i64 %tmp32, i64* %arrayidx35, align 8, !tbaa !3 %arrayidx37 = getelementptr inbounds %union.vector_t, %union.vector_t* %t, i64 0, i32 0, i64 0 - %tmp38 = load i64* %arrayidx37, align 8, !tbaa !3 + %tmp38 = load i64, i64* %arrayidx37, align 8, !tbaa !3 %arrayidx41 = getelementptr inbounds %union.vector_t, %union.vector_t* %vd, i64 0, i32 0, i64 0 store i64 %tmp38, i64* %arrayidx41, align 8, !tbaa !3 ret void @@ -82,7 +82,7 @@ for.body: ; preds = %entry, %for.body %i2.01 = phi i64 [ 0, %entry ], [ %inc, %for.body ] %f = getelementptr inbounds %struct.X, %struct.X* %a, i64 %i2.01, i32 1 - %tmp6 = load float* %f, align 4, !tbaa !5 + %tmp6 = load float, float* %f, align 4, !tbaa !5 %mul = fmul float %tmp6, 0x40019999A0000000 store float %mul, float* %f, align 4, !tbaa !5 %inc = add nsw i64 %i2.01, 1 @@ -91,7 +91,7 @@ for.end: ; preds = %for.body %i9 = getelementptr inbounds %struct.X, %struct.X* %a, i64 0, i32 0 - %tmp10 = load i32* %i9, align 4, !tbaa !4 + %tmp10 = load i32, i32* %i9, align 4, !tbaa !4 ret i32 %tmp10 } @@ -110,7 +110,7 @@ for.body: ; preds = %entry, %for.body %i.01 = phi i64 [ 0, %entry ], [ %inc, %for.body ] %i5 = getelementptr inbounds %struct.X, %struct.X* %a, i64 %i.01, i32 0 - %tmp6 = load i32* %i5, align 4, !tbaa !4 + %tmp6 = load i32, i32* %i5, align 4, !tbaa !4 %mul = mul nsw i32 %tmp6, 3 store i32 %mul, i32* %i5, align 4, !tbaa !4 %inc = add nsw i64 %i.01, 1 @@ -119,7 +119,7 @@ for.end: ; preds = %for.body %f9 = getelementptr inbounds %struct.X, %struct.X* %a, i64 0, i32 1 - %tmp10 = load float* %f9, align 4, !tbaa !5 + %tmp10 = load float, float* %f9, align 4, !tbaa !5 ret float %tmp10 } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll @@ -17,7 +17,7 @@ br i1 %c, label %if.else, label %if.then if.then: - %t = load i32* %p, !tbaa !1 + %t = load i32, i32* %p, !tbaa !1 store i32 %t, i32* %q ret void @@ -32,11 +32,11 @@ ; CHECK: @watch_out_for_type_change ; CHECK: if.then: -; CHECK: %t = load i32* %p +; CHECK: %t = load i32, i32* %p ; CHECK: store i32 %t, i32* %q ; CHECK: ret void ; CHECK: if.else: -; CHECK: %u = load i32* %p +; CHECK: %u = load i32, i32* %p ; CHECK: store i32 %u, i32* %q define void @watch_out_for_type_change(i1 %c, i32* %p, i32* %p1, i32* %q) nounwind { @@ -46,12 +46,12 @@ br i1 %c, label %if.else, label %if.then if.then: - %t = load i32* %p, !tbaa !3 + %t = load i32, i32* %p, !tbaa !3 store i32 %t, i32* %q ret void if.else: - %u = load i32* %p, !tbaa !4 + %u = load i32, i32* %p, !tbaa !4 store i32 %u, i32* %q ret void } @@ -64,7 +64,7 @@ ; CHECK: store i32 0, i32* %q ; CHECK: ret void ; CHECK: if.else: -; CHECK: %u = load i32* %p +; CHECK: %u = load i32, i32* %p ; CHECK: store i32 %u, i32* %q define void @watch_out_for_another_type_change(i1 %c, i32* %p, i32* %p1, i32* %q) nounwind { @@ -74,12 +74,12 @@ br i1 %c, label %if.else, label %if.then if.then: - %t = load i32* %p, !tbaa !4 + %t = load i32, i32* %p, !tbaa !4 store i32 %t, i32* %q ret void if.else: - %u = load i32* %p, !tbaa !3 + %u = load i32, i32* %p, !tbaa !3 store i32 %u, i32* %q ret void } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/licm.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/licm.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/licm.ll @@ -5,7 +5,7 @@ ; CHECK: @foo ; CHECK: entry: -; CHECK-NEXT: %tmp3 = load double** @P, !tbaa !0 +; CHECK-NEXT: %tmp3 = load double*, double** @P, !tbaa !0 ; CHECK-NEXT: br label %for.body @P = common global double* null @@ -16,9 +16,9 @@ for.body: ; preds = %entry, %for.body %i.07 = phi i64 [ %inc, %for.body ], [ 0, %entry ] - %tmp3 = load double** @P, !tbaa !1 + %tmp3 = load double*, double** @P, !tbaa !1 %scevgep = getelementptr double, double* %tmp3, i64 %i.07 - %tmp4 = load double* %scevgep, !tbaa !2 + %tmp4 = load double, double* %scevgep, !tbaa !2 %mul = fmul double %tmp4, 2.300000e+00 store double %mul, double* %scevgep, !tbaa !2 %inc = add i64 %i.07, 1 @@ -49,9 +49,9 @@ br label %loop loop: - %tmp51 = load i8** %p, !tbaa !4 + %tmp51 = load i8*, i8** %p, !tbaa !4 store i8* %tmp51, i8** %p - %tmp40 = load i8* %q, !tbaa !5 + %tmp40 = load i8, i8* %q, !tbaa !5 store i8 %tmp40, i8* %q br label %loop } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/placement-tbaa.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/placement-tbaa.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/placement-tbaa.ll @@ -33,20 +33,20 @@ %call = call noalias i8* @_Znwm(i64 8) %0 = bitcast i8* %call to %struct.Foo* store %struct.Foo* %0, %struct.Foo** %f, align 8, !tbaa !4 - %1 = load %struct.Foo** %f, align 8, !tbaa !4 + %1 = load %struct.Foo*, %struct.Foo** %f, align 8, !tbaa !4 %i = getelementptr inbounds %struct.Foo, %struct.Foo* %1, i32 0, i32 0 store i64 1, i64* %i, align 8, !tbaa !6 store i32 0, i32* %i1, align 4, !tbaa !0 br label %for.cond for.cond: - %2 = load i32* %i1, align 4, !tbaa !0 - %3 = load i32* %n.addr, align 4, !tbaa !0 + %2 = load i32, i32* %i1, align 4, !tbaa !0 + %3 = load i32, i32* %n.addr, align 4, !tbaa !0 %cmp = icmp slt i32 %2, %3 br i1 %cmp, label %for.body, label %for.end for.body: - %4 = load %struct.Foo** %f, align 8, !tbaa !4 + %4 = load %struct.Foo*, %struct.Foo** %f, align 8, !tbaa !4 %5 = bitcast %struct.Foo* %4 to i8* %new.isnull = icmp eq i8* %5, null br i1 %new.isnull, label %new.cont, label %new.notnull @@ -58,10 +58,10 @@ new.cont: %7 = phi %struct.Bar* [ %6, %new.notnull ], [ null, %for.body ] store %struct.Bar* %7, %struct.Bar** %b, align 8, !tbaa !4 - %8 = load %struct.Bar** %b, align 8, !tbaa !4 + %8 = load %struct.Bar*, %struct.Bar** %b, align 8, !tbaa !4 %p = getelementptr inbounds %struct.Bar, %struct.Bar* %8, i32 0, i32 0 store i8* null, i8** %p, align 8, !tbaa !9 - %9 = load %struct.Foo** %f, align 8, !tbaa !4 + %9 = load %struct.Foo*, %struct.Foo** %f, align 8, !tbaa !4 %10 = bitcast %struct.Foo* %9 to i8* %new.isnull2 = icmp eq i8* %10, null br i1 %new.isnull2, label %new.cont4, label %new.notnull3 @@ -73,23 +73,23 @@ new.cont4: %12 = phi %struct.Foo* [ %11, %new.notnull3 ], [ null, %new.cont ] store %struct.Foo* %12, %struct.Foo** %f, align 8, !tbaa !4 - %13 = load i32* %i1, align 4, !tbaa !0 + %13 = load i32, i32* %i1, align 4, !tbaa !0 %conv = sext i32 %13 to i64 - %14 = load %struct.Foo** %f, align 8, !tbaa !4 + %14 = load %struct.Foo*, %struct.Foo** %f, align 8, !tbaa !4 %i5 = getelementptr inbounds %struct.Foo, %struct.Foo* %14, i32 0, i32 0 store i64 %conv, i64* %i5, align 8, !tbaa !6 br label %for.inc for.inc: - %15 = load i32* %i1, align 4, !tbaa !0 + %15 = load i32, i32* %i1, align 4, !tbaa !0 %inc = add nsw i32 %15, 1 store i32 %inc, i32* %i1, align 4, !tbaa !0 br label %for.cond for.end: - %16 = load %struct.Foo** %f, align 8, !tbaa !4 + %16 = load %struct.Foo*, %struct.Foo** %f, align 8, !tbaa !4 %i6 = getelementptr inbounds %struct.Foo, %struct.Foo* %16, i32 0, i32 0 - %17 = load i64* %i6, align 8, !tbaa !6 + %17 = load i64, i64* %i6, align 8, !tbaa !6 ret i64 %17 } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/precedence.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/precedence.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/precedence.ll @@ -18,7 +18,7 @@ store i32 0, i32* %x, !tbaa !0 %0 = bitcast i32* %x to float* store float 0x4002666660000000, float* %0, !tbaa !3 - %tmp3 = load i32* %x, !tbaa !0 + %tmp3 = load i32, i32* %x, !tbaa !0 ret i32 %tmp3 } @@ -35,7 +35,7 @@ %0 = bitcast i64* %x to i8* %1 = getelementptr i8, i8* %0, i64 1 store i8 1, i8* %1, !tbaa !5 - %tmp3 = load i64* %x, !tbaa !4 + %tmp3 = load i64, i64* %x, !tbaa !4 ret i64 %tmp3 } Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/sink.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/sink.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/sink.ll @@ -1,11 +1,11 @@ ; RUN: opt -tbaa -sink -S < %s | FileCheck %s ; CHECK: a: -; CHECK: %f = load float* %p, !tbaa [[TAGA:!.*]] +; CHECK: %f = load float, float* %p, !tbaa [[TAGA:!.*]] ; CHECK: store float %f, float* %q define void @foo(float* %p, i1 %c, float* %q, float* %r) { - %f = load float* %p, !tbaa !0 + %f = load float, float* %p, !tbaa !0 store float 0.0, float* %r, !tbaa !1 br i1 %c, label %a, label %b a: Index: llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/tbaa-path.ll =================================================================== --- llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/tbaa-path.ll +++ llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/tbaa-path.ll @@ -17,7 +17,7 @@ ; OPT: define ; OPT: store i32 1 ; OPT: store i32 4 -; OPT: %[[RET:.*]] = load i32* +; OPT: %[[RET:.*]] = load i32, i32* ; OPT: ret i32 %[[RET]] %s.addr = alloca i32*, align 8 %A.addr = alloca %struct.StructA*, align 8 @@ -25,13 +25,13 @@ store i32* %s, i32** %s.addr, align 8, !tbaa !0 store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load i32** %s.addr, align 8, !tbaa !0 + %0 = load i32*, i32** %s.addr, align 8, !tbaa !0 store i32 1, i32* %0, align 4, !tbaa !6 - %1 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %1 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %1, i32 0, i32 1 store i32 4, i32* %f32, align 4, !tbaa !8 - %2 = load i32** %s.addr, align 8, !tbaa !0 - %3 = load i32* %2, align 4, !tbaa !6 + %2 = load i32*, i32** %s.addr, align 8, !tbaa !0 + %3 = load i32, i32* %2, align 4, !tbaa !6 ret i32 %3 } @@ -51,13 +51,13 @@ store i32* %s, i32** %s.addr, align 8, !tbaa !0 store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load i32** %s.addr, align 8, !tbaa !0 + %0 = load i32*, i32** %s.addr, align 8, !tbaa !0 store i32 1, i32* %0, align 4, !tbaa !6 - %1 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %1 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f16 = getelementptr inbounds %struct.StructA, %struct.StructA* %1, i32 0, i32 0 store i16 4, i16* %f16, align 2, !tbaa !11 - %2 = load i32** %s.addr, align 8, !tbaa !0 - %3 = load i32* %2, align 4, !tbaa !6 + %2 = load i32*, i32** %s.addr, align 8, !tbaa !0 + %3 = load i32, i32* %2, align 4, !tbaa !6 ret i32 %3 } @@ -69,7 +69,7 @@ ; OPT: define ; OPT: store i32 1 ; OPT: store i32 4 -; OPT: %[[RET:.*]] = load i32* +; OPT: %[[RET:.*]] = load i32, i32* ; OPT: ret i32 %[[RET]] %A.addr = alloca %struct.StructA*, align 8 %B.addr = alloca %struct.StructB*, align 8 @@ -77,16 +77,16 @@ store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 store %struct.StructB* %B, %struct.StructB** %B.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %0 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %0, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !8 - %1 = load %struct.StructB** %B.addr, align 8, !tbaa !0 + %1 = load %struct.StructB*, %struct.StructB** %B.addr, align 8, !tbaa !0 %a = getelementptr inbounds %struct.StructB, %struct.StructB* %1, i32 0, i32 1 %f321 = getelementptr inbounds %struct.StructA, %struct.StructA* %a, i32 0, i32 1 store i32 4, i32* %f321, align 4, !tbaa !12 - %2 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %2 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f322 = getelementptr inbounds %struct.StructA, %struct.StructA* %2, i32 0, i32 1 - %3 = load i32* %f322, align 4, !tbaa !8 + %3 = load i32, i32* %f322, align 4, !tbaa !8 ret i32 %3 } @@ -106,16 +106,16 @@ store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 store %struct.StructB* %B, %struct.StructB** %B.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %0 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %0, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !8 - %1 = load %struct.StructB** %B.addr, align 8, !tbaa !0 + %1 = load %struct.StructB*, %struct.StructB** %B.addr, align 8, !tbaa !0 %a = getelementptr inbounds %struct.StructB, %struct.StructB* %1, i32 0, i32 1 %f16 = getelementptr inbounds %struct.StructA, %struct.StructA* %a, i32 0, i32 0 store i16 4, i16* %f16, align 2, !tbaa !14 - %2 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %2 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f321 = getelementptr inbounds %struct.StructA, %struct.StructA* %2, i32 0, i32 1 - %3 = load i32* %f321, align 4, !tbaa !8 + %3 = load i32, i32* %f321, align 4, !tbaa !8 ret i32 %3 } @@ -135,15 +135,15 @@ store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 store %struct.StructB* %B, %struct.StructB** %B.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %0 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %0, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !8 - %1 = load %struct.StructB** %B.addr, align 8, !tbaa !0 + %1 = load %struct.StructB*, %struct.StructB** %B.addr, align 8, !tbaa !0 %f321 = getelementptr inbounds %struct.StructB, %struct.StructB* %1, i32 0, i32 2 store i32 4, i32* %f321, align 4, !tbaa !15 - %2 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %2 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f322 = getelementptr inbounds %struct.StructA, %struct.StructA* %2, i32 0, i32 1 - %3 = load i32* %f322, align 4, !tbaa !8 + %3 = load i32, i32* %f322, align 4, !tbaa !8 ret i32 %3 } @@ -163,16 +163,16 @@ store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 store %struct.StructB* %B, %struct.StructB** %B.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %0 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %0, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !8 - %1 = load %struct.StructB** %B.addr, align 8, !tbaa !0 + %1 = load %struct.StructB*, %struct.StructB** %B.addr, align 8, !tbaa !0 %a = getelementptr inbounds %struct.StructB, %struct.StructB* %1, i32 0, i32 1 %f32_2 = getelementptr inbounds %struct.StructA, %struct.StructA* %a, i32 0, i32 3 store i32 4, i32* %f32_2, align 4, !tbaa !16 - %2 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %2 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f321 = getelementptr inbounds %struct.StructA, %struct.StructA* %2, i32 0, i32 1 - %3 = load i32* %f321, align 4, !tbaa !8 + %3 = load i32, i32* %f321, align 4, !tbaa !8 ret i32 %3 } @@ -192,15 +192,15 @@ store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 store %struct.StructS* %S, %struct.StructS** %S.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %0 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %0, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !8 - %1 = load %struct.StructS** %S.addr, align 8, !tbaa !0 + %1 = load %struct.StructS*, %struct.StructS** %S.addr, align 8, !tbaa !0 %f321 = getelementptr inbounds %struct.StructS, %struct.StructS* %1, i32 0, i32 1 store i32 4, i32* %f321, align 4, !tbaa !17 - %2 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %2 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f322 = getelementptr inbounds %struct.StructA, %struct.StructA* %2, i32 0, i32 1 - %3 = load i32* %f322, align 4, !tbaa !8 + %3 = load i32, i32* %f322, align 4, !tbaa !8 ret i32 %3 } @@ -220,15 +220,15 @@ store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 store %struct.StructS* %S, %struct.StructS** %S.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %0 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %0, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !8 - %1 = load %struct.StructS** %S.addr, align 8, !tbaa !0 + %1 = load %struct.StructS*, %struct.StructS** %S.addr, align 8, !tbaa !0 %f16 = getelementptr inbounds %struct.StructS, %struct.StructS* %1, i32 0, i32 0 store i16 4, i16* %f16, align 2, !tbaa !19 - %2 = load %struct.StructA** %A.addr, align 8, !tbaa !0 + %2 = load %struct.StructA*, %struct.StructA** %A.addr, align 8, !tbaa !0 %f321 = getelementptr inbounds %struct.StructA, %struct.StructA* %2, i32 0, i32 1 - %3 = load i32* %f321, align 4, !tbaa !8 + %3 = load i32, i32* %f321, align 4, !tbaa !8 ret i32 %3 } @@ -248,15 +248,15 @@ store %struct.StructS* %S, %struct.StructS** %S.addr, align 8, !tbaa !0 store %struct.StructS2* %S2, %struct.StructS2** %S2.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructS** %S.addr, align 8, !tbaa !0 + %0 = load %struct.StructS*, %struct.StructS** %S.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructS, %struct.StructS* %0, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !17 - %1 = load %struct.StructS2** %S2.addr, align 8, !tbaa !0 + %1 = load %struct.StructS2*, %struct.StructS2** %S2.addr, align 8, !tbaa !0 %f321 = getelementptr inbounds %struct.StructS2, %struct.StructS2* %1, i32 0, i32 1 store i32 4, i32* %f321, align 4, !tbaa !20 - %2 = load %struct.StructS** %S.addr, align 8, !tbaa !0 + %2 = load %struct.StructS*, %struct.StructS** %S.addr, align 8, !tbaa !0 %f322 = getelementptr inbounds %struct.StructS, %struct.StructS* %2, i32 0, i32 1 - %3 = load i32* %f322, align 4, !tbaa !17 + %3 = load i32, i32* %f322, align 4, !tbaa !17 ret i32 %3 } @@ -276,15 +276,15 @@ store %struct.StructS* %S, %struct.StructS** %S.addr, align 8, !tbaa !0 store %struct.StructS2* %S2, %struct.StructS2** %S2.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructS** %S.addr, align 8, !tbaa !0 + %0 = load %struct.StructS*, %struct.StructS** %S.addr, align 8, !tbaa !0 %f32 = getelementptr inbounds %struct.StructS, %struct.StructS* %0, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !17 - %1 = load %struct.StructS2** %S2.addr, align 8, !tbaa !0 + %1 = load %struct.StructS2*, %struct.StructS2** %S2.addr, align 8, !tbaa !0 %f16 = getelementptr inbounds %struct.StructS2, %struct.StructS2* %1, i32 0, i32 0 store i16 4, i16* %f16, align 2, !tbaa !22 - %2 = load %struct.StructS** %S.addr, align 8, !tbaa !0 + %2 = load %struct.StructS*, %struct.StructS** %S.addr, align 8, !tbaa !0 %f321 = getelementptr inbounds %struct.StructS, %struct.StructS* %2, i32 0, i32 1 - %3 = load i32* %f321, align 4, !tbaa !17 + %3 = load i32, i32* %f321, align 4, !tbaa !17 ret i32 %3 } @@ -304,21 +304,21 @@ store %struct.StructC* %C, %struct.StructC** %C.addr, align 8, !tbaa !0 store %struct.StructD* %D, %struct.StructD** %D.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructC** %C.addr, align 8, !tbaa !0 + %0 = load %struct.StructC*, %struct.StructC** %C.addr, align 8, !tbaa !0 %b = getelementptr inbounds %struct.StructC, %struct.StructC* %0, i32 0, i32 1 %a = getelementptr inbounds %struct.StructB, %struct.StructB* %b, i32 0, i32 1 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %a, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !23 - %1 = load %struct.StructD** %D.addr, align 8, !tbaa !0 + %1 = load %struct.StructD*, %struct.StructD** %D.addr, align 8, !tbaa !0 %b1 = getelementptr inbounds %struct.StructD, %struct.StructD* %1, i32 0, i32 1 %a2 = getelementptr inbounds %struct.StructB, %struct.StructB* %b1, i32 0, i32 1 %f323 = getelementptr inbounds %struct.StructA, %struct.StructA* %a2, i32 0, i32 1 store i32 4, i32* %f323, align 4, !tbaa !25 - %2 = load %struct.StructC** %C.addr, align 8, !tbaa !0 + %2 = load %struct.StructC*, %struct.StructC** %C.addr, align 8, !tbaa !0 %b4 = getelementptr inbounds %struct.StructC, %struct.StructC* %2, i32 0, i32 1 %a5 = getelementptr inbounds %struct.StructB, %struct.StructB* %b4, i32 0, i32 1 %f326 = getelementptr inbounds %struct.StructA, %struct.StructA* %a5, i32 0, i32 1 - %3 = load i32* %f326, align 4, !tbaa !23 + %3 = load i32, i32* %f326, align 4, !tbaa !23 ret i32 %3 } @@ -330,7 +330,7 @@ ; OPT: define ; OPT: store i32 1 ; OPT: store i32 4 -; OPT: %[[RET:.*]] = load i32* +; OPT: %[[RET:.*]] = load i32, i32* ; OPT: ret i32 %[[RET]] %C.addr = alloca %struct.StructC*, align 8 %D.addr = alloca %struct.StructD*, align 8 @@ -340,24 +340,24 @@ store %struct.StructC* %C, %struct.StructC** %C.addr, align 8, !tbaa !0 store %struct.StructD* %D, %struct.StructD** %D.addr, align 8, !tbaa !0 store i64 %count, i64* %count.addr, align 8, !tbaa !4 - %0 = load %struct.StructC** %C.addr, align 8, !tbaa !0 + %0 = load %struct.StructC*, %struct.StructC** %C.addr, align 8, !tbaa !0 %b = getelementptr inbounds %struct.StructC, %struct.StructC* %0, i32 0, i32 1 store %struct.StructB* %b, %struct.StructB** %b1, align 8, !tbaa !0 - %1 = load %struct.StructD** %D.addr, align 8, !tbaa !0 + %1 = load %struct.StructD*, %struct.StructD** %D.addr, align 8, !tbaa !0 %b3 = getelementptr inbounds %struct.StructD, %struct.StructD* %1, i32 0, i32 1 store %struct.StructB* %b3, %struct.StructB** %b2, align 8, !tbaa !0 - %2 = load %struct.StructB** %b1, align 8, !tbaa !0 + %2 = load %struct.StructB*, %struct.StructB** %b1, align 8, !tbaa !0 %a = getelementptr inbounds %struct.StructB, %struct.StructB* %2, i32 0, i32 1 %f32 = getelementptr inbounds %struct.StructA, %struct.StructA* %a, i32 0, i32 1 store i32 1, i32* %f32, align 4, !tbaa !12 - %3 = load %struct.StructB** %b2, align 8, !tbaa !0 + %3 = load %struct.StructB*, %struct.StructB** %b2, align 8, !tbaa !0 %a4 = getelementptr inbounds %struct.StructB, %struct.StructB* %3, i32 0, i32 1 %f325 = getelementptr inbounds %struct.StructA, %struct.StructA* %a4, i32 0, i32 1 store i32 4, i32* %f325, align 4, !tbaa !12 - %4 = load %struct.StructB** %b1, align 8, !tbaa !0 + %4 = load %struct.StructB*, %struct.StructB** %b1, align 8, !tbaa !0 %a6 = getelementptr inbounds %struct.StructB, %struct.StructB* %4, i32 0, i32 1 %f327 = getelementptr inbounds %struct.StructA, %struct.StructA* %a6, i32 0, i32 1 - %5 = load i32* %f327, align 4, !tbaa !12 + %5 = load i32, i32* %f327, align 4, !tbaa !12 ret i32 %5 } Index: llvm/trunk/test/Analysis/ValueTracking/memory-dereferenceable.ll =================================================================== --- llvm/trunk/test/Analysis/ValueTracking/memory-dereferenceable.ll +++ llvm/trunk/test/Analysis/ValueTracking/memory-dereferenceable.ll @@ -18,15 +18,15 @@ ; CHECK-NOT: %nparam entry: %globalptr = getelementptr inbounds [6 x i8], [6 x i8]* @globalstr, i32 0, i32 0 - %load1 = load i8* %globalptr + %load1 = load i8, i8* %globalptr %alloca = alloca i1 - %load2 = load i1* %alloca - %load3 = load i32 addrspace(1)* %dparam + %load2 = load i1, i1* %alloca + %load3 = load i32, i32 addrspace(1)* %dparam %tok = tail call i32 (i1 ()*, i32, i32, ...)* @llvm.experimental.gc.statepoint.p0f_i1f(i1 ()* @return_i1, i32 0, i32 0, i32 0, i32 addrspace(1)* %dparam) %relocate = call i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(i32 %tok, i32 4, i32 4) - %load4 = load i32 addrspace(1)* %relocate + %load4 = load i32, i32 addrspace(1)* %relocate %nparam = getelementptr i32, i32 addrspace(1)* %dparam, i32 5 - %load5 = load i32 addrspace(1)* %nparam + %load5 = load i32, i32 addrspace(1)* %nparam ret void } Index: llvm/trunk/test/Assembler/2002-04-29-NameBinding.ll =================================================================== --- llvm/trunk/test/Assembler/2002-04-29-NameBinding.ll +++ llvm/trunk/test/Assembler/2002-04-29-NameBinding.ll @@ -13,7 +13,7 @@ define i32 @createtask() { %v1 = alloca i32 ;; Alloca should have one use! - %reg112 = load i32* %v1 ;; This load should not use the global! + %reg112 = load i32, i32* %v1 ;; This load should not use the global! ret i32 %reg112 } Index: llvm/trunk/test/Assembler/2002-08-19-BytecodeReader.ll =================================================================== --- llvm/trunk/test/Assembler/2002-08-19-BytecodeReader.ll +++ llvm/trunk/test/Assembler/2002-08-19-BytecodeReader.ll @@ -11,8 +11,8 @@ define void @Evaluate() { %reg1321 = getelementptr %CHESS_POSITION, %CHESS_POSITION* @search, i64 0, i32 1 ; [#uses=1] - %reg114 = load i32* %reg1321 ; [#uses=0] + %reg114 = load i32, i32* %reg1321 ; [#uses=0] %reg1801 = getelementptr %CHESS_POSITION, %CHESS_POSITION* @search, i64 0, i32 0 ; [#uses=1] - %reg182 = load i32* %reg1801 ; [#uses=0] + %reg182 = load i32, i32* %reg1801 ; [#uses=0] ret void } Index: llvm/trunk/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll =================================================================== --- llvm/trunk/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll +++ llvm/trunk/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll @@ -4,7 +4,7 @@ @.str_1 = internal constant [6 x i8] c"_Bool\00" ; <[6 x i8]*> [#uses=2] define i32 @test() { - %tmp.54 = load i8* getelementptr ([6 x i8]* @.str_1, i64 0, i64 1) ; [#uses=1] + %tmp.54 = load i8, i8* getelementptr ([6 x i8]* @.str_1, i64 0, i64 1) ; [#uses=1] %tmp.55 = icmp ne i8 %tmp.54, 66 ; [#uses=1] br i1 %tmp.55, label %then.7, label %endif.7 Index: llvm/trunk/test/Assembler/2004-06-07-VerifierBug.ll =================================================================== --- llvm/trunk/test/Assembler/2004-06-07-VerifierBug.ll +++ llvm/trunk/test/Assembler/2004-06-07-VerifierBug.ll @@ -7,6 +7,6 @@ loop: ; preds = %loop %tmp.4.i9 = getelementptr i32, i32* null, i32 %tmp.5.i10 ; [#uses=1] - %tmp.5.i10 = load i32* %tmp.4.i9 ; [#uses=1] + %tmp.5.i10 = load i32, i32* %tmp.4.i9 ; [#uses=1] br label %loop } Index: llvm/trunk/test/Assembler/2007-01-05-Cmp-ConstExpr.ll =================================================================== --- llvm/trunk/test/Assembler/2007-01-05-Cmp-ConstExpr.ll +++ llvm/trunk/test/Assembler/2007-01-05-Cmp-ConstExpr.ll @@ -7,7 +7,7 @@ define i32 @main(i32 %argc, i8** %argv) { entry: %tmp65 = getelementptr i8*, i8** %argv, i32 1 ; [#uses=1] - %tmp66 = load i8** %tmp65 ; [#uses=0] + %tmp66 = load i8*, i8** %tmp65 ; [#uses=0] br i1 icmp ne (i32 sub (i32 ptrtoint (i8* getelementptr ([4 x i8]* @str, i32 0, i64 1) to i32), i32 ptrtoint ([4 x i8]* @str to i32)), i32 1), label %exit_1, label %exit_2 exit_1: ; preds = %entry Index: llvm/trunk/test/Assembler/2007-04-20-AlignedLoad.ll =================================================================== --- llvm/trunk/test/Assembler/2007-04-20-AlignedLoad.ll +++ llvm/trunk/test/Assembler/2007-04-20-AlignedLoad.ll @@ -3,6 +3,6 @@ define i32 @test(i32* %arg) { entry: - %tmp2 = load i32* %arg, align 1024 ; [#uses=1] + %tmp2 = load i32, i32* %arg, align 1024 ; [#uses=1] ret i32 %tmp2 } Index: llvm/trunk/test/Assembler/2007-12-11-AddressSpaces.ll =================================================================== --- llvm/trunk/test/Assembler/2007-12-11-AddressSpaces.ll +++ llvm/trunk/test/Assembler/2007-12-11-AddressSpaces.ll @@ -12,15 +12,15 @@ define void @foo() { entry: - %tmp1 = load i32 addrspace(33)* addrspace(42)* getelementptr (%struct.mystruct addrspace(42)* @input, i32 0, i32 3), align 4 ; [#uses=1] + %tmp1 = load i32 addrspace(33)*, i32 addrspace(33)* addrspace(42)* getelementptr (%struct.mystruct addrspace(42)* @input, i32 0, i32 3), align 4 ; [#uses=1] store i32 addrspace(33)* %tmp1, i32 addrspace(33)* addrspace(66)* getelementptr (%struct.mystruct addrspace(66)* @output, i32 0, i32 1), align 4 ret void } define i32 addrspace(11)* @bar(i32 addrspace(11)* addrspace(22)* addrspace(33)* %x) { entry: - %tmp1 = load i32 addrspace(11)* addrspace(22)* addrspace(33)* @y, align 4 ; [#uses=2] + %tmp1 = load i32 addrspace(11)* addrspace(22)*, i32 addrspace(11)* addrspace(22)* addrspace(33)* @y, align 4 ; [#uses=2] store i32 addrspace(11)* addrspace(22)* %tmp1, i32 addrspace(11)* addrspace(22)* addrspace(33)* %x, align 4 - %tmp5 = load i32 addrspace(11)* addrspace(22)* %tmp1, align 4 ; [#uses=1] + %tmp5 = load i32 addrspace(11)*, i32 addrspace(11)* addrspace(22)* %tmp1, align 4 ; [#uses=1] ret i32 addrspace(11)* %tmp5 } Index: llvm/trunk/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll =================================================================== --- llvm/trunk/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll +++ llvm/trunk/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll @@ -15,7 +15,7 @@ ; CHECK: call void @llvm.dbg.value(metadata i64 72, call void @llvm.dbg.declare(metadata i64* %diff1, metadata !0, metadata !{!"0x102"}) store i64 72, i64* %diff1, align 8 - %v1 = load %struct.test** @TestArrayPtr, align 8 ; <%struct.test*> [#uses=1] + %v1 = load %struct.test*, %struct.test** @TestArrayPtr, align 8 ; <%struct.test*> [#uses=1] %v2 = ptrtoint %struct.test* %v1 to i64 ; [#uses=1] %v3 = sub i64 %v2, ptrtoint ([10 x %struct.test]* @TestArray to i64) ; [#uses=1] store i64 %v3, i64* %diff1, align 8 Index: llvm/trunk/test/Assembler/align-inst-load.ll =================================================================== --- llvm/trunk/test/Assembler/align-inst-load.ll +++ llvm/trunk/test/Assembler/align-inst-load.ll @@ -1,6 +1,6 @@ ; RUN: not llvm-as %s -o /dev/null 2>/dev/null define void @foo() { - load i1* %p, align 1073741824 + load i1, i1* %p, align 1073741824 ret void } Index: llvm/trunk/test/Assembler/align-inst.ll =================================================================== --- llvm/trunk/test/Assembler/align-inst.ll +++ llvm/trunk/test/Assembler/align-inst.ll @@ -5,7 +5,7 @@ define void @foo() { %p = alloca i1, align 536870912 - load i1* %p, align 536870912 + load i1, i1* %p, align 536870912 store i1 false, i1* %p, align 536870912 ret void } Index: llvm/trunk/test/Assembler/atomic.ll =================================================================== --- llvm/trunk/test/Assembler/atomic.ll +++ llvm/trunk/test/Assembler/atomic.ll @@ -3,10 +3,10 @@ ; Basic smoke test for atomic operations. define void @f(i32* %x) { - ; CHECK: load atomic i32* %x unordered, align 4 - load atomic i32* %x unordered, align 4 - ; CHECK: load atomic volatile i32* %x singlethread acquire, align 4 - load atomic volatile i32* %x singlethread acquire, align 4 + ; CHECK: load atomic i32, i32* %x unordered, align 4 + load atomic i32, i32* %x unordered, align 4 + ; CHECK: load atomic volatile i32, i32* %x singlethread acquire, align 4 + load atomic volatile i32, i32* %x singlethread acquire, align 4 ; CHECK: store atomic i32 3, i32* %x release, align 4 store atomic i32 3, i32* %x release, align 4 ; CHECK: store atomic volatile i32 3, i32* %x singlethread monotonic, align 4 Index: llvm/trunk/test/Assembler/fast-math-flags.ll =================================================================== --- llvm/trunk/test/Assembler/fast-math-flags.ll +++ llvm/trunk/test/Assembler/fast-math-flags.ll @@ -9,12 +9,12 @@ define float @none(float %x, float %y) { entry: -; CHECK: %vec = load <3 x float>* @vec - %vec = load <3 x float>* @vec -; CHECK: %select = load i1* @select - %select = load i1* @select -; CHECK: %arr = load [3 x float]* @arr - %arr = load [3 x float]* @arr +; CHECK: %vec = load <3 x float>, <3 x float>* @vec + %vec = load <3 x float>, <3 x float>* @vec +; CHECK: %select = load i1, i1* @select + %select = load i1, i1* @select +; CHECK: %arr = load [3 x float], [3 x float]* @arr + %arr = load [3 x float], [3 x float]* @arr ; CHECK: %a = fadd float %x, %y %a = fadd float %x, %y @@ -43,12 +43,12 @@ ; CHECK: no_nan define float @no_nan(float %x, float %y) { entry: -; CHECK: %vec = load <3 x float>* @vec - %vec = load <3 x float>* @vec -; CHECK: %select = load i1* @select - %select = load i1* @select -; CHECK: %arr = load [3 x float]* @arr - %arr = load [3 x float]* @arr +; CHECK: %vec = load <3 x float>, <3 x float>* @vec + %vec = load <3 x float>, <3 x float>* @vec +; CHECK: %select = load i1, i1* @select + %select = load i1, i1* @select +; CHECK: %arr = load [3 x float], [3 x float]* @arr + %arr = load [3 x float], [3 x float]* @arr ; CHECK: %a = fadd nnan float %x, %y %a = fadd nnan float %x, %y @@ -77,12 +77,12 @@ ; CHECK: no_nan_inf define float @no_nan_inf(float %x, float %y) { entry: -; CHECK: %vec = load <3 x float>* @vec - %vec = load <3 x float>* @vec -; CHECK: %select = load i1* @select - %select = load i1* @select -; CHECK: %arr = load [3 x float]* @arr - %arr = load [3 x float]* @arr +; CHECK: %vec = load <3 x float>, <3 x float>* @vec + %vec = load <3 x float>, <3 x float>* @vec +; CHECK: %select = load i1, i1* @select + %select = load i1, i1* @select +; CHECK: %arr = load [3 x float], [3 x float]* @arr + %arr = load [3 x float], [3 x float]* @arr ; CHECK: %a = fadd nnan ninf float %x, %y %a = fadd ninf nnan float %x, %y @@ -111,12 +111,12 @@ ; CHECK: mixed_flags define float @mixed_flags(float %x, float %y) { entry: -; CHECK: %vec = load <3 x float>* @vec - %vec = load <3 x float>* @vec -; CHECK: %select = load i1* @select - %select = load i1* @select -; CHECK: %arr = load [3 x float]* @arr - %arr = load [3 x float]* @arr +; CHECK: %vec = load <3 x float>, <3 x float>* @vec + %vec = load <3 x float>, <3 x float>* @vec +; CHECK: %select = load i1, i1* @select + %select = load i1, i1* @select +; CHECK: %arr = load [3 x float], [3 x float]* @arr + %arr = load [3 x float], [3 x float]* @arr ; CHECK: %a = fadd nnan ninf float %x, %y %a = fadd ninf nnan float %x, %y Index: llvm/trunk/test/Assembler/half-constprop.ll =================================================================== --- llvm/trunk/test/Assembler/half-constprop.ll +++ llvm/trunk/test/Assembler/half-constprop.ll @@ -9,8 +9,8 @@ %.compoundliteral = alloca float, align 4 store half 0xH4200, half* %a, align 2 store half 0xH4B9A, half* %b, align 2 - %tmp = load half* %a, align 2 - %tmp1 = load half* %b, align 2 + %tmp = load half, half* %a, align 2 + %tmp1 = load half, half* %b, align 2 %add = fadd half %tmp, %tmp1 ; CHECK: 0xH4C8D ret half %add Index: llvm/trunk/test/Assembler/half-conv.ll =================================================================== --- llvm/trunk/test/Assembler/half-conv.ll +++ llvm/trunk/test/Assembler/half-conv.ll @@ -7,7 +7,7 @@ %a = alloca half, align 2 %.compoundliteral = alloca float, align 4 store half 0xH4C8D, half* %a, align 2 - %tmp = load half* %a, align 2 + %tmp = load half, half* %a, align 2 %conv = fpext half %tmp to float ; CHECK: 0x4032340000000000 ret float %conv Index: llvm/trunk/test/Assembler/insertextractvalue.ll =================================================================== --- llvm/trunk/test/Assembler/insertextractvalue.ll +++ llvm/trunk/test/Assembler/insertextractvalue.ll @@ -8,7 +8,7 @@ ; CHECK-NEXT: store ; CHECK-NEXT: ret define float @foo({{i32},{float, double}}* %p) nounwind { - %t = load {{i32},{float, double}}* %p + %t = load {{i32},{float, double}}, {{i32},{float, double}}* %p %s = extractvalue {{i32},{float, double}} %t, 1, 0 %r = insertvalue {{i32},{float, double}} %t, double 2.0, 1, 1 store {{i32},{float, double}} %r, {{i32},{float, double}}* %p Index: llvm/trunk/test/Assembler/invalid-load-mismatched-explicit-type.ll =================================================================== --- llvm/trunk/test/Assembler/invalid-load-mismatched-explicit-type.ll +++ llvm/trunk/test/Assembler/invalid-load-mismatched-explicit-type.ll @@ -0,0 +1,6 @@ +; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; CHECK: :4:13: error: explicit pointee type doesn't match operand's pointee type +define void @test(i32* %t) { + %x = load i16, i32* %t + ret void +} Index: llvm/trunk/test/Assembler/invalid-load-missing-explicit-type.ll =================================================================== --- llvm/trunk/test/Assembler/invalid-load-missing-explicit-type.ll +++ llvm/trunk/test/Assembler/invalid-load-missing-explicit-type.ll @@ -0,0 +1,6 @@ +; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; CHECK: :4:18: error: expected comma after load's type +define void @test(i32* %t) { + %x = load i32* %t + ret void +} Index: llvm/trunk/test/Assembler/numbered-values.ll =================================================================== --- llvm/trunk/test/Assembler/numbered-values.ll +++ llvm/trunk/test/Assembler/numbered-values.ll @@ -9,7 +9,7 @@ %0 = alloca i32 ; :0 [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] store i32 %X, i32* %X_addr - %1 = load i32* %X_addr, align 4 ; :1 [#uses=1] + %1 = load i32, i32* %X_addr, align 4 ; :1 [#uses=1] mul i32 %1, 4 ; :2 [#uses=1] %3 = add i32 %2, 123 ; :3 [#uses=1] store i32 %3, i32* %0, align 4 Index: llvm/trunk/test/Assembler/unnamed.ll =================================================================== --- llvm/trunk/test/Assembler/unnamed.ll +++ llvm/trunk/test/Assembler/unnamed.ll @@ -16,7 +16,7 @@ @3 = global x86_fp80 0xK4001E000000000000000 define float @foo(%0* %p) nounwind { - %t = load %0* %p ; <%0> [#uses=2] + %t = load %0, %0* %p ; <%0> [#uses=2] %s = extractvalue %0 %t, 1, 0 ; [#uses=1] %r = insertvalue %0 %t, double 2.000000e+00, 1, 1; <%0> [#uses=1] store %0 %r, %0* %p Index: llvm/trunk/test/Assembler/upgrade-loop-metadata.ll =================================================================== --- llvm/trunk/test/Assembler/upgrade-loop-metadata.ll +++ llvm/trunk/test/Assembler/upgrade-loop-metadata.ll @@ -14,7 +14,7 @@ br label %for.cond for.cond: ; preds = %for.inc, %entry - %0 = load i32* %i, align 4 + %0 = load i32, i32* %i, align 4 %cmp = icmp slt i32 %0, 16 br i1 %cmp, label %for.body, label %for.end, !llvm.loop !1 @@ -22,7 +22,7 @@ br label %for.inc for.inc: ; preds = %for.body - %1 = load i32* %i, align 4 + %1 = load i32, i32* %i, align 4 %inc = add nsw i32 %1, 1 store i32 %inc, i32* %i, align 4 br label %for.cond Index: llvm/trunk/test/Assembler/uselistorder.ll =================================================================== --- llvm/trunk/test/Assembler/uselistorder.ll +++ llvm/trunk/test/Assembler/uselistorder.ll @@ -48,7 +48,7 @@ define i1 @loada() { entry: - %a = load i1* getelementptr ([4 x i1]* @a, i64 0, i64 2) + %a = load i1, i1* getelementptr ([4 x i1]* @a, i64 0, i64 2) ret i1 %a } Index: llvm/trunk/test/Bitcode/arm32_neon_vcnt_upgrade.ll =================================================================== --- llvm/trunk/test/Bitcode/arm32_neon_vcnt_upgrade.ll +++ llvm/trunk/test/Bitcode/arm32_neon_vcnt_upgrade.ll @@ -4,7 +4,7 @@ define <4 x i16> @vclz16(<4 x i16>* %A) nounwind { ;CHECK: @vclz16 - %tmp1 = load <4 x i16>* %A + %tmp1 = load <4 x i16>, <4 x i16>* %A %tmp2 = call <4 x i16> @llvm.arm.neon.vclz.v4i16(<4 x i16> %tmp1) ;CHECK: {{call.*@llvm.ctlz.v4i16\(<4 x i16>.*, i1 false}} ret <4 x i16> %tmp2 @@ -12,7 +12,7 @@ define <8 x i8> @vcnt8(<8 x i8>* %A) nounwind { ;CHECK: @vcnt8 - %tmp1 = load <8 x i8>* %A + %tmp1 = load <8 x i8>, <8 x i8>* %A %tmp2 = call <8 x i8> @llvm.arm.neon.vcnt.v8i8(<8 x i8> %tmp1) ;CHECK: call <8 x i8> @llvm.ctpop.v8i8(<8 x i8> ret <8 x i8> %tmp2 Index: llvm/trunk/test/Bitcode/case-ranges-3.3.ll =================================================================== --- llvm/trunk/test/Bitcode/case-ranges-3.3.ll +++ llvm/trunk/test/Bitcode/case-ranges-3.3.ll @@ -10,7 +10,7 @@ %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %x, i32* %2, align 4 - %3 = load i32* %2, align 4 + %3 = load i32, i32* %2, align 4 switch i32 %3, label %9 [ ; CHECK: switch i32 %3, label %9 i32 -3, label %4 @@ -63,6 +63,6 @@ br label %11 ;