diff options
Diffstat (limited to 'test/Analysis/BasicAA')
59 files changed, 382 insertions, 382 deletions
diff --git a/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll b/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll index 45f6088..d712e33 100644 --- a/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll +++ b/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll @@ -5,15 +5,15 @@ ; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s define i32 @test() { -; CHECK: %Y.DONOTREMOVE = load i32* %A +; CHECK: %Y.DONOTREMOVE = load i32, i32* %A ; CHECK: %Z = sub i32 0, %Y.DONOTREMOVE %A = alloca i32 store i32 0, i32* %A - %X = load i32* %A + %X = load i32, i32* %A %B = bitcast i32* %A to i8* - %C = getelementptr i8* %B, i64 1 + %C = getelementptr i8, i8* %B, i64 1 store i8 1, i8* %C ; Aliases %A - %Y.DONOTREMOVE = load i32* %A + %Y.DONOTREMOVE = load i32, i32* %A %Z = sub i32 %X, %Y.DONOTREMOVE ret i32 %Z } diff --git a/test/Analysis/BasicAA/2003-03-04-GEPCrash.ll b/test/Analysis/BasicAA/2003-03-04-GEPCrash.ll index 4f8eabb..5a93b3d 100644 --- a/test/Analysis/BasicAA/2003-03-04-GEPCrash.ll +++ b/test/Analysis/BasicAA/2003-03-04-GEPCrash.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -basicaa -aa-eval -disable-output 2>/dev/null ; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2 define void @test({[2 x i32],[2 x i32]}* %A, i64 %X, i64 %Y) { - %P1 = getelementptr {[2 x i32],[2 x i32]}* %A, i64 0, i32 0, i64 %X - %P2 = getelementptr {[2 x i32],[2 x i32]}* %A, i64 0, i32 1, i64 %Y + %P1 = getelementptr {[2 x i32],[2 x i32]}, {[2 x i32],[2 x i32]}* %A, i64 0, i32 0, i64 %X + %P2 = getelementptr {[2 x i32],[2 x i32]}, {[2 x i32],[2 x i32]}* %A, i64 0, i32 1, i64 %Y ret void } diff --git a/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll b/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll index 78f74a0..96ca071 100644 --- a/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll +++ b/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll @@ -4,11 +4,11 @@ define i32 @test(i32 *%Ptr, i64 %V) { ; CHECK: sub i32 %X, %Y - %P2 = getelementptr i32* %Ptr, i64 1 - %P1 = getelementptr i32* %Ptr, i64 %V - %X = load i32* %P1 + %P2 = getelementptr i32, i32* %Ptr, i64 1 + %P1 = getelementptr i32, i32* %Ptr, i64 %V + %X = load i32, i32* %P1 store i32 5, i32* %P2 - %Y = load i32* %P1 + %Y = load i32, i32* %P1 %Z = sub i32 %X, %Y ret i32 %Z } diff --git a/test/Analysis/BasicAA/2003-04-25-GEPCrash.ll b/test/Analysis/BasicAA/2003-04-25-GEPCrash.ll index 97bc38e..ea26c22 100644 --- a/test/Analysis/BasicAA/2003-04-25-GEPCrash.ll +++ b/test/Analysis/BasicAA/2003-04-25-GEPCrash.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -basicaa -aa-eval -disable-output 2>/dev/null ; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2 define void @test([17 x i16]* %mask_bits) { - %P1 = getelementptr [17 x i16]* %mask_bits, i64 0, i64 0 - %P2 = getelementptr [17 x i16]* %mask_bits, i64 252645134, i64 0 + %P1 = getelementptr [17 x i16], [17 x i16]* %mask_bits, i64 0, i64 0 + %P2 = getelementptr [17 x i16], [17 x i16]* %mask_bits, i64 252645134, i64 0 ret void } diff --git a/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll b/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll index 8ca3469..fb5b3bb 100644 --- a/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll +++ b/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll @@ -6,13 +6,13 @@ define void @table_reindex(%struct..apr_table_t* %t.1) { ; No predecessors! br label %loopentry loopentry: ; preds = %0, %no_exit - %tmp.101 = getelementptr %struct..apr_table_t* %t.1, i64 0, i32 0, i32 2 - %tmp.11 = load i32* %tmp.101 ; <i32> [#uses=0] + %tmp.101 = getelementptr %struct..apr_table_t, %struct..apr_table_t* %t.1, i64 0, i32 0, i32 2 + %tmp.11 = load i32, i32* %tmp.101 ; <i32> [#uses=0] br i1 false, label %no_exit, label %UnifiedExitNode no_exit: ; preds = %loopentry %tmp.25 = sext i32 0 to i64 ; <i64> [#uses=1] - %tmp.261 = getelementptr %struct..apr_table_t* %t.1, i64 0, i32 3, i64 %tmp.25 ; <i32*> [#uses=1] + %tmp.261 = getelementptr %struct..apr_table_t, %struct..apr_table_t* %t.1, i64 0, i32 3, i64 %tmp.25 ; <i32*> [#uses=1] store i32 0, i32* %tmp.261 br label %loopentry diff --git a/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll b/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll index 0abd384..ace5982 100644 --- a/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll +++ b/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll @@ -1,11 +1,11 @@ ; RUN: opt < %s -basicaa -aa-eval -disable-output 2>/dev/null define i32 @MTConcat([3 x i32]* %a.1) { - %tmp.961 = getelementptr [3 x i32]* %a.1, i64 0, i64 4 - %tmp.97 = load i32* %tmp.961 - %tmp.119 = getelementptr [3 x i32]* %a.1, i64 1, i64 0 - %tmp.120 = load i32* %tmp.119 - %tmp.1541 = getelementptr [3 x i32]* %a.1, i64 0, i64 4 - %tmp.155 = load i32* %tmp.1541 + %tmp.961 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 0, i64 4 + %tmp.97 = load i32, i32* %tmp.961 + %tmp.119 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 1, i64 0 + %tmp.120 = load i32, i32* %tmp.119 + %tmp.1541 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 0, i64 4 + %tmp.155 = load i32, i32* %tmp.1541 ret i32 0 } diff --git a/test/Analysis/BasicAA/2003-07-03-BasicAACrash.ll b/test/Analysis/BasicAA/2003-07-03-BasicAACrash.ll index 3e813fa..7aaae2a 100644 --- a/test/Analysis/BasicAA/2003-07-03-BasicAACrash.ll +++ b/test/Analysis/BasicAA/2003-07-03-BasicAACrash.ll @@ -4,7 +4,7 @@ %struct..RefRect = type { %struct..RefPoint, %struct..RefPoint } define i32 @BMT_CommitPartDrawObj() { - %tmp.19111 = getelementptr %struct..RefRect* null, i64 0, i32 0, i32 1, i32 2 - %tmp.20311 = getelementptr %struct..RefRect* null, i64 0, i32 1, i32 1, i32 2 + %tmp.19111 = getelementptr %struct..RefRect, %struct..RefRect* null, i64 0, i32 0, i32 1, i32 2 + %tmp.20311 = getelementptr %struct..RefRect, %struct..RefRect* null, i64 0, i32 1, i32 1, i32 2 ret i32 0 } diff --git a/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll b/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll index fd4c239..1e75d64 100644 --- a/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll +++ b/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll @@ -7,9 +7,9 @@ define i32 @test(i32* %P) { %X = alloca i32 - %V1 = load i32* %P + %V1 = load i32, i32* %P store i32 0, i32* %X - %V2 = load i32* %P + %V2 = load i32, i32* %P %Diff = sub i32 %V1, %V2 ret i32 %Diff } diff --git a/test/Analysis/BasicAA/2003-11-04-SimpleCases.ll b/test/Analysis/BasicAA/2003-11-04-SimpleCases.ll index f2b06cb..f8d4195 100644 --- a/test/Analysis/BasicAA/2003-11-04-SimpleCases.ll +++ b/test/Analysis/BasicAA/2003-11-04-SimpleCases.ll @@ -11,10 +11,10 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-NOT: MayAlias: define void @test(%T* %P) { - %A = getelementptr %T* %P, i64 0 - %B = getelementptr %T* %P, i64 0, i32 0 - %C = getelementptr %T* %P, i64 0, i32 1 - %D = getelementptr %T* %P, i64 0, i32 1, i64 0 - %E = getelementptr %T* %P, i64 0, i32 1, i64 5 + %A = getelementptr %T, %T* %P, i64 0 + %B = getelementptr %T, %T* %P, i64 0, i32 0 + %C = getelementptr %T, %T* %P, i64 0, i32 1 + %D = getelementptr %T, %T* %P, i64 0, i32 1, i64 0 + %E = getelementptr %T, %T* %P, i64 0, i32 1, i64 5 ret void } diff --git a/test/Analysis/BasicAA/2003-12-11-ConstExprGEP.ll b/test/Analysis/BasicAA/2003-12-11-ConstExprGEP.ll index 42512b8..957502f 100644 --- a/test/Analysis/BasicAA/2003-12-11-ConstExprGEP.ll +++ b/test/Analysis/BasicAA/2003-12-11-ConstExprGEP.ll @@ -13,10 +13,10 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-NOT: MayAlias: define void @test() { - %D = getelementptr %T* @G, i64 0, i32 0 - %E = getelementptr %T* @G, i64 0, i32 1, i64 5 - %F = getelementptr i32* getelementptr (%T* @G, i64 0, i32 0), i64 0 - %X = getelementptr [10 x i8]* getelementptr (%T* @G, i64 0, i32 1), i64 0, i64 5 + %D = getelementptr %T, %T* @G, i64 0, i32 0 + %E = getelementptr %T, %T* @G, i64 0, i32 1, i64 5 + %F = getelementptr i32, i32* getelementptr (%T, %T* @G, i64 0, i32 0), i64 0 + %X = getelementptr [10 x i8], [10 x i8]* getelementptr (%T, %T* @G, i64 0, i32 1), i64 0, i64 5 ret void } diff --git a/test/Analysis/BasicAA/2004-07-28-MustAliasbug.ll b/test/Analysis/BasicAA/2004-07-28-MustAliasbug.ll index 578aa594..16573a7 100644 --- a/test/Analysis/BasicAA/2004-07-28-MustAliasbug.ll +++ b/test/Analysis/BasicAA/2004-07-28-MustAliasbug.ll @@ -2,9 +2,9 @@ define void @test({i32,i32 }* %P) { ; CHECK: store i32 0, i32* %X - %Q = getelementptr {i32,i32}* %P, i32 1 - %X = getelementptr {i32,i32}* %Q, i32 0, i32 1 - %Y = getelementptr {i32,i32}* %Q, i32 1, i32 1 + %Q = getelementptr {i32,i32}, {i32,i32}* %P, i32 1 + %X = getelementptr {i32,i32}, {i32,i32}* %Q, i32 0, i32 1 + %Y = getelementptr {i32,i32}, {i32,i32}* %Q, i32 1, i32 1 store i32 0, i32* %X store i32 1, i32* %Y ret void diff --git a/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll b/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll index 06a804c..eb05e1e 100644 --- a/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll +++ b/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll @@ -12,12 +12,12 @@ entry: no_exit: ; preds = %no_exit, %entry %i.0.0 = phi i32 [ 0, %entry ], [ %inc, %no_exit ] ; <i32> [#uses=2] - %tmp.6 = getelementptr [3 x [3 x i32]]* %X, i32 0, i32 0, i32 %i.0.0 ; <i32*> [#uses=1] + %tmp.6 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 0, i32 %i.0.0 ; <i32*> [#uses=1] store i32 1, i32* %tmp.6 - %tmp.8 = getelementptr [3 x [3 x i32]]* %X, i32 0, i32 0, i32 0 ; <i32*> [#uses=1] - %tmp.9 = load i32* %tmp.8 ; <i32> [#uses=1] - %tmp.11 = getelementptr [3 x [3 x i32]]* %X, i32 0, i32 1, i32 0 ; <i32*> [#uses=1] - %tmp.12 = load i32* %tmp.11 ; <i32> [#uses=1] + %tmp.8 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 0, i32 0 ; <i32*> [#uses=1] + %tmp.9 = load i32, i32* %tmp.8 ; <i32> [#uses=1] + %tmp.11 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 1, i32 0 ; <i32*> [#uses=1] + %tmp.12 = load i32, i32* %tmp.11 ; <i32> [#uses=1] %tmp.13 = add i32 %tmp.12, %tmp.9 ; <i32> [#uses=1] %inc = add i32 %i.0.0, 1 ; <i32> [#uses=2] %tmp.2 = icmp slt i32 %inc, %N ; <i1> [#uses=1] @@ -25,7 +25,7 @@ no_exit: ; preds = %no_exit, %entry loopexit: ; preds = %no_exit, %entry %Y.0.1 = phi i32 [ 0, %entry ], [ %tmp.13, %no_exit ] ; <i32> [#uses=1] - %tmp.4 = getelementptr [3 x [3 x i32]]* %X, i32 0, i32 0 ; <[3 x i32]*> [#uses=1] + %tmp.4 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 0 ; <[3 x i32]*> [#uses=1] %tmp.15 = call i32 (...)* @foo( [3 x i32]* %tmp.4, i32 %Y.0.1 ) ; <i32> [#uses=0] ret void } diff --git a/test/Analysis/BasicAA/2006-11-03-BasicAAVectorCrash.ll b/test/Analysis/BasicAA/2006-11-03-BasicAAVectorCrash.ll index 0db5815..a331f7e 100644 --- a/test/Analysis/BasicAA/2006-11-03-BasicAAVectorCrash.ll +++ b/test/Analysis/BasicAA/2006-11-03-BasicAAVectorCrash.ll @@ -22,7 +22,7 @@ cond_true264.i: ; preds = %bb239.i ret void cond_false277.i: ; preds = %bb239.i - %tmp1062.i = getelementptr [2 x <4 x i32>]* null, i32 0, i32 1 ; <<4 x i32>*> [#uses=1] + %tmp1062.i = getelementptr [2 x <4 x i32>], [2 x <4 x i32>]* null, i32 0, i32 1 ; <<4 x i32>*> [#uses=1] store <4 x i32> zeroinitializer, <4 x i32>* %tmp1062.i br i1 false, label %cond_true1032.i, label %cond_false1063.i85 @@ -33,7 +33,7 @@ bb1013.i: ; preds = %bb205.i ret void cond_true1032.i: ; preds = %cond_false277.i - %tmp1187.i = getelementptr [2 x <4 x i32>]* null, i32 0, i32 0, i32 7 ; <i32*> [#uses=1] + %tmp1187.i = getelementptr [2 x <4 x i32>], [2 x <4 x i32>]* null, i32 0, i32 0, i32 7 ; <i32*> [#uses=1] store i32 0, i32* %tmp1187.i br label %bb2037.i diff --git a/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll b/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll index 46b6aaf..86bbd44 100644 --- a/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll +++ b/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll @@ -21,14 +21,14 @@ target triple = "i686-apple-darwin8" ; CHECK: ret i32 %Z define i32 @test(%struct.closure_type* %tmp18169) { - %tmp18174 = getelementptr %struct.closure_type* %tmp18169, i32 0, i32 4, i32 0, i32 0 ; <i32*> [#uses=2] + %tmp18174 = getelementptr %struct.closure_type, %struct.closure_type* %tmp18169, i32 0, i32 4, i32 0, i32 0 ; <i32*> [#uses=2] %tmp18269 = bitcast i32* %tmp18174 to %struct.STYLE* ; <%struct.STYLE*> [#uses=1] - %A = load i32* %tmp18174 ; <i32> [#uses=1] + %A = load i32, i32* %tmp18174 ; <i32> [#uses=1] - %tmp18272 = getelementptr %struct.STYLE* %tmp18269, i32 0, i32 0, i32 0, i32 2 ; <i16*> [#uses=1] + %tmp18272 = getelementptr %struct.STYLE, %struct.STYLE* %tmp18269, i32 0, i32 0, i32 0, i32 2 ; <i16*> [#uses=1] store i16 123, i16* %tmp18272 - %Q = load i32* %tmp18174 ; <i32> [#uses=1] + %Q = load i32, i32* %tmp18174 ; <i32> [#uses=1] %Z = sub i32 %A, %Q ; <i32> [#uses=1] ret i32 %Z } diff --git a/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll b/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll index d11e75d..8388d6c 100644 --- a/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll +++ b/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll @@ -8,10 +8,10 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK: 6 partial alias responses define void @foo(i32* noalias %p, i32* noalias %q, i32 %i, i32 %j) { - %Ipointer = getelementptr i32* %p, i32 %i - %qi = getelementptr i32* %q, i32 %i - %Jpointer = getelementptr i32* %p, i32 %j - %qj = getelementptr i32* %q, i32 %j + %Ipointer = getelementptr i32, i32* %p, i32 %i + %qi = getelementptr i32, i32* %q, i32 %i + %Jpointer = getelementptr i32, i32* %p, i32 %j + %qj = getelementptr i32, i32* %q, i32 %j store i32 0, i32* %p store i32 0, i32* %Ipointer store i32 0, i32* %Jpointer diff --git a/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll b/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll index ec0e2bd..5f0e117 100644 --- a/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll +++ b/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll @@ -5,10 +5,10 @@ declare i16 @llvm.cttz.i16(i16, i1) define i32 @test(i32* %P, i16* %Q) { ; CHECK: ret i32 0 - %A = load i16* %Q ; <i16> [#uses=1] - %x = load i32* %P ; <i32> [#uses=1] + %A = load i16, i16* %Q ; <i16> [#uses=1] + %x = load i32, i32* %P ; <i32> [#uses=1] %B = call i16 @llvm.cttz.i16( i16 %A, i1 true ) ; <i16> [#uses=1] - %y = load i32* %P ; <i32> [#uses=1] + %y = load i32, i32* %P ; <i32> [#uses=1] store i16 %B, i16* %Q %z = sub i32 %x, %y ; <i32> [#uses=1] ret i32 %z diff --git a/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll b/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll index 429160e..2d33e94 100644 --- a/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll +++ b/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll @@ -8,9 +8,9 @@ define i32 @_Z3fooP1A(%struct.A* %b) { ; CHECK: %tmp7 = load ; CHECK: ret i32 %tmp7 entry: - store i32 1, i32* getelementptr (%struct.B* @a, i32 0, i32 0, i32 0), align 8 - %tmp4 = getelementptr %struct.A* %b, i32 0, i32 0 ;<i32*> [#uses=1] + store i32 1, i32* getelementptr (%struct.B, %struct.B* @a, i32 0, i32 0, i32 0), align 8 + %tmp4 = getelementptr %struct.A, %struct.A* %b, i32 0, i32 0 ;<i32*> [#uses=1] store i32 0, i32* %tmp4, align 4 - %tmp7 = load i32* getelementptr (%struct.B* @a, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=1] + %tmp7 = load i32, i32* getelementptr (%struct.B, %struct.B* @a, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=1] ret i32 %tmp7 } diff --git a/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll b/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll index 32d9930..069bd0b 100644 --- a/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll +++ b/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll @@ -14,18 +14,18 @@ target triple = "x86_64-unknown-linux-gnu" define i32 @uhci_suspend(%struct.usb_hcd* %hcd) { entry: - %tmp17 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 2, i64 1 + %tmp17 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 2, i64 1 ; <i64*> [#uses=1] %tmp1718 = bitcast i64* %tmp17 to i32* ; <i32*> [#uses=1] - %tmp19 = load i32* %tmp1718, align 4 ; <i32> [#uses=0] + %tmp19 = load i32, i32* %tmp1718, align 4 ; <i32> [#uses=0] br i1 false, label %cond_true34, label %done_okay cond_true34: ; preds = %entry - %tmp631 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 2, i64 + %tmp631 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 2, i64 2305843009213693950 ; <i64*> [#uses=1] %tmp70 = bitcast i64* %tmp631 to %struct.device** - %tmp71 = load %struct.device** %tmp70, align 8 + %tmp71 = load %struct.device*, %struct.device** %tmp70, align 8 ret i32 undef diff --git a/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll b/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll index cd997ea..20be13d 100644 --- a/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll +++ b/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll @@ -13,17 +13,17 @@ target triple = "x86_64-unknown-linux-gnu" define i32 @ehci_pci_setup(%struct.usb_hcd* %hcd) { entry: - %tmp14 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 0, i32 0 ; <%struct.device**> [#uses=1] - %tmp15 = load %struct.device** %tmp14, align 8 ; <%struct.device*> [#uses=0] + %tmp14 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 0, i32 0 ; <%struct.device**> [#uses=1] + %tmp15 = load %struct.device*, %struct.device** %tmp14, align 8 ; <%struct.device*> [#uses=0] br i1 false, label %bb25, label %return bb25: ; preds = %entry br i1 false, label %cond_true, label %return cond_true: ; preds = %bb25 - %tmp601 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 1, i64 2305843009213693951 ; <i64*> [#uses=1] + %tmp601 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 1, i64 2305843009213693951 ; <i64*> [#uses=1] %tmp67 = bitcast i64* %tmp601 to %struct.device** ; <%struct.device**> [#uses=1] - %tmp68 = load %struct.device** %tmp67, align 8 ; <%struct.device*> [#uses=0] + %tmp68 = load %struct.device*, %struct.device** %tmp67, align 8 ; <%struct.device*> [#uses=0] ret i32 undef return: ; preds = %bb25, %entry diff --git a/test/Analysis/BasicAA/2008-04-15-Byval.ll b/test/Analysis/BasicAA/2008-04-15-Byval.ll index 2ea0314..9df12bd 100644 --- a/test/Analysis/BasicAA/2008-04-15-Byval.ll +++ b/test/Analysis/BasicAA/2008-04-15-Byval.ll @@ -7,8 +7,8 @@ target triple = "i386-apple-darwin8" define void @foo(%struct.x* byval align 4 %X) nounwind { ; CHECK: store i32 2, i32* %tmp1 entry: - %tmp = getelementptr %struct.x* %X, i32 0, i32 0 ; <[4 x i32]*> [#uses=1] - %tmp1 = getelementptr [4 x i32]* %tmp, i32 0, i32 3 ; <i32*> [#uses=1] + %tmp = getelementptr %struct.x, %struct.x* %X, i32 0, i32 0 ; <[4 x i32]*> [#uses=1] + %tmp1 = getelementptr [4 x i32], [4 x i32]* %tmp, i32 0, i32 3 ; <i32*> [#uses=1] store i32 2, i32* %tmp1, align 4 %tmp2 = call i32 (...)* @bar( %struct.x* byval align 4 %X ) nounwind ; <i32> [#uses=0] br label %return diff --git a/test/Analysis/BasicAA/2008-06-02-GEPTailCrash.ll b/test/Analysis/BasicAA/2008-06-02-GEPTailCrash.ll index 1709144..7d2cde4 100644 --- a/test/Analysis/BasicAA/2008-06-02-GEPTailCrash.ll +++ b/test/Analysis/BasicAA/2008-06-02-GEPTailCrash.ll @@ -9,7 +9,7 @@ target triple = "i686-pc-linux-gnu" define void @test291() nounwind { entry: - store i32 1138410269, i32* getelementptr ([5 x %struct.S291]* @a291, i32 0, i32 2, i32 1) - %tmp54 = load i32* bitcast (%struct.S291* getelementptr ([5 x %struct.S291]* @a291, i32 0, i32 2) to i32*), align 4 ; <i32> [#uses=0] + store i32 1138410269, i32* getelementptr ([5 x %struct.S291], [5 x %struct.S291]* @a291, i32 0, i32 2, i32 1) + %tmp54 = load i32, i32* bitcast (%struct.S291* getelementptr ([5 x %struct.S291], [5 x %struct.S291]* @a291, i32 0, i32 2) to i32*), align 4 ; <i32> [#uses=0] unreachable } diff --git a/test/Analysis/BasicAA/2008-11-23-NoaliasRet.ll b/test/Analysis/BasicAA/2008-11-23-NoaliasRet.ll index 3db9a3f..49a742c 100644 --- a/test/Analysis/BasicAA/2008-11-23-NoaliasRet.ll +++ b/test/Analysis/BasicAA/2008-11-23-NoaliasRet.ll @@ -9,6 +9,6 @@ define i32 @foo() { %B = call i32* @_Znwj(i32 4) store i32 1, i32* %A store i32 2, i32* %B - %C = load i32* %A + %C = load i32, i32* %A ret i32 %C } diff --git a/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll b/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll index add7dee..65dcf5c 100644 --- a/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll +++ b/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll @@ -3,12 +3,12 @@ declare noalias i32* @noalias() define i32 @test(i32 %x) { -; CHECK: load i32* %a +; CHECK: load i32, i32* %a %a = call i32* @noalias() store i32 1, i32* %a - %b = getelementptr i32* %a, i32 %x + %b = getelementptr i32, i32* %a, i32 %x store i32 2, i32* %b - %c = load i32* %a + %c = load i32, i32* %a ret i32 %c } diff --git a/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll b/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll index 4b6a12e..97a9251 100644 --- a/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll +++ b/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll @@ -2,12 +2,12 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128" define i8 @foo(i8* %ptr) { - %P = getelementptr i8* %ptr, i32 0 - %Q = getelementptr i8* %ptr, i32 1 + %P = getelementptr i8, i8* %ptr, i32 0 + %Q = getelementptr i8, i8* %ptr, i32 1 ; CHECK: getelementptr - %X = load i8* %P + %X = load i8, i8* %P %Y = atomicrmw add i8* %Q, i8 1 monotonic - %Z = load i8* %P + %Z = load i8, i8* %P ; CHECK-NOT: = load %A = sub i8 %X, %Z ret i8 %A diff --git a/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll b/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll index c546d68..43ee96c 100644 --- a/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll +++ b/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll @@ -15,7 +15,7 @@ entry: br i1 %tmp, label %bb, label %bb1 bb: - %b = getelementptr i32* %a, i32 0 + %b = getelementptr i32, i32* %a, i32 0 br label %bb2 bb1: @@ -23,9 +23,9 @@ bb1: bb2: %P = phi i32* [ %b, %bb ], [ @Y, %bb1 ] - %tmp1 = load i32* @Z, align 4 + %tmp1 = load i32, i32* @Z, align 4 store i32 123, i32* %P, align 4 - %tmp2 = load i32* @Z, align 4 + %tmp2 = load i32, i32* @Z, align 4 br label %return return: diff --git a/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll b/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll index 6656980..b2e7a60 100644 --- a/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll +++ b/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll @@ -8,10 +8,10 @@ target datalayout = "e-p:32:32:32" define i32 @test(i32* %tab, i32 %indvar) nounwind { %tmp31 = mul i32 %indvar, -2 %tmp32 = add i32 %tmp31, 30 - %t.5 = getelementptr i32* %tab, i32 %tmp32 - %loada = load i32* %tab + %t.5 = getelementptr i32, i32* %tab, i32 %tmp32 + %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 } diff --git a/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll b/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll index bc2512e..08db5ec 100644 --- a/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll +++ b/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll @@ -10,27 +10,27 @@ target datalayout = "e" define i32 @main() { %t = alloca %struct.foo, align 4 - %1 = getelementptr inbounds %struct.foo* %t, i32 0, i32 0 + %1 = getelementptr inbounds %struct.foo, %struct.foo* %t, i32 0, i32 0 store i32 1, i32* %1, align 4 - %2 = getelementptr inbounds %struct.foo* %t, i64 1 + %2 = getelementptr inbounds %struct.foo, %struct.foo* %t, i64 1 %3 = bitcast %struct.foo* %2 to i8* - %4 = getelementptr inbounds i8* %3, i32 -1 + %4 = getelementptr inbounds i8, i8* %3, i32 -1 store i8 0, i8* %4 - %5 = getelementptr inbounds i8* %4, i32 -1 + %5 = getelementptr inbounds i8, i8* %4, i32 -1 store i8 0, i8* %5 - %6 = getelementptr inbounds i8* %5, i32 -1 + %6 = getelementptr inbounds i8, i8* %5, i32 -1 store i8 0, i8* %6 - %7 = getelementptr inbounds i8* %6, i32 -1 + %7 = getelementptr inbounds i8, i8* %6, i32 -1 store i8 0, i8* %7 - %8 = getelementptr inbounds i8* %7, i32 -1 + %8 = getelementptr inbounds i8, i8* %7, i32 -1 store i8 0, i8* %8 - %9 = getelementptr inbounds i8* %8, i32 -1 + %9 = getelementptr inbounds i8, i8* %8, i32 -1 store i8 0, i8* %9 - %10 = getelementptr inbounds i8* %9, i32 -1 + %10 = getelementptr inbounds i8, i8* %9, i32 -1 store i8 0, i8* %10 - %11 = getelementptr inbounds i8* %10, i32 -1 + %11 = getelementptr inbounds i8, i8* %10, i32 -1 store i8 0, i8* %11 - %12 = load i32* %1, align 4 + %12 = load i32, i32* %1, align 4 ret i32 %12 ; CHECK: ret i32 %12 } diff --git a/test/Analysis/BasicAA/aligned-overread.ll b/test/Analysis/BasicAA/aligned-overread.ll index b05f8eb..aa0a83e 100644 --- a/test/Analysis/BasicAA/aligned-overread.ll +++ b/test/Analysis/BasicAA/aligned-overread.ll @@ -9,11 +9,11 @@ target triple = "x86_64-apple-macosx10.8.0" define i32 @main() nounwind uwtable ssp { entry: - %tmp = load i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 + %tmp = load i8, i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }, { i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 %tmp1 = or i8 %tmp, -128 - store i8 %tmp1, i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 - %tmp2 = load i64* bitcast ({ i8, i8, i8, i8, i8 }* @a to i64*), align 8 - store i8 11, i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 + store i8 %tmp1, i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }, { i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 + %tmp2 = load i64, i64* bitcast ({ i8, i8, i8, i8, i8 }* @a to i64*), align 8 + store i8 11, i8* getelementptr inbounds ({ i8, i8, i8, i8, i8 }, { i8, i8, i8, i8, i8 }* @a, i64 0, i32 4), align 4 %tmp3 = trunc i64 %tmp2 to i32 ret i32 %tmp3 diff --git a/test/Analysis/BasicAA/args-rets-allocas-loads.ll b/test/Analysis/BasicAA/args-rets-allocas-loads.ll index 066f46b..05b56a0 100644 --- a/test/Analysis/BasicAA/args-rets-allocas-loads.ll +++ b/test/Analysis/BasicAA/args-rets-allocas-loads.ll @@ -22,8 +22,8 @@ define void @caller_a(double* %arg_a0, %noalias_ret_a0 = call double* @noalias_returner() %noalias_ret_a1 = call double* @noalias_returner() - %loaded_a0 = load double** %indirect_a0 - %loaded_a1 = load double** %indirect_a1 + %loaded_a0 = load double*, double** %indirect_a0 + %loaded_a1 = load double*, double** %indirect_a1 call void @callee(double* %escape_alloca_a0) call void @callee(double* %escape_alloca_a1) diff --git a/test/Analysis/BasicAA/byval.ll b/test/Analysis/BasicAA/byval.ll index 673fee0..edbe7b3 100644 --- a/test/Analysis/BasicAA/byval.ll +++ b/test/Analysis/BasicAA/byval.ll @@ -7,10 +7,10 @@ target triple = "i686-apple-darwin8" define i32 @foo(%struct.x* byval %a) nounwind { ; CHECK: ret i32 1 %tmp1 = tail call i32 (...)* @bar( %struct.x* %a ) nounwind ; <i32> [#uses=0] - %tmp2 = getelementptr %struct.x* %a, i32 0, i32 0 ; <i32*> [#uses=2] + %tmp2 = getelementptr %struct.x, %struct.x* %a, i32 0, i32 0 ; <i32*> [#uses=2] store i32 1, i32* %tmp2, align 4 store i32 2, i32* @g, align 4 - %tmp4 = load i32* %tmp2, align 4 ; <i32> [#uses=1] + %tmp4 = load i32, i32* %tmp2, align 4 ; <i32> [#uses=1] ret i32 %tmp4 } diff --git a/test/Analysis/BasicAA/cas.ll b/test/Analysis/BasicAA/cas.ll index d0cd9f4..b770cb7 100644 --- a/test/Analysis/BasicAA/cas.ll +++ b/test/Analysis/BasicAA/cas.ll @@ -6,9 +6,9 @@ ; CHECK: ret i32 0 define i32 @main() { - %a = load i32* @flag0 + %a = load i32, i32* @flag0 %b = atomicrmw xchg i32* @turn, i32 1 monotonic - %c = load i32* @flag0 + %c = load i32, i32* @flag0 %d = sub i32 %a, %c ret i32 %d } diff --git a/test/Analysis/BasicAA/constant-over-index.ll b/test/Analysis/BasicAA/constant-over-index.ll index aeb068b..f5e2c7c 100644 --- a/test/Analysis/BasicAA/constant-over-index.ll +++ b/test/Analysis/BasicAA/constant-over-index.ll @@ -11,13 +11,13 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define void @foo([3 x [3 x double]]* noalias %p) { entry: - %p3 = getelementptr [3 x [3 x double]]* %p, i64 0, i64 0, i64 3 + %p3 = getelementptr [3 x [3 x double]], [3 x [3 x double]]* %p, i64 0, i64 0, i64 3 br label %loop loop: %i = phi i64 [ 0, %entry ], [ %i.next, %loop ] - %p.0.i.0 = getelementptr [3 x [3 x double]]* %p, i64 0, i64 %i, i64 0 + %p.0.i.0 = getelementptr [3 x [3 x double]], [3 x [3 x double]]* %p, i64 0, i64 %i, i64 0 store volatile double 0.0, double* %p3 store volatile double 0.1, double* %p.0.i.0 diff --git a/test/Analysis/BasicAA/cs-cs.ll b/test/Analysis/BasicAA/cs-cs.ll index 693634c..78670b6 100644 --- a/test/Analysis/BasicAA/cs-cs.ll +++ b/test/Analysis/BasicAA/cs-cs.ll @@ -12,7 +12,7 @@ declare void @a_readonly_func(i8 *) noinline nounwind readonly define <8 x i16> @test1(i8* %p, <8 x i16> %y) { entry: - %q = getelementptr i8* %p, i64 16 + %q = getelementptr i8, i8* %p, i64 16 %a = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind call void @llvm.arm.neon.vst1.v8i16(i8* %q, <8 x i16> %y, i32 16) %b = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind @@ -70,7 +70,7 @@ define void @test2a(i8* noalias %P, i8* noalias %Q) nounwind ssp { define void @test2b(i8* noalias %P, i8* noalias %Q) nounwind ssp { tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %P, i8* %Q, i64 12, i32 1, i1 false) - %R = getelementptr i8* %P, i64 12 + %R = getelementptr i8, i8* %P, i64 12 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %R, i8* %Q, i64 12, i32 1, i1 false) ret void @@ -91,7 +91,7 @@ define void @test2b(i8* noalias %P, i8* noalias %Q) nounwind ssp { define void @test2c(i8* noalias %P, i8* noalias %Q) nounwind ssp { tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %P, i8* %Q, i64 12, i32 1, i1 false) - %R = getelementptr i8* %P, i64 11 + %R = getelementptr i8, i8* %P, i64 11 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %R, i8* %Q, i64 12, i32 1, i1 false) ret void @@ -112,7 +112,7 @@ define void @test2c(i8* noalias %P, i8* noalias %Q) nounwind ssp { define void @test2d(i8* noalias %P, i8* noalias %Q) nounwind ssp { tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %P, i8* %Q, i64 12, i32 1, i1 false) - %R = getelementptr i8* %P, i64 -12 + %R = getelementptr i8, i8* %P, i64 -12 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %R, i8* %Q, i64 12, i32 1, i1 false) ret void @@ -133,7 +133,7 @@ define void @test2d(i8* noalias %P, i8* noalias %Q) nounwind ssp { define void @test2e(i8* noalias %P, i8* noalias %Q) nounwind ssp { tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %P, i8* %Q, i64 12, i32 1, i1 false) - %R = getelementptr i8* %P, i64 -11 + %R = getelementptr i8, i8* %P, i64 -11 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %R, i8* %Q, i64 12, i32 1, i1 false) ret void diff --git a/test/Analysis/BasicAA/dag.ll b/test/Analysis/BasicAA/dag.ll index 1d2f6f1..63e2c1a 100644 --- a/test/Analysis/BasicAA/dag.ll +++ b/test/Analysis/BasicAA/dag.ll @@ -36,6 +36,6 @@ xc: %bigbase = bitcast i8* %base to i16* store i16 -1, i16* %bigbase - %loaded = load i8* %phi + %loaded = load i8, i8* %phi ret i8 %loaded } diff --git a/test/Analysis/BasicAA/featuretest.ll b/test/Analysis/BasicAA/featuretest.ll index 47d278f..c621d0e 100644 --- a/test/Analysis/BasicAA/featuretest.ll +++ b/test/Analysis/BasicAA/featuretest.ll @@ -18,13 +18,13 @@ define i32 @different_array_test(i64 %A, i64 %B) { call void @external(i32* %Array1) call void @external(i32* %Array2) - %pointer = getelementptr i32* %Array1, i64 %A - %val = load i32* %pointer + %pointer = getelementptr i32, i32* %Array1, i64 %A + %val = load i32, i32* %pointer - %pointer2 = getelementptr i32* %Array2, i64 %B + %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 @@ -38,12 +38,12 @@ define i32 @constant_array_index_test() { %Array = alloca i32, i32 100 call void @external(i32* %Array) - %P1 = getelementptr i32* %Array, i64 7 - %P2 = getelementptr i32* %Array, i64 6 + %P1 = getelementptr i32, i32* %Array, i64 7 + %P2 = getelementptr i32, i32* %Array, i64 6 - %A = load i32* %P1 + %A = load i32, i32* %P1 store i32 1, i32* %P2 ; Should not invalidate load - %BREMOVE = load i32* %P1 + %BREMOVE = load i32, i32* %P1 %Val = sub i32 %A, %BREMOVE ret i32 %Val ; CHECK: @constant_array_index_test @@ -53,10 +53,10 @@ 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 - %B = getelementptr i32* %A, i64 2 ; Cannot alias 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 @@ -66,11 +66,11 @@ define i32 @gep_distance_test(i32* %A) { ; Test that if two pointers are spaced out by a constant offset, that they ; 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}* %A, i64 0, i32 0 - %REMOVEu = load i32* %A1 - %B = getelementptr {i32,i32}* %A, i64 %distance, i32 1 + %A1 = getelementptr {i32,i32}, {i32,i32}* %A, i64 0, i32 0 + %REMOVEu = load i32, i32* %A1 + %B = getelementptr {i32,i32}, {i32,i32}* %A, i64 %distance, i32 1 store i32 7, i32* %B ; B cannot alias A, it's at least 4 bytes away - %REMOVEv = load i32* %A1 + %REMOVEv = load i32, i32* %A1 %r = sub i32 %REMOVEu, %REMOVEv ret i32 %r ; CHECK: @gep_distance_test2 @@ -80,11 +80,11 @@ 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* %B, i64 4 + %C = getelementptr i8, i8* %B, i64 4 store i8 42, i8* %C - %Y = load i32* %A + %Y = load i32, i32* %A %R = sub i32 %X, %Y ret i32 %R ; CHECK: @gep_distance_test3 @@ -96,9 +96,9 @@ define i32 @constexpr_test() { %X = alloca i32 call void @external(i32* %X) - %Y = load i32* %X - store i32 5, i32* getelementptr ({ i32 }* @Global, i64 0, i32 0) - %REMOVE = load i32* %X + %Y = load i32, i32* %X + store i32 5, i32* getelementptr ({ i32 }, { i32 }* @Global, i64 0, i32 0) + %REMOVE = load i32, i32* %X %retval = sub i32 %Y, %REMOVE ret i32 %retval ; CHECK: @constexpr_test @@ -112,13 +112,13 @@ define i32 @constexpr_test() { define i16 @zext_sext_confusion(i16* %row2col, i5 %j) nounwind{ entry: %sum5.cast = zext i5 %j to i64 ; <i64> [#uses=1] - %P1 = getelementptr i16* %row2col, i64 %sum5.cast - %row2col.load.1.2 = load i16* %P1, align 1 ; <i16> [#uses=1] + %P1 = getelementptr i16, i16* %row2col, i64 %sum5.cast + %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* %row2col, i64 %sum13.cast - %row2col.load.1.6 = load i16* %P2, align 1 ; <i16> [#uses=1] + %P2 = getelementptr i16, i16* %row2col, i64 %sum13.cast + %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 diff --git a/test/Analysis/BasicAA/full-store-partial-alias.ll b/test/Analysis/BasicAA/full-store-partial-alias.ll index 9699d92..341f6ba 100644 --- a/test/Analysis/BasicAA/full-store-partial-alias.ll +++ b/test/Analysis/BasicAA/full-store-partial-alias.ll @@ -18,13 +18,13 @@ define i32 @signbit(double %x) nounwind { ; CHECK: ret i32 0 entry: %u = alloca %union.anon, align 8 - %tmp9 = getelementptr inbounds %union.anon* %u, i64 0, i32 0 + %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]* %tmp4, i64 0, i64 %idxprom - %tmp5 = load i32* %arrayidx, align 4, !tbaa !3 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %tmp4, i64 0, i64 %idxprom + %tmp5 = load i32, i32* %arrayidx, align 4, !tbaa !3 %tmp5.lobit = lshr i32 %tmp5, 31 ret i32 %tmp5.lobit } diff --git a/test/Analysis/BasicAA/gcsetest.ll b/test/Analysis/BasicAA/gcsetest.ll index 64792eb..cf6ab71 100644 --- a/test/Analysis/BasicAA/gcsetest.ll +++ b/test/Analysis/BasicAA/gcsetest.ll @@ -12,11 +12,11 @@ ; CHECK-NEXT: ret i32 0 define i32 @test() { - %A1 = load i32* @A + %A1 = load i32, i32* @A store i32 123, i32* @B ; Store cannot alias @A - %A2 = load i32* @A + %A2 = load i32, i32* @A %X = sub i32 %A1, %A2 ret i32 %X } @@ -30,13 +30,13 @@ 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 @@ -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 } diff --git a/test/Analysis/BasicAA/gep-alias.ll b/test/Analysis/BasicAA/gep-alias.ll index 2c0d467..f686010 100644 --- a/test/Analysis/BasicAA/gep-alias.ll +++ b/test/Analysis/BasicAA/gep-alias.ll @@ -6,12 +6,12 @@ target datalayout = "e-p:32:32:32-p1:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:32:32- define i32 @test1(i8 * %P) { entry: %Q = bitcast i8* %P to {i32, i32}* - %R = getelementptr {i32, i32}* %Q, i32 0, i32 1 - %S = load i32* %R + %R = getelementptr {i32, i32}, {i32, i32}* %Q, i32 0, i32 1 + %S = load i32, i32* %R %q = bitcast i8* %P to {i32, i32}* - %r = getelementptr {i32, i32}* %q, i32 0, i32 1 - %s = load i32* %r + %r = getelementptr {i32, i32}, {i32, i32}* %q, i32 0, i32 1 + %s = load i32, i32* %r %t = sub i32 %S, %s ret i32 %t @@ -22,13 +22,13 @@ entry: define i32 @test2(i8 * %P) { entry: %Q = bitcast i8* %P to {i32, i32, i32}* - %R = getelementptr {i32, i32, i32}* %Q, i32 0, i32 1 - %S = load i32* %R + %R = getelementptr {i32, i32, i32}, {i32, i32, i32}* %Q, i32 0, i32 1 + %S = load i32, i32* %R - %r = getelementptr {i32, i32, i32}* %Q, i32 0, i32 2 + %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 @@ -40,14 +40,14 @@ entry: ; This was a miscompilation. define i32 @test3({float, {i32, i32, i32}}* %P) { entry: - %P2 = getelementptr {float, {i32, i32, i32}}* %P, i32 0, i32 1 - %R = getelementptr {i32, i32, i32}* %P2, i32 0, i32 1 - %S = load i32* %R + %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, i32* %R - %r = getelementptr {i32, i32, i32}* %P2, i32 0, i32 2 + %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 @@ -62,11 +62,11 @@ entry: define i32 @test4(%SmallPtrSet64* %P) { entry: - %tmp2 = getelementptr inbounds %SmallPtrSet64* %P, i64 0, i32 0, i32 1 + %tmp2 = getelementptr inbounds %SmallPtrSet64, %SmallPtrSet64* %P, i64 0, i32 0, i32 1 store i32 64, i32* %tmp2, align 8 - %tmp3 = getelementptr inbounds %SmallPtrSet64* %P, i64 0, i32 0, i32 4, i64 64 + %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 @@ -74,12 +74,12 @@ entry: ; P[i] != p[i+1] define i32 @test5(i32* %p, i64 %i) { - %pi = getelementptr i32* %p, i64 %i + %pi = getelementptr i32, i32* %p, i64 %i %i.next = add i64 %i, 1 - %pi.next = getelementptr i32* %p, i64 %i.next - %x = load i32* %pi + %pi.next = getelementptr i32, i32* %p, i64 %i.next + %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( @@ -87,12 +87,12 @@ define i32 @test5(i32* %p, i64 %i) { } define i32 @test5_as1_smaller_size(i32 addrspace(1)* %p, i8 %i) { - %pi = getelementptr 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 addrspace(1)* %p, i8 %i.next - %x = load i32 addrspace(1)* %pi + %pi.next = getelementptr i32, i32 addrspace(1)* %p, i8 %i.next + %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( @@ -101,12 +101,12 @@ define i32 @test5_as1_smaller_size(i32 addrspace(1)* %p, i8 %i) { } define i32 @test5_as1_same_size(i32 addrspace(1)* %p, i16 %i) { - %pi = getelementptr 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 addrspace(1)* %p, i16 %i.next - %x = load i32 addrspace(1)* %pi + %pi.next = getelementptr i32, i32 addrspace(1)* %p, i16 %i.next + %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( @@ -116,12 +116,12 @@ define i32 @test5_as1_same_size(i32 addrspace(1)* %p, i16 %i) { ; P[i] != p[(i*4)|1] define i32 @test6(i32* %p, i64 %i1) { %i = shl i64 %i1, 2 - %pi = getelementptr i32* %p, i64 %i + %pi = getelementptr i32, i32* %p, i64 %i %i.next = or i64 %i, 1 - %pi.next = getelementptr i32* %p, i64 %i.next - %x = load i32* %pi + %pi.next = getelementptr i32, i32* %p, i64 %i.next + %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( @@ -130,12 +130,12 @@ define i32 @test6(i32* %p, i64 %i1) { ; P[1] != P[i*4] define i32 @test7(i32* %p, i64 %i) { - %pi = getelementptr i32* %p, i64 1 + %pi = getelementptr i32, i32* %p, i64 1 %i.next = shl i64 %i, 2 - %pi.next = getelementptr i32* %p, i64 %i.next - %x = load i32* %pi + %pi.next = getelementptr i32, i32* %p, i64 %i.next + %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( @@ -146,13 +146,13 @@ define i32 @test7(i32* %p, i64 %i) { ; PR1143 define i32 @test8(i32* %p, i16 %i) { %i1 = zext i16 %i to i32 - %pi = getelementptr i32* %p, i32 %i1 + %pi = getelementptr i32, i32* %p, i32 %i1 %i.next = add i16 %i, 1 %i.next2 = zext i16 %i.next to i32 - %pi.next = getelementptr i32* %p, i32 %i.next2 - %x = load i32* %pi + %pi.next = getelementptr i32, i32* %p, i32 %i.next2 + %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( @@ -163,16 +163,16 @@ define i8 @test9([4 x i8] *%P, i32 %i, i32 %j) { %i2 = shl i32 %i, 2 %i3 = add i32 %i2, 1 ; P2 = P + 1 + 4*i - %P2 = getelementptr [4 x i8] *%P, i32 0, i32 %i3 + %P2 = getelementptr [4 x i8], [4 x i8] *%P, i32 0, i32 %i3 %j2 = shl i32 %j, 2 ; P4 = P + 4*j - %P4 = getelementptr [4 x i8]* %P, i32 0, i32 %j2 + %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( @@ -183,14 +183,14 @@ define i8 @test10([4 x i8] *%P, i32 %i) { %i2 = shl i32 %i, 2 %i3 = add i32 %i2, 4 ; P2 = P + 4 + 4*i - %P2 = getelementptr [4 x i8] *%P, i32 0, i32 %i3 + %P2 = getelementptr [4 x i8], [4 x i8] *%P, i32 0, i32 %i3 ; P4 = P + 4*i - %P4 = getelementptr [4 x i8]* %P, i32 0, i32 %i2 + %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( @@ -201,13 +201,13 @@ define i8 @test10([4 x i8] *%P, i32 %i) { define float @test11(i32 %indvar, [4 x [2 x float]]* %q) nounwind ssp { %tmp = mul i32 %indvar, -1 %dec = add i32 %tmp, 3 - %scevgep = getelementptr [4 x [2 x float]]* %q, i32 0, i32 %dec + %scevgep = getelementptr [4 x [2 x float]], [4 x [2 x float]]* %q, i32 0, i32 %dec %scevgep35 = bitcast [2 x float]* %scevgep to i64* - %arrayidx28 = getelementptr inbounds [4 x [2 x float]]* %q, i32 0, i32 0 - %y29 = getelementptr inbounds [2 x float]* %arrayidx28, i32 0, i32 1 + %arrayidx28 = getelementptr inbounds [4 x [2 x float]], [4 x [2 x float]]* %q, i32 0, i32 0 + %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 @@ -216,14 +216,14 @@ define float @test11(i32 %indvar, [4 x [2 x float]]* %q) nounwind ssp { ; (This was a miscompilation.) define i32 @test12(i32 %x, i32 %y, i8* %p) nounwind { %a = bitcast i8* %p to [13 x i8]* - %b = getelementptr [13 x i8]* %a, i32 %x + %b = getelementptr [13 x i8], [13 x i8]* %a, i32 %x %c = bitcast [13 x i8]* %b to [15 x i8]* - %d = getelementptr [15 x i8]* %c, i32 %y, i32 8 + %d = getelementptr [15 x i8], [15 x i8]* %c, i32 %y, i32 8 %castd = bitcast i8* %d to i32* %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 diff --git a/test/Analysis/BasicAA/global-size.ll b/test/Analysis/BasicAA/global-size.ll index f081cb1..bacf3bc 100644 --- a/test/Analysis/BasicAA/global-size.ll +++ b/test/Analysis/BasicAA/global-size.ll @@ -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 @@ -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 } @@ -35,14 +35,14 @@ define i16 @test1_as1(i32 addrspace(1)* %P) { ; CHECK-LABEL: @test2( define i8 @test2(i32 %tmp79, i32 %w.2, i32 %indvar89) nounwind { %tmp92 = add i32 %tmp79, %indvar89 - %arrayidx412 = getelementptr [0 x i8]* @window, i32 0, i32 %tmp92 + %arrayidx412 = getelementptr [0 x i8], [0 x i8]* @window, i32 0, i32 %tmp92 %tmp93 = add i32 %w.2, %indvar89 - %arrayidx416 = getelementptr [0 x i8]* @window, i32 0, i32 %tmp93 + %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 diff --git a/test/Analysis/BasicAA/intrinsics.ll b/test/Analysis/BasicAA/intrinsics.ll index c1cf587..8c05587 100644 --- a/test/Analysis/BasicAA/intrinsics.ll +++ b/test/Analysis/BasicAA/intrinsics.ll @@ -21,13 +21,13 @@ entry: ; CHECK: define <8 x i16> @test1(i8* %p, <8 x i16> %y) { ; CHECK-NEXT: entry: -; CHECK-NEXT: %q = getelementptr i8* %p, i64 16 +; CHECK-NEXT: %q = getelementptr i8, i8* %p, i64 16 ; CHECK-NEXT: %a = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) [[ATTR]] ; CHECK-NEXT: call void @llvm.arm.neon.vst1.v8i16(i8* %q, <8 x i16> %y, i32 16) ; CHECK-NEXT: %c = add <8 x i16> %a, %a define <8 x i16> @test1(i8* %p, <8 x i16> %y) { entry: - %q = getelementptr i8* %p, i64 16 + %q = getelementptr i8, i8* %p, i64 16 %a = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind call void @llvm.arm.neon.vst1.v8i16(i8* %q, <8 x i16> %y, i32 16) %b = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind diff --git a/test/Analysis/BasicAA/invariant_load.ll b/test/Analysis/BasicAA/invariant_load.ll index bc629cd..722fb5b 100644 --- a/test/Analysis/BasicAA/invariant_load.ll +++ b/test/Analysis/BasicAA/invariant_load.ll @@ -10,15 +10,15 @@ define i32 @foo(i32* nocapture %p, i8* nocapture %q) { entry: - %0 = load i32* %p, align 4, !invariant.load !3 + %0 = load i32, i32* %p, align 4, !invariant.load !3 %conv = trunc i32 %0 to i8 store i8 %conv, i8* %q, align 1 - %1 = load i32* %p, align 4, !invariant.load !3 + %1 = load i32, i32* %p, align 4, !invariant.load !3 %add = add nsw i32 %1, 1 ret i32 %add ; CHECK: foo -; CHECK: %0 = load i32* %p +; CHECK: %0 = load i32, i32* %p ; CHECK: store i8 %conv, i8* %q, ; CHECK: %add = add nsw i32 %0, 1 } diff --git a/test/Analysis/BasicAA/memset_pattern.ll b/test/Analysis/BasicAA/memset_pattern.ll index 590664c..25bdb2e 100644 --- a/test/Analysis/BasicAA/memset_pattern.ll +++ b/test/Analysis/BasicAA/memset_pattern.ll @@ -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 } diff --git a/test/Analysis/BasicAA/modref.ll b/test/Analysis/BasicAA/modref.ll index 0d8bf71..e124d6c 100644 --- a/test/Analysis/BasicAA/modref.ll +++ b/test/Analysis/BasicAA/modref.ll @@ -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 @@ -29,30 +29,30 @@ 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 } define i8 @test2(i8* %P) { ; CHECK-LABEL: @test2 - %P2 = getelementptr i8* %P, i32 127 + %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 } define i8 @test2a(i8* %P) { ; CHECK-LABEL: @test2 - %P2 = getelementptr i8* %P, i32 126 + %P2 = getelementptr i8, i8* %P, i32 126 ;; FIXME: DSE isn't zapping this dead store. 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 @@ -64,7 +64,7 @@ define void @test3(i8* %P, i8 %X) { ; CHECK-NOT: %Y %Y = add i8 %X, 1 ;; Dead, because the only use (the store) is dead. - %P2 = getelementptr i8* %P, i32 2 + %P2 = getelementptr i8, i8* %P, i32 2 store i8 %Y, i8* %P2 ;; Not read by lifetime.end, should be removed. ; CHECK: store i8 2, i8* %P2 call void @llvm.lifetime.end(i64 1, i8* %P) @@ -78,7 +78,7 @@ define void @test3a(i8* %P, i8 %X) { ; CHECK-LABEL: @test3a %Y = add i8 %X, 1 ;; Dead, because the only use (the store) is dead. - %P2 = getelementptr i8* %P, i32 2 + %P2 = getelementptr i8, i8* %P, i32 2 store i8 %Y, i8* %P2 ; CHECK-NEXT: call void @llvm.lifetime.end call void @llvm.lifetime.end(i64 10, i8* %P) @@ -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 @@ -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 @@ -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 } @@ -135,14 +135,14 @@ define i32 @test7() nounwind uwtable ssp { entry: %x = alloca i32, align 4 store i32 0, i32* %x, align 4 - %add.ptr = getelementptr inbounds i32* %x, i64 1 + %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 diff --git a/test/Analysis/BasicAA/must-and-partial.ll b/test/Analysis/BasicAA/must-and-partial.ll index 58139ff..3b4c84a 100644 --- a/test/Analysis/BasicAA/must-and-partial.ll +++ b/test/Analysis/BasicAA/must-and-partial.ll @@ -9,7 +9,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 ; CHECK: PartialAlias: i16* %bigbase0, i8* %phi define i8 @test0(i8* %base, i1 %x) { entry: - %baseplusone = getelementptr i8* %base, i64 1 + %baseplusone = getelementptr i8, i8* %base, i64 1 br i1 %x, label %red, label %green red: br label %green @@ -20,20 +20,20 @@ green: %bigbase0 = bitcast i8* %base to i16* store i16 -1, i16* %bigbase0 - %loaded = load i8* %phi + %loaded = load i8, i8* %phi ret i8 %loaded } ; CHECK: PartialAlias: i16* %bigbase1, i8* %sel define i8 @test1(i8* %base, i1 %x) { entry: - %baseplusone = getelementptr i8* %base, i64 1 + %baseplusone = getelementptr i8, i8* %base, i64 1 %sel = select i1 %x, i8* %baseplusone, i8* %base store i8 0, i8* %sel %bigbase1 = bitcast i8* %base to i16* store i16 -1, i16* %bigbase1 - %loaded = load i8* %sel + %loaded = load i8, i8* %sel ret i8 %loaded } diff --git a/test/Analysis/BasicAA/no-escape-call.ll b/test/Analysis/BasicAA/no-escape-call.ll index b93db6e..ea33532 100644 --- a/test/Analysis/BasicAA/no-escape-call.ll +++ b/test/Analysis/BasicAA/no-escape-call.ll @@ -8,13 +8,13 @@ define i1 @foo(i32 %i) nounwind { entry: %arr = alloca [10 x i8*] ; <[10 x i8*]*> [#uses=1] %tmp2 = call i8* @getPtr( ) nounwind ; <i8*> [#uses=2] - %tmp4 = getelementptr [10 x i8*]* %arr, i32 0, i32 %i ; <i8**> [#uses=2] + %tmp4 = getelementptr [10 x i8*], [10 x i8*]* %arr, i32 0, i32 %i ; <i8**> [#uses=2] store i8* %tmp2, i8** %tmp4, align 4 - %tmp10 = getelementptr i8* %tmp2, i32 10 ; <i8*> [#uses=1] + %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] - %tmp16 = getelementptr i8* %tmp14, i32 10 ; <i8*> [#uses=1] - %tmp17 = load i8* %tmp16, align 1 ; <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, i8* %tmp16, align 1 ; <i8> [#uses=1] %tmp19 = icmp eq i8 %tmp17, 42 ; <i1> [#uses=1] ret i1 %tmp19 } diff --git a/test/Analysis/BasicAA/noalias-bugs.ll b/test/Analysis/BasicAA/noalias-bugs.ll index 2bcc14f..acb230c 100644 --- a/test/Analysis/BasicAA/noalias-bugs.ll +++ b/test/Analysis/BasicAA/noalias-bugs.ll @@ -12,12 +12,12 @@ target triple = "x86_64-unknown-linux-gnu" define i64 @testcase(%nested * noalias %p1, %nested * noalias %p2, i32 %a, i32 %b) { - %ptr = getelementptr inbounds %nested* %p1, i64 -1, i32 0 - %ptr.64 = getelementptr inbounds %nested.i64* %ptr, i64 0, i32 0 - %ptr2= getelementptr inbounds %nested* %p2, i64 0, i32 0 + %ptr = getelementptr inbounds %nested, %nested* %p1, i64 -1, i32 0 + %ptr.64 = getelementptr inbounds %nested.i64, %nested.i64* %ptr, i64 0, i32 0 + %ptr2= getelementptr inbounds %nested, %nested* %p2, i64 0, i32 0 %cmp = icmp ult i32 %a, %b %either_ptr = select i1 %cmp, %nested.i64* %ptr2, %nested.i64* %ptr - %either_ptr.64 = getelementptr inbounds %nested.i64* %either_ptr, i64 0, i32 0 + %either_ptr.64 = getelementptr inbounds %nested.i64, %nested.i64* %either_ptr, i64 0, i32 0 ; Because either_ptr.64 and ptr.64 can alias (we used to return noalias) ; elimination of the first store is not valid. @@ -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 } diff --git a/test/Analysis/BasicAA/noalias-geps.ll b/test/Analysis/BasicAA/noalias-geps.ll index f9ec713..cdec988 100644 --- a/test/Analysis/BasicAA/noalias-geps.ll +++ b/test/Analysis/BasicAA/noalias-geps.ll @@ -5,26 +5,26 @@ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f3 ; Check that geps with equal base offsets of noalias base pointers stay noalias. define i32 @test(i32* %p, i16 %i) { ; CHECK-LABEL: Function: test: - %pi = getelementptr i32* %p, i32 0 - %pi.next = getelementptr i32* %p, i32 1 + %pi = getelementptr i32, i32* %p, i32 0 + %pi.next = getelementptr i32, i32* %p, i32 1 %b = icmp eq i16 %i, 0 br i1 %b, label %bb1, label %bb2 bb1: - %f = getelementptr i32* %pi, i32 1 - %g = getelementptr i32* %pi.next, i32 1 + %f = getelementptr i32, i32* %pi, i32 1 + %g = getelementptr i32, i32* %pi.next, i32 1 br label %bb3 bb2: - %f2 = getelementptr i32* %pi, i32 1 - %g2 = getelementptr i32* %pi.next, i32 1 + %f2 = getelementptr i32, i32* %pi, i32 1 + %g2 = getelementptr i32, i32* %pi.next, i32 1 br label %bb3 bb3: %ptr_phi = phi i32* [ %f, %bb1 ], [ %f2, %bb2 ] %ptr_phi2 = phi i32* [ %g, %bb1 ], [ %g2, %bb2 ] ; CHECK: NoAlias: i32* %f1, i32* %g1 - %f1 = getelementptr i32* %ptr_phi , i32 1 - %g1 = getelementptr i32* %ptr_phi2 , i32 1 + %f1 = getelementptr i32, i32* %ptr_phi , i32 1 + %g1 = getelementptr i32, i32* %ptr_phi2 , i32 1 ret i32 0 } @@ -32,25 +32,25 @@ ret i32 0 ; Check that geps with equal indices of noalias base pointers stay noalias. define i32 @test2([2 x i32]* %p, i32 %i) { ; CHECK-LABEL: Function: test2: - %pi = getelementptr [2 x i32]* %p, i32 0 - %pi.next = getelementptr [2 x i32]* %p, i32 1 + %pi = getelementptr [2 x i32], [2 x i32]* %p, i32 0 + %pi.next = getelementptr [2 x i32], [2 x i32]* %p, i32 1 %b = icmp eq i32 %i, 0 br i1 %b, label %bb1, label %bb2 bb1: - %f = getelementptr [2 x i32]* %pi, i32 1 - %g = getelementptr [2 x i32]* %pi.next, i32 1 + %f = getelementptr [2 x i32], [2 x i32]* %pi, i32 1 + %g = getelementptr [2 x i32], [2 x i32]* %pi.next, i32 1 br label %bb3 bb2: - %f2 = getelementptr [2 x i32]* %pi, i32 1 - %g2 = getelementptr [2 x i32]* %pi.next, i32 1 + %f2 = getelementptr [2 x i32], [2 x i32]* %pi, i32 1 + %g2 = getelementptr [2 x i32], [2 x i32]* %pi.next, i32 1 br label %bb3 bb3: %ptr_phi = phi [2 x i32]* [ %f, %bb1 ], [ %f2, %bb2 ] %ptr_phi2 = phi [2 x i32]* [ %g, %bb1 ], [ %g2, %bb2 ] ; CHECK: NoAlias: i32* %f1, i32* %g1 - %f1 = getelementptr [2 x i32]* %ptr_phi , i32 1, i32 %i - %g1 = getelementptr [2 x i32]* %ptr_phi2 , i32 1, i32 %i + %f1 = getelementptr [2 x i32], [2 x i32]* %ptr_phi , i32 1, i32 %i + %g1 = getelementptr [2 x i32], [2 x i32]* %ptr_phi2 , i32 1, i32 %i ret i32 0 } diff --git a/test/Analysis/BasicAA/noalias-param.ll b/test/Analysis/BasicAA/noalias-param.ll index 6494771..c5b1ebf 100644 --- a/test/Analysis/BasicAA/noalias-param.ll +++ b/test/Analysis/BasicAA/noalias-param.ll @@ -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 } @@ -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 } diff --git a/test/Analysis/BasicAA/nocapture.ll b/test/Analysis/BasicAA/nocapture.ll index ffc0a09..26cb69b 100644 --- a/test/Analysis/BasicAA/nocapture.ll +++ b/test/Analysis/BasicAA/nocapture.ll @@ -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 } @@ -19,7 +19,7 @@ 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* @@ -27,10 +27,10 @@ entry: ; 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 } diff --git a/test/Analysis/BasicAA/phi-aa.ll b/test/Analysis/BasicAA/phi-aa.ll index c1100f1..3944e9e 100644 --- a/test/Analysis/BasicAA/phi-aa.ll +++ b/test/Analysis/BasicAA/phi-aa.ll @@ -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: @@ -52,23 +52,23 @@ 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]* %oa5, i64 0, i64 %idxprom4 - %2 = load i32* %arrayidx5, align 4 + %arrayidx5 = getelementptr inbounds [100 x i32], [100 x i32]* %oa5, i64 0, i64 %idxprom4 + %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 - %arrayidx13 = getelementptr inbounds [100 x i32]* %oa5, i64 0, i64 %idxprom12 + %arrayidx13 = getelementptr inbounds [100 x i32], [100 x i32]* %oa5, i64 0, i64 %idxprom12 call void @inc(i32* %jj7) br label %codeRepl bye: - %.reload = load i32* %jj7, align 4 + %.reload = load i32, i32* %jj7, align 4 ret i32 %.reload } diff --git a/test/Analysis/BasicAA/phi-spec-order.ll b/test/Analysis/BasicAA/phi-spec-order.ll index 4172d09..b326dc3 100644 --- a/test/Analysis/BasicAA/phi-spec-order.ll +++ b/test/Analysis/BasicAA/phi-spec-order.ll @@ -14,7 +14,7 @@ for.cond2.preheader: ; preds = %for.end, %entry br label %for.body4 for.body4: ; preds = %for.body4, %for.cond2.preheader - %lsr.iv4 = phi [16000 x double]* [ %i11, %for.body4 ], [ bitcast (double* getelementptr inbounds ([16000 x double]* @Y, i64 0, i64 8) + %lsr.iv4 = phi [16000 x double]* [ %i11, %for.body4 ], [ bitcast (double* getelementptr inbounds ([16000 x double], [16000 x double]* @Y, i64 0, i64 8) to [16000 x double]*), %for.cond2.preheader ] %lsr.iv1 = phi [16000 x double]* [ %i10, %for.body4 ], [ @X, %for.cond2.preheader ] @@ -23,23 +23,23 @@ for.body4: ; preds = %for.body4, %for.con %lsr.iv = phi i32 [ %lsr.iv.next, %for.body4 ], [ 16000, %for.cond2.preheader ] %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>* %lsr.iv46, i64 -2 - %i6 = load <4 x double>* %scevgep11, align 32 + %scevgep11 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 -2 + %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>* %lsr.iv46, i64 -1 - %i7 = load <4 x double>* %scevgep10, align 32 + %scevgep10 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 -1 + %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>* %lsr.iv12, i64 1 + %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>* %lsr.iv12, i64 2 + %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>* %lsr.iv46, i64 1 - %i9 = load <4 x double>* %scevgep7, align 32 + %scevgep7 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 1 + %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>* %lsr.iv12, i64 3 + %scevgep3 = getelementptr <4 x double>, <4 x double>* %lsr.iv12, i64 3 store <4 x double> %add.12, <4 x double>* %scevgep3, align 32 ; CHECK: NoAlias:{{[ \t]+}}<4 x double>* %scevgep11, <4 x double>* %scevgep7 @@ -50,9 +50,9 @@ for.body4: ; preds = %for.body4, %for.con ; CHECK: NoAlias:{{[ \t]+}}<4 x double>* %scevgep3, <4 x double>* %scevgep9 %lsr.iv.next = add i32 %lsr.iv, -16 - %scevgep = getelementptr [16000 x double]* %lsr.iv1, i64 0, i64 16 + %scevgep = getelementptr [16000 x double], [16000 x double]* %lsr.iv1, i64 0, i64 16 %i10 = bitcast double* %scevgep to [16000 x double]* - %scevgep5 = getelementptr [16000 x double]* %lsr.iv4, i64 0, i64 16 + %scevgep5 = getelementptr [16000 x double], [16000 x double]* %lsr.iv4, i64 0, i64 16 %i11 = bitcast double* %scevgep5 to [16000 x double]* %exitcond.15 = icmp eq i32 %lsr.iv.next, 0 br i1 %exitcond.15, label %for.end, label %for.body4 diff --git a/test/Analysis/BasicAA/phi-speculation.ll b/test/Analysis/BasicAA/phi-speculation.ll index 5e1e118..ed0d49b 100644 --- a/test/Analysis/BasicAA/phi-speculation.ll +++ b/test/Analysis/BasicAA/phi-speculation.ll @@ -8,7 +8,7 @@ target datalayout = ; CHECK: NoAlias: i32* %ptr2_phi, i32* %ptr_phi define i32 @test_noalias_1(i32* %ptr2, i32 %count, i32* %coeff) { entry: - %ptr = getelementptr inbounds i32* %ptr2, i64 1 + %ptr = getelementptr inbounds i32, i32* %ptr2, i64 1 br label %while.body while.body: @@ -17,15 +17,15 @@ 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 - %ptr_inc = getelementptr inbounds i32* %ptr_phi, i64 1 - %ptr2_inc = getelementptr inbounds i32* %ptr2_phi, i64 1 + %ptr_inc = getelementptr inbounds i32, i32* %ptr_phi, i64 1 + %ptr2_inc = getelementptr inbounds i32, i32* %ptr2_phi, i64 1 br i1 %tobool, label %the_exit, label %while.body the_exit: @@ -37,7 +37,7 @@ the_exit: ; CHECK: NoAlias: i32* %ptr2_phi, i32* %ptr_phi define i32 @test_noalias_2(i32* %ptr2, i32 %count, i32* %coeff) { entry: - %ptr = getelementptr inbounds i32* %ptr2, i64 1 + %ptr = getelementptr inbounds i32, i32* %ptr2, i64 1 br label %outer.while.header outer.while.header: @@ -52,20 +52,20 @@ 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 - %ptr_inc = getelementptr inbounds i32* %ptr_phi, i64 1 - %ptr2_inc = getelementptr inbounds i32* %ptr2_phi, i64 1 + %ptr_inc = getelementptr inbounds i32, i32* %ptr_phi, i64 1 + %ptr2_inc = getelementptr inbounds i32, i32* %ptr2_phi, i64 1 br i1 %tobool, label %outer.while.backedge, label %while.body outer.while.backedge: - %ptr_inc_outer = getelementptr inbounds i32* %ptr_phi, i64 1 - %ptr2_inc_outer = getelementptr inbounds i32* %ptr2_phi, i64 1 + %ptr_inc_outer = getelementptr inbounds i32, i32* %ptr_phi, i64 1 + %ptr2_inc_outer = getelementptr inbounds i32, i32* %ptr2_phi, i64 1 %dec.outer = add nsw i32 %num.outer, -1 %br.cond = icmp eq i32 %dec.outer, 0 br i1 %br.cond, label %the_exit, label %outer.while.header diff --git a/test/Analysis/BasicAA/pr18573.ll b/test/Analysis/BasicAA/pr18573.ll index 1d2a316..ea5e4a2 100644 --- a/test/Analysis/BasicAA/pr18573.ll +++ b/test/Analysis/BasicAA/pr18573.ll @@ -10,8 +10,8 @@ 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 - %t1.ptr = getelementptr i8* %arr.ptr, i8 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 store i8 1, i8* %t1.ptr, align 4 @@ -31,8 +31,8 @@ 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 - %t1.ptr = getelementptr i8* %arr.ptr, i8 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 store i8 1, i8* %t2.ptr, align 4 diff --git a/test/Analysis/BasicAA/store-promote.ll b/test/Analysis/BasicAA/store-promote.ll index 0db805c..afe11c2 100644 --- a/test/Analysis/BasicAA/store-promote.ll +++ b/test/Analysis/BasicAA/store-promote.ll @@ -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 @@ -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: @@ -35,11 +35,11 @@ define i32 @test2(i1 %c) { br label %Loop Loop: ; preds = %Loop, %0 - %AVal = load i32* @A ; <i32> [#uses=2] - %C0 = getelementptr [2 x i32]* @C, i64 0, i64 0 ; <i32*> [#uses=1] + %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] - %C1 = getelementptr [2 x i32]* @C, i64 0, i64 1 ; <i32*> [#uses=1] + %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 diff --git a/test/Analysis/BasicAA/struct-geps.ll b/test/Analysis/BasicAA/struct-geps.ll index 3764d48..d63c71a 100644 --- a/test/Analysis/BasicAA/struct-geps.ll +++ b/test/Analysis/BasicAA/struct-geps.ll @@ -27,9 +27,9 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-DAG: MustAlias: i32* %y, i80* %y_10 define void @test_simple(%struct* %st, i64 %i, i64 %j, i64 %k) { - %x = getelementptr %struct* %st, i64 %i, i32 0 - %y = getelementptr %struct* %st, i64 %j, i32 1 - %z = getelementptr %struct* %st, i64 %k, i32 2 + %x = getelementptr %struct, %struct* %st, i64 %i, i32 0 + %y = getelementptr %struct, %struct* %st, i64 %j, i32 1 + %z = getelementptr %struct, %struct* %st, i64 %k, i32 2 %y_12 = bitcast i32* %y to %struct* %y_10 = bitcast i32* %y to i80* %y_8 = bitcast i32* %y to i64* @@ -59,9 +59,9 @@ define void @test_simple(%struct* %st, i64 %i, i64 %j, i64 %k) { ; CHECK-DAG: MustAlias: i32* %y, i80* %y_10 define void @test_in_array([1 x %struct]* %st, i64 %i, i64 %j, i64 %k, i64 %i1, i64 %j1, i64 %k1) { - %x = getelementptr [1 x %struct]* %st, i64 %i, i64 %i1, i32 0 - %y = getelementptr [1 x %struct]* %st, i64 %j, i64 %j1, i32 1 - %z = getelementptr [1 x %struct]* %st, i64 %k, i64 %k1, i32 2 + %x = getelementptr [1 x %struct], [1 x %struct]* %st, i64 %i, i64 %i1, i32 0 + %y = getelementptr [1 x %struct], [1 x %struct]* %st, i64 %j, i64 %j1, i32 1 + %z = getelementptr [1 x %struct], [1 x %struct]* %st, i64 %k, i64 %k1, i32 2 %y_12 = bitcast i32* %y to %struct* %y_10 = bitcast i32* %y to i80* %y_8 = bitcast i32* %y to i64* @@ -91,9 +91,9 @@ define void @test_in_array([1 x %struct]* %st, i64 %i, i64 %j, i64 %k, i64 %i1, ; CHECK-DAG: MustAlias: i32* %y, i80* %y_10 define void @test_in_3d_array([1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %j, i64 %k, i64 %i1, i64 %j1, i64 %k1, i64 %i2, i64 %j2, i64 %k2, i64 %i3, i64 %j3, i64 %k3) { - %x = getelementptr [1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %i1, i64 %i2, i64 %i3, i32 0 - %y = getelementptr [1 x [1 x [1 x %struct]]]* %st, i64 %j, i64 %j1, i64 %j2, i64 %j3, i32 1 - %z = getelementptr [1 x [1 x [1 x %struct]]]* %st, i64 %k, i64 %k1, i64 %k2, i64 %k3, i32 2 + %x = getelementptr [1 x [1 x [1 x %struct]]], [1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %i1, i64 %i2, i64 %i3, i32 0 + %y = getelementptr [1 x [1 x [1 x %struct]]], [1 x [1 x [1 x %struct]]]* %st, i64 %j, i64 %j1, i64 %j2, i64 %j3, i32 1 + %z = getelementptr [1 x [1 x [1 x %struct]]], [1 x [1 x [1 x %struct]]]* %st, i64 %k, i64 %k1, i64 %k2, i64 %k3, i32 2 %y_12 = bitcast i32* %y to %struct* %y_10 = bitcast i32* %y to i80* %y_8 = bitcast i32* %y to i64* @@ -116,13 +116,13 @@ define void @test_in_3d_array([1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %j, i6 ; CHECK-DAG: PartialAlias: i32* %y2, i32* %z define void @test_same_underlying_object_same_indices(%struct* %st, i64 %i, i64 %j, i64 %k) { - %st2 = getelementptr %struct* %st, i32 10 - %x2 = getelementptr %struct* %st2, i64 %i, i32 0 - %y2 = getelementptr %struct* %st2, i64 %j, i32 1 - %z2 = getelementptr %struct* %st2, i64 %k, i32 2 - %x = getelementptr %struct* %st, i64 %i, i32 0 - %y = getelementptr %struct* %st, i64 %j, i32 1 - %z = getelementptr %struct* %st, i64 %k, i32 2 + %st2 = getelementptr %struct, %struct* %st, i32 10 + %x2 = getelementptr %struct, %struct* %st2, i64 %i, i32 0 + %y2 = getelementptr %struct, %struct* %st2, i64 %j, i32 1 + %z2 = getelementptr %struct, %struct* %st2, i64 %k, i32 2 + %x = getelementptr %struct, %struct* %st, i64 %i, i32 0 + %y = getelementptr %struct, %struct* %st, i64 %j, i32 1 + %z = getelementptr %struct, %struct* %st, i64 %k, i32 2 ret void } @@ -142,13 +142,13 @@ define void @test_same_underlying_object_same_indices(%struct* %st, i64 %i, i64 ; CHECK-DAG: PartialAlias: i32* %y2, i32* %z define void @test_same_underlying_object_different_indices(%struct* %st, i64 %i1, i64 %j1, i64 %k1, i64 %i2, i64 %k2, i64 %j2) { - %st2 = getelementptr %struct* %st, i32 10 - %x2 = getelementptr %struct* %st2, i64 %i2, i32 0 - %y2 = getelementptr %struct* %st2, i64 %j2, i32 1 - %z2 = getelementptr %struct* %st2, i64 %k2, i32 2 - %x = getelementptr %struct* %st, i64 %i1, i32 0 - %y = getelementptr %struct* %st, i64 %j1, i32 1 - %z = getelementptr %struct* %st, i64 %k1, i32 2 + %st2 = getelementptr %struct, %struct* %st, i32 10 + %x2 = getelementptr %struct, %struct* %st2, i64 %i2, i32 0 + %y2 = getelementptr %struct, %struct* %st2, i64 %j2, i32 1 + %z2 = getelementptr %struct, %struct* %st2, i64 %k2, i32 2 + %x = getelementptr %struct, %struct* %st, i64 %i1, i32 0 + %y = getelementptr %struct, %struct* %st, i64 %j1, i32 1 + %z = getelementptr %struct, %struct* %st, i64 %k1, i32 2 ret void } @@ -158,7 +158,7 @@ define void @test_same_underlying_object_different_indices(%struct* %st, i64 %i1 ; CHECK-LABEL: test_struct_in_array ; CHECK-DAG: MustAlias: i32* %x, i32* %y define void @test_struct_in_array(%struct2* %st, i64 %i, i64 %j, i64 %k) { - %x = getelementptr %struct2* %st, i32 0, i32 1, i32 1, i32 0 - %y = getelementptr %struct2* %st, i32 0, i32 0, i32 1, i32 1 + %x = getelementptr %struct2, %struct2* %st, i32 0, i32 1, i32 1, i32 0 + %y = getelementptr %struct2, %struct2* %st, i32 0, i32 0, i32 1, i32 1 ret void } diff --git a/test/Analysis/BasicAA/tailcall-modref.ll b/test/Analysis/BasicAA/tailcall-modref.ll index ebeb28c..5857e68 100644 --- a/test/Analysis/BasicAA/tailcall-modref.ll +++ b/test/Analysis/BasicAA/tailcall-modref.ll @@ -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 } diff --git a/test/Analysis/BasicAA/underlying-value.ll b/test/Analysis/BasicAA/underlying-value.ll index 0671c82..0cfbdb8 100644 --- a/test/Analysis/BasicAA/underlying-value.ll +++ b/test/Analysis/BasicAA/underlying-value.ll @@ -14,10 +14,10 @@ for.cond2: ; preds = %for.body5, %for.con br i1 false, label %for.body5, label %for.cond for.body5: ; preds = %for.cond2 - %arrayidx = getelementptr inbounds [2 x i64]* undef, i32 0, i64 0 - %tmp7 = load i64* %arrayidx, align 8 - %arrayidx9 = getelementptr inbounds [2 x i64]* undef, i32 0, i64 undef - %tmp10 = load i64* %arrayidx9, align 8 + %arrayidx = getelementptr inbounds [2 x i64], [2 x i64]* undef, i32 0, i64 0 + %tmp7 = load i64, i64* %arrayidx, align 8 + %arrayidx9 = getelementptr inbounds [2 x i64], [2 x i64]* undef, i32 0, i64 undef + %tmp10 = load i64, i64* %arrayidx9, align 8 br label %for.cond2 for.end22: ; preds = %for.cond diff --git a/test/Analysis/BasicAA/unreachable-block.ll b/test/Analysis/BasicAA/unreachable-block.ll index 1ca1e66..551d18e 100644 --- a/test/Analysis/BasicAA/unreachable-block.ll +++ b/test/Analysis/BasicAA/unreachable-block.ll @@ -11,6 +11,6 @@ bb: %t = select i1 undef, i32* %t, i32* undef %p = select i1 undef, i32* %p, i32* %p %q = select i1 undef, i32* undef, i32* %p - %a = getelementptr i8* %a, i32 0 + %a = getelementptr i8, i8* %a, i32 0 unreachable } diff --git a/test/Analysis/BasicAA/zext.ll b/test/Analysis/BasicAA/zext.ll index b59d16c..ed35656 100644 --- a/test/Analysis/BasicAA/zext.ll +++ b/test/Analysis/BasicAA/zext.ll @@ -7,10 +7,10 @@ target triple = "x86_64-unknown-linux-gnu" define void @test_with_zext() { %1 = tail call i8* @malloc(i64 120) - %a = getelementptr inbounds i8* %1, i64 8 - %2 = getelementptr inbounds i8* %1, i64 16 + %a = getelementptr inbounds i8, i8* %1, i64 8 + %2 = getelementptr inbounds i8, i8* %1, i64 16 %3 = zext i32 3 to i64 - %b = getelementptr inbounds i8* %2, i64 %3 + %b = getelementptr inbounds i8, i8* %2, i64 %3 ret void } @@ -19,10 +19,10 @@ define void @test_with_zext() { define void @test_with_lshr(i64 %i) { %1 = tail call i8* @malloc(i64 120) - %a = getelementptr inbounds i8* %1, i64 8 - %2 = getelementptr inbounds i8* %1, i64 16 + %a = getelementptr inbounds i8, i8* %1, i64 8 + %2 = getelementptr inbounds i8, i8* %1, i64 16 %3 = lshr i64 %i, 2 - %b = getelementptr inbounds i8* %2, i64 %3 + %b = getelementptr inbounds i8, i8* %2, i64 %3 ret void } @@ -34,10 +34,10 @@ define void @test_with_a_loop(i8* %mem) { for.loop: %i = phi i32 [ 0, %0 ], [ %i.plus1, %for.loop ] - %a = getelementptr inbounds i8* %mem, i64 8 - %a.plus1 = getelementptr inbounds i8* %mem, i64 16 + %a = getelementptr inbounds i8, i8* %mem, i64 8 + %a.plus1 = getelementptr inbounds i8, i8* %mem, i64 16 %i.64 = zext i32 %i to i64 - %b = getelementptr inbounds i8* %a.plus1, i64 %i.64 + %b = getelementptr inbounds i8, i8* %a.plus1, i64 %i.64 %i.plus1 = add nuw nsw i32 %i, 1 %cmp = icmp eq i32 %i.plus1, 10 br i1 %cmp, label %for.loop.exit, label %for.loop @@ -55,12 +55,12 @@ define void @test_with_varying_base_pointer_in_loop(i8* %mem.orig) { for.loop: %mem = phi i8* [ %mem.orig, %0 ], [ %mem.plus1, %for.loop ] %i = phi i32 [ 0, %0 ], [ %i.plus1, %for.loop ] - %a = getelementptr inbounds i8* %mem, i64 8 - %a.plus1 = getelementptr inbounds i8* %mem, i64 16 + %a = getelementptr inbounds i8, i8* %mem, i64 8 + %a.plus1 = getelementptr inbounds i8, i8* %mem, i64 16 %i.64 = zext i32 %i to i64 - %b = getelementptr inbounds i8* %a.plus1, i64 %i.64 + %b = getelementptr inbounds i8, i8* %a.plus1, i64 %i.64 %i.plus1 = add nuw nsw i32 %i, 1 - %mem.plus1 = getelementptr inbounds i8* %mem, i64 8 + %mem.plus1 = getelementptr inbounds i8, i8* %mem, i64 8 %cmp = icmp eq i32 %i.plus1, 10 br i1 %cmp, label %for.loop.exit, label %for.loop @@ -74,10 +74,10 @@ for.loop.exit: define void @test_sign_extension(i32 %p) { %1 = tail call i8* @malloc(i64 120) %p.64 = zext i32 %p to i64 - %a = getelementptr inbounds i8* %1, i64 %p.64 + %a = getelementptr inbounds i8, i8* %1, i64 %p.64 %p.minus1 = add i32 %p, -1 %p.minus1.64 = zext i32 %p.minus1 to i64 - %b.i8 = getelementptr inbounds i8* %1, i64 %p.minus1.64 + %b.i8 = getelementptr inbounds i8, i8* %1, i64 %p.minus1.64 %b.i64 = bitcast i8* %b.i8 to i64* ret void } @@ -91,13 +91,13 @@ define void @test_fe_tools([8 x i32]* %values) { for.loop: %i = phi i32 [ 0, %reorder ], [ %i.next, %for.loop ] %idxprom = zext i32 %i to i64 - %b = getelementptr inbounds [8 x i32]* %values, i64 0, i64 %idxprom + %b = getelementptr inbounds [8 x i32], [8 x i32]* %values, i64 0, i64 %idxprom %i.next = add nuw nsw i32 %i, 1 %1 = icmp eq i32 %i.next, 10 br i1 %1, label %for.loop.exit, label %for.loop reorder: - %a = getelementptr inbounds [8 x i32]* %values, i64 0, i64 1 + %a = getelementptr inbounds [8 x i32], [8 x i32]* %values, i64 0, i64 1 br label %for.loop for.loop.exit: @@ -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 @@ -123,13 +123,13 @@ define void @test_spec2006() { ; <label>:2 ; preds = %.lr.ph, %2 %i = phi i32 [ %d.val, %.lr.ph ], [ %i.plus1, %2 ] %i.promoted = sext i32 %i to i64 - %x = getelementptr inbounds [1 x [2 x i32*]]* %h, i64 0, i64 %d.promoted, i64 %i.promoted + %x = getelementptr inbounds [1 x [2 x i32*]], [1 x [2 x i32*]]* %h, i64 0, i64 %d.promoted, i64 %i.promoted %i.plus1 = add nsw i32 %i, 1 %cmp = icmp slt i32 %i.plus1, 2 br i1 %cmp, label %2, label %3 ; <label>:3 ; preds = %._crit_edge, %0 - %y = getelementptr inbounds [1 x [2 x i32*]]* %h, i64 0, i64 0, i64 1 + %y = getelementptr inbounds [1 x [2 x i32*]], [1 x [2 x i32*]]* %h, i64 0, i64 0, i64 1 ret void } @@ -138,8 +138,8 @@ define void @test_spec2006() { define void @test_modulo_analysis_easy_case(i64 %i) { %h = alloca [1 x [2 x i32*]], align 16 - %x = getelementptr inbounds [1 x [2 x i32*]]* %h, i64 0, i64 %i, i64 0 - %y = getelementptr inbounds [1 x [2 x i32*]]* %h, i64 0, i64 0, i64 1 + %x = getelementptr inbounds [1 x [2 x i32*]], [1 x [2 x i32*]]* %h, i64 0, i64 %i, i64 0 + %y = getelementptr inbounds [1 x [2 x i32*]], [1 x [2 x i32*]]* %h, i64 0, i64 0, i64 1 ret void } @@ -153,8 +153,8 @@ define void @test_modulo_analysis_in_loop() { for.loop: %i = phi i32 [ 0, %0 ], [ %i.plus1, %for.loop ] %i.promoted = sext i32 %i to i64 - %x = getelementptr inbounds [1 x [2 x i32*]]* %h, i64 0, i64 %i.promoted, i64 0 - %y = getelementptr inbounds [1 x [2 x i32*]]* %h, i64 0, i64 0, i64 1 + %x = getelementptr inbounds [1 x [2 x i32*]], [1 x [2 x i32*]]* %h, i64 0, i64 %i.promoted, i64 0 + %y = getelementptr inbounds [1 x [2 x i32*]], [1 x [2 x i32*]]* %h, i64 0, i64 0, i64 1 %i.plus1 = add nsw i32 %i, 1 %cmp = icmp slt i32 %i.plus1, 2 br i1 %cmp, label %for.loop, label %for.loop.exit @@ -168,15 +168,15 @@ 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 for.loop: %i = phi i32 [ 0, %0 ], [ %i.plus1, %for.loop ] %i.promoted = sext i32 %i to i64 - %x = getelementptr inbounds [1 x [2 x i32*]]* %h, i64 0, i64 %i.promoted, i64 %b.promoted - %y = getelementptr inbounds [1 x [2 x i32*]]* %h, i64 0, i64 0, i64 1 + %x = getelementptr inbounds [1 x [2 x i32*]], [1 x [2 x i32*]]* %h, i64 0, i64 %i.promoted, i64 %b.promoted + %y = getelementptr inbounds [1 x [2 x i32*]], [1 x [2 x i32*]]* %h, i64 0, i64 0, i64 1 %i.plus1 = add nsw i32 %i, 1 %cmp = icmp slt i32 %i.plus1, 2 br i1 %cmp, label %for.loop, label %for.loop.exit @@ -188,10 +188,10 @@ for.loop.exit: ; CHECK-LABEL: test_const_eval ; CHECK: NoAlias: i8* %a, i8* %b define void @test_const_eval(i8* %ptr, i64 %offset) { - %a = getelementptr inbounds i8* %ptr, i64 %offset - %a.dup = getelementptr inbounds i8* %ptr, i64 %offset + %a = getelementptr inbounds i8, i8* %ptr, i64 %offset + %a.dup = getelementptr inbounds i8, i8* %ptr, i64 %offset %three = zext i32 3 to i64 - %b = getelementptr inbounds i8* %a.dup, i64 %three + %b = getelementptr inbounds i8, i8* %a.dup, i64 %three ret void } @@ -200,8 +200,8 @@ define void @test_const_eval(i8* %ptr, i64 %offset) { define void @test_const_eval_scaled(i8* %ptr) { %three = zext i32 3 to i64 %six = mul i64 %three, 2 - %a = getelementptr inbounds i8* %ptr, i64 %six - %b = getelementptr inbounds i8* %ptr, i64 6 + %a = getelementptr inbounds i8, i8* %ptr, i64 %six + %b = getelementptr inbounds i8, i8* %ptr, i64 6 ret void } |