28 changes: 14 additions & 14 deletions llvm/test/Analysis/BasicAA/featuretest.ll
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ define i32 @different_array_test(i64 %A, i64 %B) {
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
Expand All @@ -41,9 +41,9 @@ define i32 @constant_array_index_test() {
%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
Expand All @@ -53,10 +53,10 @@ define i32 @constant_array_index_test() {
; 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
Expand All @@ -67,10 +67,10 @@ define i32 @gep_distance_test(i32* %A) {
; 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
Expand All @@ -80,11 +80,11 @@ define i32 @gep_distance_test2({i32,i32}* %A, i64 %distance) {
; 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
Expand All @@ -96,9 +96,9 @@ define i32 @constexpr_test() {
%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
Expand All @@ -113,12 +113,12 @@ define i16 @zext_sext_confusion(i16* %row2col, i5 %j) nounwind{
entry:
%sum5.cast = zext i5 %j to i64 ; <i64> [#uses=1]
%P1 = getelementptr i16, i16* %row2col, i64 %sum5.cast
%row2col.load.1.2 = load i16* %P1, align 1 ; <i16> [#uses=1]
%row2col.load.1.2 = load i16, i16* %P1, align 1 ; <i16> [#uses=1]

%sum13.cast31 = sext i5 %j to i6 ; <i6> [#uses=1]
%sum13.cast = zext i6 %sum13.cast31 to i64 ; <i64> [#uses=1]
%P2 = getelementptr i16, i16* %row2col, i64 %sum13.cast
%row2col.load.1.6 = load i16* %P2, align 1 ; <i16> [#uses=1]
%row2col.load.1.6 = load i16, i16* %P2, align 1 ; <i16> [#uses=1]

%.ret = sub i16 %row2col.load.1.6, %row2col.load.1.2 ; <i16> [#uses=1]
ret i16 %.ret
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/BasicAA/full-store-partial-alias.ll
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ entry:
%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
}
Expand Down
10 changes: 5 additions & 5 deletions llvm/test/Analysis/BasicAA/gcsetest.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -30,13 +30,13 @@ define i32 @test() {
; 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
Expand All @@ -55,7 +55,7 @@ define i32 @test3() {
%X = alloca i32
store i32 7, i32* %X
call void @external()
%V = load i32* %X
%V = load i32, i32* %X
ret i32 %V
}

50 changes: 25 additions & 25 deletions llvm/test/Analysis/BasicAA/gep-alias.ll
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ define i32 @test1(i8 * %P) {
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
Expand All @@ -23,12 +23,12 @@ define i32 @test2(i8 * %P) {
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
Expand All @@ -42,12 +42,12 @@ define i32 @test3({float, {i32, i32, i32}}* %P) {
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
Expand All @@ -66,7 +66,7 @@ entry:
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
Expand All @@ -77,9 +77,9 @@ define i32 @test5(i32* %p, i64 %i) {
%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(
Expand All @@ -90,9 +90,9 @@ define i32 @test5_as1_smaller_size(i32 addrspace(1)* %p, i8 %i) {
%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(
Expand All @@ -104,9 +104,9 @@ define i32 @test5_as1_same_size(i32 addrspace(1)* %p, i16 %i) {
%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(
Expand All @@ -119,9 +119,9 @@ define i32 @test6(i32* %p, i64 %i1) {
%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(
Expand All @@ -133,9 +133,9 @@ define i32 @test7(i32* %p, i64 %i) {
%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(
Expand All @@ -150,9 +150,9 @@ define i32 @test8(i32* %p, i16 %i) {
%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(
Expand All @@ -170,9 +170,9 @@ define i8 @test9([4 x i8] *%P, i32 %i, i32 %j) {
; 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(
Expand All @@ -188,9 +188,9 @@ define i8 @test10([4 x i8] *%P, i32 %i) {
; 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(
Expand All @@ -207,7 +207,7 @@ define float @test11(i32 %indvar, [4 x [2 x float]]* %q) nounwind ssp {
%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
Expand All @@ -223,7 +223,7 @@ define i32 @test12(i32 %x, i32 %y, i8* %p) nounwind {
%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
Expand Down
12 changes: 6 additions & 6 deletions llvm/test/Analysis/BasicAA/global-size.ll
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ target datalayout = "E-p:64:64:64-p1:16:16:16-a0:0:8-f32:32:32-f64:64:64-i1:8:8-

; 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
Expand All @@ -21,9 +21,9 @@ define i16 @test1(i32* %P) {
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
}
Expand All @@ -39,10 +39,10 @@ define i8 @test2(i32 %tmp79, i32 %w.2, i32 %indvar89) nounwind {
%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

Expand Down
6 changes: 3 additions & 3 deletions llvm/test/Analysis/BasicAA/invariant_load.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/Analysis/BasicAA/memset_pattern.ll
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ entry:
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
}
Expand Down
26 changes: 13 additions & 13 deletions llvm/test/Analysis/BasicAA/modref.ll
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ define i32 @test0(i8* %P) {

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
Expand All @@ -29,7 +29,7 @@ define i8 @test1() {

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
}
Expand All @@ -39,7 +39,7 @@ define i8 @test2(i8* %P) {
%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
}
Expand All @@ -52,7 +52,7 @@ define i8 @test2a(i8* %P) {
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
Expand Down Expand Up @@ -90,9 +90,9 @@ define void @test3a(i8* %P, i8 %X) {
@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
Expand All @@ -105,9 +105,9 @@ define i32 @test4(i8* %P) {
; 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
Expand All @@ -118,13 +118,13 @@ define i32 @test5(i8* %P, i32 %Len) {
}

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
}
Expand All @@ -137,12 +137,12 @@ entry:
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
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/BasicAA/must-and-partial.ll
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ green:
%bigbase0 = bitcast i8* %base to i16*
store i16 -1, i16* %bigbase0

%loaded = load i8* %phi
%loaded = load i8, i8* %phi
ret i8 %loaded
}

Expand All @@ -34,6 +34,6 @@ entry:
%bigbase1 = bitcast i8* %base to i16*
store i16 -1, i16* %bigbase1

%loaded = load i8* %sel
%loaded = load i8, i8* %sel
ret i8 %loaded
}
4 changes: 2 additions & 2 deletions llvm/test/Analysis/BasicAA/no-escape-call.ll
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ entry:
store i8* %tmp2, i8** %tmp4, align 4
%tmp10 = getelementptr i8, i8* %tmp2, i32 10 ; <i8*> [#uses=1]
store i8 42, i8* %tmp10, align 1
%tmp14 = load i8** %tmp4, align 4 ; <i8*> [#uses=1]
%tmp14 = load i8*, i8** %tmp4, align 4 ; <i8*> [#uses=1]
%tmp16 = getelementptr i8, i8* %tmp14, i32 10 ; <i8*> [#uses=1]
%tmp17 = load i8* %tmp16, align 1 ; <i8> [#uses=1]
%tmp17 = load i8, i8* %tmp16, align 1 ; <i8> [#uses=1]
%tmp19 = icmp eq i8 %tmp17, 42 ; <i1> [#uses=1]
ret i1 %tmp19
}
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/Analysis/BasicAA/noalias-bugs.ll
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ define i64 @testcase(%nested * noalias %p1, %nested * noalias %p2,
; 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
}
4 changes: 2 additions & 2 deletions llvm/test/Analysis/BasicAA/noalias-param.ll
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ define void @no(i32* noalias %a, i32* %b) nounwind {
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
}

Expand All @@ -16,7 +16,7 @@ define void @yes(i32* %c, i32* %d) nounwind {
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
}

Expand Down
10 changes: 5 additions & 5 deletions llvm/test/Analysis/BasicAA/nocapture.ll
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ define i32 @test2() {
; 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
}
Expand All @@ -19,18 +19,18 @@ define i32 @test4(i32* noalias nocapture %p) nounwind {
; 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*
; Here test3 might store %p to %q. This doesn't violate %p's nocapture
; 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
}
12 changes: 6 additions & 6 deletions llvm/test/Analysis/BasicAA/phi-aa.ll
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ bb1:

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:
Expand All @@ -52,14 +52,14 @@ codeRepl:
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
Expand All @@ -68,7 +68,7 @@ for.body:
br label %codeRepl

bye:
%.reload = load i32* %jj7, align 4
%.reload = load i32, i32* %jj7, align 4
ret i32 %.reload
}

Expand Down
8 changes: 4 additions & 4 deletions llvm/test/Analysis/BasicAA/phi-spec-order.ll
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,20 @@ for.body4: ; preds = %for.body4, %for.con
%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, <double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00>
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, <double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00>
%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, <double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00>
%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, <double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00>
%scevgep3 = getelementptr <4 x double>, <4 x double>* %lsr.iv12, i64 3
store <4 x double> %add.12, <4 x double>* %scevgep3, align 32
Expand Down
12 changes: 6 additions & 6 deletions llvm/test/Analysis/BasicAA/phi-speculation.ll
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ while.body:
%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
Expand Down Expand Up @@ -52,10 +52,10 @@ while.body:
%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
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/BasicAA/pr18573.ll
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ declare <8 x float> @llvm.x86.avx2.gather.d.ps.256(<8 x float>, i8*, <8 x i32>,
; 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> <float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000>, i8 1) #2
Expand All @@ -31,7 +31,7 @@ allocas:
; 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> <float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000>, i8 1) #2
Expand Down
10 changes: 5 additions & 5 deletions llvm/test/Analysis/BasicAA/store-promote.ll
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1
@C = global [2 x i32] [ i32 4, i32 8 ] ; <[2 x i32]*> [#uses=2]

define i32 @test1(i1 %c) {
%Atmp = load i32* @A ; <i32> [#uses=2]
%Atmp = load i32, i32* @A ; <i32> [#uses=2]
br label %Loop

Loop: ; preds = %Loop, %0
%ToRemove = load i32* @A ; <i32> [#uses=1]
%ToRemove = load i32, i32* @A ; <i32> [#uses=1]
store i32 %Atmp, i32* @B
br i1 %c, label %Out, label %Loop

Expand All @@ -24,7 +24,7 @@ Out: ; preds = %Loop

; 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:
Expand All @@ -35,10 +35,10 @@ define i32 @test2(i1 %c) {
br label %Loop

Loop: ; preds = %Loop, %0
%AVal = load i32* @A ; <i32> [#uses=2]
%AVal = load i32, i32* @A ; <i32> [#uses=2]
%C0 = getelementptr [2 x i32], [2 x i32]* @C, i64 0, i64 0 ; <i32*> [#uses=1]
store i32 %AVal, i32* %C0
%BVal = load i32* @B ; <i32> [#uses=2]
%BVal = load i32, i32* @B ; <i32> [#uses=2]
%C1 = getelementptr [2 x i32], [2 x i32]* @C, i64 0, i64 1 ; <i32*> [#uses=1]
store i32 %BVal, i32* %C1
br i1 %c, label %Out, label %Loop
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/BasicAA/tailcall-modref.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ define i32 @test() {
; CHECK: ret i32 0
%A = alloca i32 ; <i32*> [#uses=3]
call void @foo( i32* %A )
%X = load i32* %A ; <i32> [#uses=1]
%X = load i32, i32* %A ; <i32> [#uses=1]
tail call void @bar( )
%Y = load i32* %A ; <i32> [#uses=1]
%Y = load i32, i32* %A ; <i32> [#uses=1]
%Z = sub i32 %X, %Y ; <i32> [#uses=1]
ret i32 %Z
}
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/BasicAA/underlying-value.ll
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ for.cond2: ; preds = %for.body5, %for.con

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
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/BasicAA/zext.ll
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ for.loop.exit:

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
Expand Down Expand Up @@ -168,7 +168,7 @@ for.loop.exit:

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

Expand Down
2 changes: 1 addition & 1 deletion llvm/test/Analysis/BlockFrequencyInfo/basic.ll
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ body:
%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
Expand Down
6 changes: 3 additions & 3 deletions llvm/test/Analysis/BranchProbabilityInfo/basic.ll
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ body:
%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
Expand Down Expand Up @@ -154,7 +154,7 @@ define i32 @test_cold_call_sites(i32* %a) {

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

Expand All @@ -165,7 +165,7 @@ then:

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

Expand Down
16 changes: 8 additions & 8 deletions llvm/test/Analysis/BranchProbabilityInfo/loop.ll
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ entry:
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%
Expand Down Expand Up @@ -124,7 +124,7 @@ entry:
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
Expand Down Expand Up @@ -169,7 +169,7 @@ do.body:

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
Expand Down Expand Up @@ -214,7 +214,7 @@ do.body:
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
Expand Down Expand Up @@ -258,7 +258,7 @@ for.body.lr.ph:

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%
Expand Down Expand Up @@ -319,21 +319,21 @@ for.body:

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%
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/Analysis/BranchProbabilityInfo/pr18705.ll
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,22 @@ while.body:
%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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ entry:
%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
}
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/CFLAliasAnalysis/gep-signed-arithmetic.ll
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ define i32 @test(i32 %indvar) nounwind {
%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
}
2 changes: 1 addition & 1 deletion llvm/test/Analysis/CFLAliasAnalysis/multilevel-combine.ll
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ define void @test(i1 %C) {

store %T* %MS, %T** %M

%AP = load %T** %M ; PartialAlias with %A, %B
%AP = load %T*, %T** %M ; PartialAlias with %A, %B

ret void
}
4 changes: 2 additions & 2 deletions llvm/test/Analysis/CFLAliasAnalysis/multilevel.ll
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ define void @test() {
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
}
8 changes: 4 additions & 4 deletions llvm/test/Analysis/CFLAliasAnalysis/must-and-partial.ll
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ green:
%bigbase0 = bitcast i8* %base to i16*
store i16 -1, i16* %bigbase0

%loaded = load i8* %phi
%loaded = load i8, i8* %phi
ret i8 %loaded
}

Expand All @@ -37,7 +37,7 @@ entry:
%bigbase1 = bitcast i8* %base to i16*
store i16 -1, i16* %bigbase1

%loaded = load i8* %sel
%loaded = load i8, i8* %sel
ret i8 %loaded
}

Expand All @@ -46,9 +46,9 @@ entry:
; 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
}
4 changes: 2 additions & 2 deletions llvm/test/Analysis/CostModel/AArch64/store.ll
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ define void @store() {
; 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
}
12 changes: 6 additions & 6 deletions llvm/test/Analysis/CostModel/ARM/insertelement.ll
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ target triple = "thumbv7-apple-ios6.0.0"
; 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
Expand All @@ -24,8 +24,8 @@ define void @insertelement_i8(%T_i8* %saddr,
; 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
Expand All @@ -37,8 +37,8 @@ define void @insertelement_i16(%T_i16* %saddr,
; 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
Expand Down
16 changes: 8 additions & 8 deletions llvm/test/Analysis/CostModel/PowerPC/load_store.ll
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,26 @@ define i32 @stores(i32 %arg) {
}
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
}
Expand Down
6 changes: 3 additions & 3 deletions llvm/test/Analysis/CostModel/X86/intrinsic-cost.ll
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ vector.body: ; preds = %vector.body, %vecto
%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
Expand Down Expand Up @@ -39,7 +39,7 @@ vector.body: ; preds = %vector.body, %vecto
%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
Expand Down Expand Up @@ -67,7 +67,7 @@ vector.body: ; preds = %vector.body, %vecto
%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
Expand Down
34 changes: 17 additions & 17 deletions llvm/test/Analysis/CostModel/X86/load_store.ll
Original file line number Diff line number Diff line change
Expand Up @@ -34,49 +34,49 @@ define i32 @stores(i32 %arg) {
}
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
}
Expand Down
6 changes: 3 additions & 3 deletions llvm/test/Analysis/CostModel/X86/loop_v2.ll
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ vector.body: ; preds = %vector.body, %vecto
%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
%5 = getelementptr inbounds i32, i32* %A, i64 %4
;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
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/Analysis/CostModel/X86/vectorized-loop.ll
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ vector.body: ; preds = %for.body.lr.ph, %ve
;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, <i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5>
%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
Expand All @@ -54,12 +54,12 @@ for.body: ; preds = %middle.block, %for.
%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
Expand Down
28 changes: 14 additions & 14 deletions llvm/test/Analysis/Delinearization/gcd_multiply_expr.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -36,11 +36,11 @@ for.cond:
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:
Expand All @@ -65,56 +65,56 @@ for.body4.i:
%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
Expand All @@ -136,7 +136,7 @@ for.body4.ur.i:
%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
Expand Down
12 changes: 6 additions & 6 deletions llvm/test/Analysis/Delinearization/himeno_1.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 6 additions & 6 deletions llvm/test/Analysis/Delinearization/himeno_2.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/Delinearization/multidim_only_ivs_2d.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -35,7 +35,7 @@ for.j:
%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
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/Analysis/Delinearization/undef.ll
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ for.body60:
%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

Expand Down
26 changes: 13 additions & 13 deletions llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -115,7 +115,7 @@ for.body3: ; preds = %for.body3.preheader
%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
Expand Down Expand Up @@ -181,7 +181,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -240,7 +240,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -299,7 +299,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -358,7 +358,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -417,7 +417,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -476,7 +476,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -535,7 +535,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -595,7 +595,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -654,7 +654,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -713,7 +713,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -772,7 +772,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down
32 changes: 16 additions & 16 deletions llvm/test/Analysis/DependenceAnalysis/Coupled.ll
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -65,7 +65,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -103,7 +103,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -141,7 +141,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -180,7 +180,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -221,7 +221,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -257,7 +257,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -293,7 +293,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -330,7 +330,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -367,7 +367,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -405,7 +405,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -443,7 +443,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -481,7 +481,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -518,7 +518,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -555,7 +555,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -592,7 +592,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down
26 changes: 13 additions & 13 deletions llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -87,7 +87,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -133,7 +133,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -179,7 +179,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -225,7 +225,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -272,7 +272,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -319,7 +319,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -366,7 +366,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -413,7 +413,7 @@ for.body4: ; preds = %for.body4.preheader
%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
Expand Down Expand Up @@ -455,7 +455,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -504,7 +504,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -552,7 +552,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -600,7 +600,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down
28 changes: 14 additions & 14 deletions llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -68,7 +68,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -104,7 +104,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -140,7 +140,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -176,7 +176,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -212,7 +212,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -248,7 +248,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -284,7 +284,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -320,7 +320,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -356,7 +356,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -392,7 +392,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -428,7 +428,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -464,7 +464,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -500,7 +500,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down
20 changes: 10 additions & 10 deletions llvm/test/Analysis/DependenceAnalysis/GCD.ll
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -111,7 +111,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -173,7 +173,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -233,7 +233,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -303,7 +303,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -373,7 +373,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -445,7 +445,7 @@ for.body3: ; preds = %for.body3.preheader
%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
Expand Down Expand Up @@ -536,7 +536,7 @@ for.body3: ; preds = %for.body3.preheader
%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
Expand Down Expand Up @@ -623,7 +623,7 @@ for.body3: ; preds = %for.body3.preheader
%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
Expand Down Expand Up @@ -715,7 +715,7 @@ for.body3: ; preds = %for.body3.preheader
%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
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Analysis/DependenceAnalysis/Invariant.ll
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ for.body3:
%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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ for.body:
%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
Expand Down
24 changes: 12 additions & 12 deletions llvm/test/Analysis/DependenceAnalysis/Preliminary.ll
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ entry:
; 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
}

Expand All @@ -36,7 +36,7 @@ entry:
; 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
}

Expand Down Expand Up @@ -107,7 +107,7 @@ for.body12: ; preds = %for.body12.preheade
%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
Expand Down Expand Up @@ -290,7 +290,7 @@ for.body33: ; preds = %for.body33.preheade
%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
Expand Down Expand Up @@ -445,7 +445,7 @@ for.body: ; preds = %for.body.preheader,
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
Expand Down Expand Up @@ -491,7 +491,7 @@ for.body: ; preds = %for.body.preheader,
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
Expand Down Expand Up @@ -535,7 +535,7 @@ for.body: ; preds = %for.body.preheader,
%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
Expand Down Expand Up @@ -570,7 +570,7 @@ entry:
%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
}
Expand All @@ -596,7 +596,7 @@ entry:
%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
}
Expand All @@ -622,7 +622,7 @@ entry:
%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
}
Expand All @@ -648,7 +648,7 @@ entry:
%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
}
Expand Down Expand Up @@ -682,7 +682,7 @@ while.body.preheader: ; preds = %entry
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
Expand Down
20 changes: 10 additions & 10 deletions llvm/test/Analysis/DependenceAnalysis/Propagating.ll
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ for.body3: ; preds = %for.cond1.preheader
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
Expand Down Expand Up @@ -93,7 +93,7 @@ for.body6: ; preds = %for.cond4.preheader
%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
Expand Down Expand Up @@ -149,7 +149,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -200,7 +200,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -252,7 +252,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -306,7 +306,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -359,7 +359,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -415,7 +415,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -466,7 +466,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down Expand Up @@ -517,7 +517,7 @@ for.body3: ; preds = %for.cond1.preheader
%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
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/Analysis/DependenceAnalysis/Separability.ll
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ for.body9: ; preds = %for.cond7.preheader
%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
Expand Down Expand Up @@ -124,7 +124,7 @@ for.body9: ; preds = %for.cond7.preheader
%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
Expand Down Expand Up @@ -198,7 +198,7 @@ for.body9: ; preds = %for.cond7.preheader
%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
Expand Down Expand Up @@ -273,7 +273,7 @@ for.body9: ; preds = %for.cond7.preheader
%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
Expand Down
22 changes: 11 additions & 11 deletions llvm/test/Analysis/DependenceAnalysis/StrongSIV.ll
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ for.body: ; preds = %for.body.preheader,
%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
Expand Down Expand Up @@ -75,7 +75,7 @@ for.body: ; preds = %for.body.preheader,
%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
Expand Down Expand Up @@ -117,7 +117,7 @@ for.body: ; preds = %for.body.preheader,
%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
Expand Down Expand Up @@ -159,7 +159,7 @@ for.body: ; preds = %for.body.preheader,
%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
Expand Down Expand Up @@ -198,7 +198,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -233,7 +233,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -270,7 +270,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -307,7 +307,7 @@ for.body: ; preds = %entry, %for.body
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
Expand Down Expand Up @@ -342,7 +342,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down Expand Up @@ -383,7 +383,7 @@ for.body: ; preds = %for.body.preheader,
%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
Expand Down Expand Up @@ -424,7 +424,7 @@ for.body: ; preds = %entry, %for.body
%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
Expand Down
Loading