diff options
Diffstat (limited to 'test/Transforms/InstCombine/select.ll')
-rw-r--r-- | test/Transforms/InstCombine/select.ll | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/test/Transforms/InstCombine/select.ll b/test/Transforms/InstCombine/select.ll index a6a7aa9..e4cc6f5 100644 --- a/test/Transforms/InstCombine/select.ll +++ b/test/Transforms/InstCombine/select.ll @@ -301,30 +301,30 @@ define i32 @test15j(i32 %X) { define i32 @test16(i1 %C, i32* %P) { %P2 = select i1 %C, i32* %P, i32* null - %V = load i32* %P2 + %V = load i32, i32* %P2 ret i32 %V ; CHECK-LABEL: @test16( -; CHECK-NEXT: %V = load i32* %P +; CHECK-NEXT: %V = load i32, i32* %P ; CHECK: ret i32 %V } ;; It may be legal to load from a null address in a non-zero address space define i32 @test16_neg(i1 %C, i32 addrspace(1)* %P) { %P2 = select i1 %C, i32 addrspace(1)* %P, i32 addrspace(1)* null - %V = load i32 addrspace(1)* %P2 + %V = load i32, i32 addrspace(1)* %P2 ret i32 %V ; CHECK-LABEL: @test16_neg ; CHECK-NEXT: %P2 = select i1 %C, i32 addrspace(1)* %P, i32 addrspace(1)* null -; CHECK-NEXT: %V = load i32 addrspace(1)* %P2 +; CHECK-NEXT: %V = load i32, i32 addrspace(1)* %P2 ; CHECK: ret i32 %V } define i32 @test16_neg2(i1 %C, i32 addrspace(1)* %P) { %P2 = select i1 %C, i32 addrspace(1)* null, i32 addrspace(1)* %P - %V = load i32 addrspace(1)* %P2 + %V = load i32, i32 addrspace(1)* %P2 ret i32 %V ; CHECK-LABEL: @test16_neg2 ; CHECK-NEXT: %P2 = select i1 %C, i32 addrspace(1)* null, i32 addrspace(1)* %P -; CHECK-NEXT: %V = load i32 addrspace(1)* %P2 +; CHECK-NEXT: %V = load i32, i32 addrspace(1)* %P2 ; CHECK: ret i32 %V } @@ -813,7 +813,7 @@ define i32 @test59(i32 %x, i32 %y) nounwind { define i1 @test60(i32 %x, i1* %y) nounwind { %cmp = icmp eq i32 %x, 0 - %load = load i1* %y, align 1 + %load = load i1, i1* %y, align 1 %cmp1 = icmp slt i32 %x, 1 %sel = select i1 %cmp, i1 %load, i1 %cmp1 ret i1 %sel @@ -823,7 +823,7 @@ define i1 @test60(i32 %x, i1* %y) nounwind { @glbl = constant i32 10 define i32 @test61(i32* %ptr) { - %A = load i32* %ptr + %A = load i32, i32* %ptr %B = icmp eq i32* %ptr, @glbl %C = select i1 %B, i32 %A, i32 10 ret i32 %C @@ -1249,11 +1249,11 @@ define i32 @test76(i1 %flag, i32* %x) { ; CHECK-LABEL: @test76( ; CHECK: store i32 0, i32* %x ; CHECK: %[[P:.*]] = select i1 %flag, i32* @under_aligned, i32* %x -; CHECK: load i32* %[[P]] +; CHECK: load i32, i32* %[[P]] store i32 0, i32* %x %p = select i1 %flag, i32* @under_aligned, i32* %x - %v = load i32* %p + %v = load i32, i32* %p ret i32 %v } @@ -1268,13 +1268,13 @@ define i32 @test77(i1 %flag, i32* %x) { ; CHECK: call void @scribble_on_i32(i32* %[[A]]) ; CHECK: store i32 0, i32* %x ; CHECK: %[[P:.*]] = select i1 %flag, i32* %[[A]], i32* %x -; CHECK: load i32* %[[P]] +; CHECK: load i32, i32* %[[P]] %under_aligned = alloca i32, align 1 call void @scribble_on_i32(i32* %under_aligned) store i32 0, i32* %x %p = select i1 %flag, i32* %under_aligned, i32* %x - %v = load i32* %p + %v = load i32, i32* %p ret i32 %v } @@ -1282,8 +1282,8 @@ define i32 @test78(i1 %flag, i32* %x, i32* %y, i32* %z) { ; Test that we can speculate the loads around the select even when we can't ; fold the load completely away. ; CHECK-LABEL: @test78( -; CHECK: %[[V1:.*]] = load i32* %x -; CHECK-NEXT: %[[V2:.*]] = load i32* %y +; CHECK: %[[V1:.*]] = load i32, i32* %x +; CHECK-NEXT: %[[V2:.*]] = load i32, i32* %y ; CHECK-NEXT: %[[S:.*]] = select i1 %flag, i32 %[[V1]], i32 %[[V2]] ; CHECK-NEXT: ret i32 %[[S]] entry: @@ -1292,7 +1292,7 @@ entry: ; Block forwarding by storing to %z which could alias either %x or %y. store i32 42, i32* %z %p = select i1 %flag, i32* %x, i32* %y - %v = load i32* %p + %v = load i32, i32* %p ret i32 %v } @@ -1300,8 +1300,8 @@ define float @test79(i1 %flag, float* %x, i32* %y, i32* %z) { ; Test that we can speculate the loads around the select even when we can't ; fold the load completely away. ; CHECK-LABEL: @test79( -; CHECK: %[[V1:.*]] = load float* %x -; CHECK-NEXT: %[[V2:.*]] = load float* %y +; CHECK: %[[V1:.*]] = load float, float* %x +; CHECK-NEXT: %[[V2:.*]] = load float, float* %y ; CHECK-NEXT: %[[S:.*]] = select i1 %flag, float %[[V1]], float %[[V2]] ; CHECK-NEXT: ret float %[[S]] entry: @@ -1312,7 +1312,7 @@ entry: ; Block forwarding by storing to %z which could alias either %x or %y. store i32 42, i32* %z %p = select i1 %flag, float* %x, float* %y1 - %v = load float* %p + %v = load float, float* %p ret float %v } @@ -1322,7 +1322,7 @@ define i32 @test80(i1 %flag) { ; CHECK-LABEL: @test80( ; CHECK: %[[X:.*]] = alloca i32 ; CHECK-NEXT: %[[Y:.*]] = alloca i32 -; CHECK: %[[V:.*]] = load i32* %[[X]] +; CHECK: %[[V:.*]] = load i32, i32* %[[X]] ; CHECK-NEXT: store i32 %[[V]], i32* %[[Y]] ; CHECK-NEXT: ret i32 %[[V]] entry: @@ -1330,10 +1330,10 @@ entry: %y = alloca i32 call void @scribble_on_i32(i32* %x) call void @scribble_on_i32(i32* %y) - %tmp = load i32* %x + %tmp = load i32, i32* %x store i32 %tmp, i32* %y %p = select i1 %flag, i32* %x, i32* %y - %v = load i32* %p + %v = load i32, i32* %p ret i32 %v } @@ -1343,7 +1343,7 @@ define float @test81(i1 %flag) { ; CHECK-LABEL: @test81( ; CHECK: %[[X:.*]] = alloca i32 ; CHECK-NEXT: %[[Y:.*]] = alloca i32 -; CHECK: %[[V:.*]] = load i32* %[[X]] +; CHECK: %[[V:.*]] = load i32, i32* %[[X]] ; CHECK-NEXT: store i32 %[[V]], i32* %[[Y]] ; CHECK-NEXT: %[[C:.*]] = bitcast i32 %[[V]] to float ; CHECK-NEXT: ret float %[[C]] @@ -1354,10 +1354,10 @@ entry: %y1 = bitcast i32* %y to float* call void @scribble_on_i32(i32* %x1) call void @scribble_on_i32(i32* %y) - %tmp = load i32* %x1 + %tmp = load i32, i32* %x1 store i32 %tmp, i32* %y %p = select i1 %flag, float* %x, float* %y1 - %v = load float* %p + %v = load float, float* %p ret float %v } @@ -1369,7 +1369,7 @@ define i32 @test82(i1 %flag) { ; CHECK-NEXT: %[[Y:.*]] = alloca i32 ; CHECK-NEXT: %[[X1:.*]] = bitcast float* %[[X]] to i32* ; CHECK-NEXT: %[[Y1:.*]] = bitcast i32* %[[Y]] to float* -; CHECK: %[[V:.*]] = load float* %[[X]] +; CHECK: %[[V:.*]] = load float, float* %[[X]] ; CHECK-NEXT: store float %[[V]], float* %[[Y1]] ; CHECK-NEXT: %[[C:.*]] = bitcast float %[[V]] to i32 ; CHECK-NEXT: ret i32 %[[C]] @@ -1380,10 +1380,10 @@ entry: %y1 = bitcast i32* %y to float* call void @scribble_on_i32(i32* %x1) call void @scribble_on_i32(i32* %y) - %tmp = load float* %x + %tmp = load float, float* %x store float %tmp, float* %y1 %p = select i1 %flag, i32* %x1, i32* %y - %v = load i32* %p + %v = load i32, i32* %p ret i32 %v } @@ -1398,7 +1398,7 @@ define i8* @test83(i1 %flag) { ; CHECK-NEXT: %[[Y:.*]] = alloca i8* ; CHECK-DAG: %[[X2:.*]] = bitcast i8** %[[X]] to i64* ; CHECK-DAG: %[[Y2:.*]] = bitcast i8** %[[Y]] to i64* -; CHECK: %[[V:.*]] = load i64* %[[X2]] +; CHECK: %[[V:.*]] = load i64, i64* %[[X2]] ; CHECK-NEXT: store i64 %[[V]], i64* %[[Y2]] ; CHECK-NEXT: %[[C:.*]] = inttoptr i64 %[[V]] to i8* ; CHECK-NEXT: ret i8* %[[S]] @@ -1409,10 +1409,10 @@ entry: %y1 = bitcast i64* %y to i8** call void @scribble_on_i64(i64* %x1) call void @scribble_on_i64(i64* %y) - %tmp = load i64* %x1 + %tmp = load i64, i64* %x1 store i64 %tmp, i64* %y %p = select i1 %flag, i8** %x, i8** %y1 - %v = load i8** %p + %v = load i8*, i8** %p ret i8* %v } @@ -1422,7 +1422,7 @@ define i64 @test84(i1 %flag) { ; CHECK-LABEL: @test84( ; CHECK: %[[X:.*]] = alloca i8* ; CHECK-NEXT: %[[Y:.*]] = alloca i8* -; CHECK: %[[V:.*]] = load i8** %[[X]] +; CHECK: %[[V:.*]] = load i8*, i8** %[[X]] ; CHECK-NEXT: store i8* %[[V]], i8** %[[Y]] ; CHECK-NEXT: %[[C:.*]] = ptrtoint i8* %[[V]] to i64 ; CHECK-NEXT: ret i64 %[[C]] @@ -1433,10 +1433,10 @@ entry: %y1 = bitcast i64* %y to i8** call void @scribble_on_i64(i64* %x1) call void @scribble_on_i64(i64* %y) - %tmp = load i8** %x + %tmp = load i8*, i8** %x store i8* %tmp, i8** %y1 %p = select i1 %flag, i64* %x1, i64* %y - %v = load i64* %p + %v = load i64, i64* %p ret i64 %v } @@ -1445,10 +1445,10 @@ define i8* @test85(i1 %flag) { ; pointer doesn't load all of the stored integer bits. We could fix this, but it ; would require endianness checks and other nastiness. ; CHECK-LABEL: @test85( -; CHECK: %[[T:.*]] = load i128* +; CHECK: %[[T:.*]] = load i128, i128* ; CHECK-NEXT: store i128 %[[T]], i128* -; CHECK-NEXT: %[[X:.*]] = load i8** -; CHECK-NEXT: %[[Y:.*]] = load i8** +; CHECK-NEXT: %[[X:.*]] = load i8*, i8** +; CHECK-NEXT: %[[Y:.*]] = load i8*, i8** ; CHECK-NEXT: %[[V:.*]] = select i1 %flag, i8* %[[X]], i8* %[[Y]] ; CHECK-NEXT: ret i8* %[[V]] entry: @@ -1459,10 +1459,10 @@ entry: %y1 = bitcast i128* %y to i8** call void @scribble_on_i128(i128* %x2) call void @scribble_on_i128(i128* %y) - %tmp = load i128* %x2 + %tmp = load i128, i128* %x2 store i128 %tmp, i128* %y %p = select i1 %flag, i8** %x1, i8** %y1 - %v = load i8** %p + %v = load i8*, i8** %p ret i8* %v } @@ -1472,10 +1472,10 @@ define i128 @test86(i1 %flag) { ; the bits of the integer. ; ; CHECK-LABEL: @test86( -; CHECK: %[[T:.*]] = load i8** +; CHECK: %[[T:.*]] = load i8*, i8** ; CHECK-NEXT: store i8* %[[T]], i8** -; CHECK-NEXT: %[[X:.*]] = load i128* -; CHECK-NEXT: %[[Y:.*]] = load i128* +; CHECK-NEXT: %[[X:.*]] = load i128, i128* +; CHECK-NEXT: %[[Y:.*]] = load i128, i128* ; CHECK-NEXT: %[[V:.*]] = select i1 %flag, i128 %[[X]], i128 %[[Y]] ; CHECK-NEXT: ret i128 %[[V]] entry: @@ -1486,10 +1486,10 @@ entry: %y1 = bitcast i128* %y to i8** call void @scribble_on_i128(i128* %x2) call void @scribble_on_i128(i128* %y) - %tmp = load i8** %x1 + %tmp = load i8*, i8** %x1 store i8* %tmp, i8** %y1 %p = select i1 %flag, i128* %x2, i128* %y - %v = load i128* %p + %v = load i128, i128* %p ret i128 %v } |