diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2015-05-27 18:44:32 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2015-05-27 18:44:32 +0000 |
| commit | 5a5ac124e1efaf208671f01c46edb15f29ed2a0b (patch) | |
| tree | a6140557876943cdd800ee997c9317283394b22c /test/Transforms/PhaseOrdering | |
| parent | f03b5bed27d0d2eafd68562ce14f8b5e3f1f0801 (diff) | |
Notes
Diffstat (limited to 'test/Transforms/PhaseOrdering')
| -rw-r--r-- | test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll | 42 | ||||
| -rw-r--r-- | test/Transforms/PhaseOrdering/PR6627.ll | 36 | ||||
| -rw-r--r-- | test/Transforms/PhaseOrdering/basic.ll | 16 | ||||
| -rw-r--r-- | test/Transforms/PhaseOrdering/gdce.ll | 20 | ||||
| -rw-r--r-- | test/Transforms/PhaseOrdering/scev.ll | 12 |
5 files changed, 63 insertions, 63 deletions
diff --git a/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll b/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll index 53d98e02ec88..13404a8b6a71 100644 --- a/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll +++ b/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll @@ -29,29 +29,29 @@ entry: store %struct.empty_base_t* %4, %struct.empty_base_t** %2, align 8 call void @_ZN7empty_tC1Ev(%struct.empty_base_t* %1) nounwind %5 = call i32* @_ZN5boost15compressed_pairI7empty_tiE6secondEv(%"struct.boost::compressed_pair<empty_t,int>"* %x) ssp ; <i32*> [#uses=1] - %6 = load i32* %5, align 4 ; <i32> [#uses=1] + %6 = load i32, i32* %5, align 4 ; <i32> [#uses=1] %7 = icmp ne i32 %6, -3 ; <i1> [#uses=1] %8 = zext i1 %7 to i8 ; <i8> [#uses=1] store i8 %8, i8* %retval.1, align 1 - %9 = load i8* %retval.1, align 1 ; <i8> [#uses=1] + %9 = load i8, i8* %retval.1, align 1 ; <i8> [#uses=1] %toBool = icmp ne i8 %9, 0 ; <i1> [#uses=1] br i1 %toBool, label %bb, label %bb1 bb: ; preds = %entry - %10 = call i32 @puts(i8* getelementptr inbounds ([25 x i8]* @.str, i64 0, i64 0)) ; <i32> [#uses=0] + %10 = call i32 @puts(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str, i64 0, i64 0)) ; <i32> [#uses=0] call void @abort() noreturn unreachable bb1: ; preds = %entry store i32 0, i32* %0, align 4 - %11 = load i32* %0, align 4 ; <i32> [#uses=1] + %11 = load i32, i32* %0, align 4 ; <i32> [#uses=1] store i32 %11, i32* %retval, align 4 br label %return ; CHECK-NOT: x.second() was clobbered ; CHECK: ret i32 return: ; preds = %bb1 - %retval2 = load i32* %retval ; <i32> [#uses=1] + %retval2 = load i32, i32* %retval ; <i32> [#uses=1] ret i32 %retval2 } @@ -71,7 +71,7 @@ entry: %this_addr = alloca %struct.empty_base_t*, align 8 ; <%struct.empty_base_t**> [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0] store %struct.empty_base_t* %this, %struct.empty_base_t** %this_addr - %0 = load %struct.empty_base_t** %this_addr, align 8 ; <%struct.empty_base_t*> [#uses=1] + %0 = load %struct.empty_base_t*, %struct.empty_base_t** %this_addr, align 8 ; <%struct.empty_base_t*> [#uses=1] call void @_ZN12empty_base_tC2Ev(%struct.empty_base_t* %0) nounwind br label %return @@ -86,15 +86,15 @@ entry: %0 = alloca i32* ; <i32**> [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0] store %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"* %this, %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"** %this_addr - %1 = load %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"** %this_addr, align 8 ; <%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*> [#uses=1] - %2 = getelementptr inbounds %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"* %1, i32 0, i32 0 ; <i32*> [#uses=1] + %1 = load %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*, %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"** %this_addr, align 8 ; <%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*> [#uses=1] + %2 = getelementptr inbounds %"struct.boost::details::compressed_pair_imp<empty_t,int,1>", %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"* %1, i32 0, i32 0 ; <i32*> [#uses=1] store i32* %2, i32** %0, align 8 - %3 = load i32** %0, align 8 ; <i32*> [#uses=1] + %3 = load i32*, i32** %0, align 8 ; <i32*> [#uses=1] store i32* %3, i32** %retval, align 8 br label %return return: ; preds = %entry - %retval1 = load i32** %retval ; <i32*> [#uses=1] + %retval1 = load i32*, i32** %retval ; <i32*> [#uses=1] ret i32* %retval1 } @@ -105,16 +105,16 @@ entry: %0 = alloca i32* ; <i32**> [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0] store %"struct.boost::compressed_pair<empty_t,int>"* %this, %"struct.boost::compressed_pair<empty_t,int>"** %this_addr - %1 = load %"struct.boost::compressed_pair<empty_t,int>"** %this_addr, align 8 ; <%"struct.boost::compressed_pair<empty_t,int>"*> [#uses=1] - %2 = getelementptr inbounds %"struct.boost::compressed_pair<empty_t,int>"* %1, i32 0, i32 0 ; <%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*> [#uses=1] + %1 = load %"struct.boost::compressed_pair<empty_t,int>"*, %"struct.boost::compressed_pair<empty_t,int>"** %this_addr, align 8 ; <%"struct.boost::compressed_pair<empty_t,int>"*> [#uses=1] + %2 = getelementptr inbounds %"struct.boost::compressed_pair<empty_t,int>", %"struct.boost::compressed_pair<empty_t,int>"* %1, i32 0, i32 0 ; <%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*> [#uses=1] %3 = call i32* @_ZN5boost7details19compressed_pair_impI7empty_tiLi1EE6secondEv(%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"* %2) nounwind ; <i32*> [#uses=1] store i32* %3, i32** %0, align 8 - %4 = load i32** %0, align 8 ; <i32*> [#uses=1] + %4 = load i32*, i32** %0, align 8 ; <i32*> [#uses=1] store i32* %4, i32** %retval, align 8 br label %return return: ; preds = %entry - %retval1 = load i32** %retval ; <i32*> [#uses=1] + %retval1 = load i32*, i32** %retval ; <i32*> [#uses=1] ret i32* %retval1 } @@ -125,15 +125,15 @@ entry: %0 = alloca %struct.empty_base_t* ; <%struct.empty_base_t**> [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0] store %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"* %this, %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"** %this_addr - %1 = load %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"** %this_addr, align 8 ; <%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*> [#uses=1] + %1 = load %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*, %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"** %this_addr, align 8 ; <%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*> [#uses=1] %2 = bitcast %"struct.boost::details::compressed_pair_imp<empty_t,int,1>"* %1 to %struct.empty_base_t* ; <%struct.empty_base_t*> [#uses=1] store %struct.empty_base_t* %2, %struct.empty_base_t** %0, align 8 - %3 = load %struct.empty_base_t** %0, align 8 ; <%struct.empty_base_t*> [#uses=1] + %3 = load %struct.empty_base_t*, %struct.empty_base_t** %0, align 8 ; <%struct.empty_base_t*> [#uses=1] store %struct.empty_base_t* %3, %struct.empty_base_t** %retval, align 8 br label %return return: ; preds = %entry - %retval1 = load %struct.empty_base_t** %retval ; <%struct.empty_base_t*> [#uses=1] + %retval1 = load %struct.empty_base_t*, %struct.empty_base_t** %retval ; <%struct.empty_base_t*> [#uses=1] ret %struct.empty_base_t* %retval1 } @@ -144,16 +144,16 @@ entry: %0 = alloca %struct.empty_base_t* ; <%struct.empty_base_t**> [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0] store %"struct.boost::compressed_pair<empty_t,int>"* %this, %"struct.boost::compressed_pair<empty_t,int>"** %this_addr - %1 = load %"struct.boost::compressed_pair<empty_t,int>"** %this_addr, align 8 ; <%"struct.boost::compressed_pair<empty_t,int>"*> [#uses=1] - %2 = getelementptr inbounds %"struct.boost::compressed_pair<empty_t,int>"* %1, i32 0, i32 0 ; <%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*> [#uses=1] + %1 = load %"struct.boost::compressed_pair<empty_t,int>"*, %"struct.boost::compressed_pair<empty_t,int>"** %this_addr, align 8 ; <%"struct.boost::compressed_pair<empty_t,int>"*> [#uses=1] + %2 = getelementptr inbounds %"struct.boost::compressed_pair<empty_t,int>", %"struct.boost::compressed_pair<empty_t,int>"* %1, i32 0, i32 0 ; <%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"*> [#uses=1] %3 = call %struct.empty_base_t* @_ZN5boost7details19compressed_pair_impI7empty_tiLi1EE5firstEv(%"struct.boost::details::compressed_pair_imp<empty_t,int,1>"* %2) nounwind ; <%struct.empty_base_t*> [#uses=1] store %struct.empty_base_t* %3, %struct.empty_base_t** %0, align 8 - %4 = load %struct.empty_base_t** %0, align 8 ; <%struct.empty_base_t*> [#uses=1] + %4 = load %struct.empty_base_t*, %struct.empty_base_t** %0, align 8 ; <%struct.empty_base_t*> [#uses=1] store %struct.empty_base_t* %4, %struct.empty_base_t** %retval, align 8 br label %return return: ; preds = %entry - %retval1 = load %struct.empty_base_t** %retval ; <%struct.empty_base_t*> [#uses=1] + %retval1 = load %struct.empty_base_t*, %struct.empty_base_t** %retval ; <%struct.empty_base_t*> [#uses=1] ret %struct.empty_base_t* %retval1 } diff --git a/test/Transforms/PhaseOrdering/PR6627.ll b/test/Transforms/PhaseOrdering/PR6627.ll index cf95363e655a..2774d208352c 100644 --- a/test/Transforms/PhaseOrdering/PR6627.ll +++ b/test/Transforms/PhaseOrdering/PR6627.ll @@ -8,42 +8,42 @@ declare i32 @doo(...) define void @test2(i8* %arrayidx) nounwind ssp { entry: %xx = bitcast i8* %arrayidx to i32* - %x1 = load i32* %xx, align 4 + %x1 = load i32, i32* %xx, align 4 %tmp = trunc i32 %x1 to i8 %conv = zext i8 %tmp to i32 %cmp = icmp eq i32 %conv, 127 br i1 %cmp, label %land.lhs.true, label %if.end land.lhs.true: ; preds = %entry - %arrayidx4 = getelementptr inbounds i8* %arrayidx, i64 1 - %tmp5 = load i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, i8* %arrayidx, i64 1 + %tmp5 = load i8, i8* %arrayidx4, align 1 %conv6 = zext i8 %tmp5 to i32 %cmp7 = icmp eq i32 %conv6, 69 br i1 %cmp7, label %land.lhs.true9, label %if.end land.lhs.true9: ; preds = %land.lhs.true - %arrayidx12 = getelementptr inbounds i8* %arrayidx, i64 2 - %tmp13 = load i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, i8* %arrayidx, i64 2 + %tmp13 = load i8, i8* %arrayidx12, align 1 %conv14 = zext i8 %tmp13 to i32 %cmp15 = icmp eq i32 %conv14, 76 br i1 %cmp15, label %land.lhs.true17, label %if.end land.lhs.true17: ; preds = %land.lhs.true9 - %arrayidx20 = getelementptr inbounds i8* %arrayidx, i64 3 - %tmp21 = load i8* %arrayidx20, align 1 + %arrayidx20 = getelementptr inbounds i8, i8* %arrayidx, i64 3 + %tmp21 = load i8, i8* %arrayidx20, align 1 %conv22 = zext i8 %tmp21 to i32 %cmp23 = icmp eq i32 %conv22, 70 br i1 %cmp23, label %if.then, label %if.end if.then: ; preds = %land.lhs.true17 - %call25 = call i32 (...)* @doo() + %call25 = call i32 (...) @doo() br label %if.end if.end: ret void ; CHECK-LABEL: @test2( -; CHECK: %x1 = load i32* %xx, align 4 +; CHECK: %x1 = load i32, i32* %xx, align 4 ; CHECK-NEXT: icmp eq i32 %x1, 1179403647 ; CHECK-NEXT: br i1 {{.*}}, label %if.then, label %if.end } @@ -53,41 +53,41 @@ if.end: ; requiring widening. define void @test2a(i8* %arrayidx) nounwind ssp { entry: - %x1 = load i8* %arrayidx, align 4 + %x1 = load i8, i8* %arrayidx, align 4 %conv = zext i8 %x1 to i32 %cmp = icmp eq i32 %conv, 127 br i1 %cmp, label %land.lhs.true, label %if.end land.lhs.true: ; preds = %entry - %arrayidx4 = getelementptr inbounds i8* %arrayidx, i64 1 - %tmp5 = load i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, i8* %arrayidx, i64 1 + %tmp5 = load i8, i8* %arrayidx4, align 1 %conv6 = zext i8 %tmp5 to i32 %cmp7 = icmp eq i32 %conv6, 69 br i1 %cmp7, label %land.lhs.true9, label %if.end land.lhs.true9: ; preds = %land.lhs.true - %arrayidx12 = getelementptr inbounds i8* %arrayidx, i64 2 - %tmp13 = load i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, i8* %arrayidx, i64 2 + %tmp13 = load i8, i8* %arrayidx12, align 1 %conv14 = zext i8 %tmp13 to i32 %cmp15 = icmp eq i32 %conv14, 76 br i1 %cmp15, label %land.lhs.true17, label %if.end land.lhs.true17: ; preds = %land.lhs.true9 - %arrayidx20 = getelementptr inbounds i8* %arrayidx, i64 3 - %tmp21 = load i8* %arrayidx20, align 1 + %arrayidx20 = getelementptr inbounds i8, i8* %arrayidx, i64 3 + %tmp21 = load i8, i8* %arrayidx20, align 1 %conv22 = zext i8 %tmp21 to i32 %cmp23 = icmp eq i32 %conv22, 70 br i1 %cmp23, label %if.then, label %if.end if.then: ; preds = %land.lhs.true17 - %call25 = call i32 (...)* @doo() + %call25 = call i32 (...) @doo() br label %if.end if.end: ret void ; CHECK-LABEL: @test2a( -; CHECK: %x1 = load i32* {{.*}}, align 4 +; CHECK: %x1 = load i32, i32* {{.*}}, align 4 ; CHECK-NEXT: icmp eq i32 %x1, 1179403647 ; CHECK-NEXT: br i1 {{.*}}, label %if.then, label %if.end } diff --git a/test/Transforms/PhaseOrdering/basic.ll b/test/Transforms/PhaseOrdering/basic.ll index 2deefa618109..ef57e55e15e3 100644 --- a/test/Transforms/PhaseOrdering/basic.ll +++ b/test/Transforms/PhaseOrdering/basic.ll @@ -13,9 +13,9 @@ define void @test1() nounwind ssp { %i = alloca i8*, align 8 %call = call i8* @malloc(i64 1) store i8* %call, i8** %i, align 8 - %tmp = load i8** %i, align 8 + %tmp = load i8*, i8** %i, align 8 store i8 1, i8* %tmp - %tmp1 = load i8** %i, align 8 + %tmp1 = load i8*, i8** %i, align 8 call void @free(i8* %tmp1) ret void @@ -31,15 +31,15 @@ define void @test1() nounwind ssp { define i32 @test2(i32 %a, i32* %p) nounwind uwtable ssp { entry: %div = udiv i32 %a, 4 - %arrayidx = getelementptr inbounds i32* %p, i64 0 + %arrayidx = getelementptr inbounds i32, i32* %p, i64 0 store i32 %div, i32* %arrayidx, align 4 %add = add i32 %div, %div - %arrayidx1 = getelementptr inbounds i32* %p, i64 1 + %arrayidx1 = getelementptr inbounds i32, i32* %p, i64 1 store i32 %add, i32* %arrayidx1, align 4 - %arrayidx2 = getelementptr inbounds i32* %p, i64 1 - %0 = load i32* %arrayidx2, align 4 - %arrayidx3 = getelementptr inbounds i32* %p, i64 0 - %1 = load i32* %arrayidx3, align 4 + %arrayidx2 = getelementptr inbounds i32, i32* %p, i64 1 + %0 = load i32, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds i32, i32* %p, i64 0 + %1 = load i32, i32* %arrayidx3, align 4 %mul = mul i32 2, %1 %sub = sub i32 %0, %mul ret i32 %sub diff --git a/test/Transforms/PhaseOrdering/gdce.ll b/test/Transforms/PhaseOrdering/gdce.ll index 95f06757a788..6f79eb815832 100644 --- a/test/Transforms/PhaseOrdering/gdce.ll +++ b/test/Transforms/PhaseOrdering/gdce.ll @@ -15,7 +15,7 @@ @_ZTV4Base = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTI4Base to i8*), i8* bitcast (void (%class.Base*)* @_ZN4BaseD1Ev to i8*), i8* bitcast (void (%class.Base*)* @_ZN4BaseD0Ev to i8*)] @_ZTVN10__cxxabiv117__class_type_infoE = external global i8* @_ZTS4Base = linkonce_odr constant [6 x i8] c"4Base\00" -@_ZTI4Base = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([6 x i8]* @_ZTS4Base, i32 0, i32 0) } +@_ZTI4Base = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @_ZTS4Base, i32 0, i32 0) } define i32 @main() uwtable ssp { entry: @@ -27,7 +27,7 @@ entry: store i32 0, i32* %retval store i32 1, i32* %cleanup.dest.slot call void @_ZN4BaseD1Ev(%class.Base* %b) - %0 = load i32* %retval + %0 = load i32, i32* %retval ret i32 %0 } @@ -35,7 +35,7 @@ define linkonce_odr void @_ZN4BaseC1Ev(%class.Base* %this) unnamed_addr uwtable entry: %this.addr = alloca %class.Base*, align 8 store %class.Base* %this, %class.Base** %this.addr, align 8 - %this1 = load %class.Base** %this.addr + %this1 = load %class.Base*, %class.Base** %this.addr call void @_ZN4BaseC2Ev(%class.Base* %this1) ret void } @@ -44,7 +44,7 @@ define linkonce_odr void @_ZN4BaseD1Ev(%class.Base* %this) unnamed_addr uwtable entry: %this.addr = alloca %class.Base*, align 8 store %class.Base* %this, %class.Base** %this.addr, align 8 - %this1 = load %class.Base** %this.addr + %this1 = load %class.Base*, %class.Base** %this.addr call void @_ZN4BaseD2Ev(%class.Base* %this1) ret void } @@ -53,7 +53,7 @@ define linkonce_odr void @_ZN4BaseD2Ev(%class.Base* %this) unnamed_addr nounwind entry: %this.addr = alloca %class.Base*, align 8 store %class.Base* %this, %class.Base** %this.addr, align 8 - %this1 = load %class.Base** %this.addr + %this1 = load %class.Base*, %class.Base** %this.addr ret void } @@ -61,9 +61,9 @@ define linkonce_odr void @_ZN4BaseC2Ev(%class.Base* %this) unnamed_addr nounwind entry: %this.addr = alloca %class.Base*, align 8 store %class.Base* %this, %class.Base** %this.addr, align 8 - %this1 = load %class.Base** %this.addr + %this1 = load %class.Base*, %class.Base** %this.addr %0 = bitcast %class.Base* %this1 to i8*** - store i8** getelementptr inbounds ([4 x i8*]* @_ZTV4Base, i64 0, i64 2), i8*** %0 + store i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTV4Base, i64 0, i64 2), i8*** %0 ret void } @@ -73,7 +73,7 @@ entry: %exn.slot = alloca i8* %ehselector.slot = alloca i32 store %class.Base* %this, %class.Base** %this.addr, align 8 - %this1 = load %class.Base** %this.addr + %this1 = load %class.Base*, %class.Base** %this.addr invoke void @_ZN4BaseD1Ev(%class.Base* %this1) to label %invoke.cont unwind label %lpad @@ -94,8 +94,8 @@ lpad: ; preds = %entry br label %eh.resume eh.resume: ; preds = %lpad - %exn = load i8** %exn.slot - %sel = load i32* %ehselector.slot + %exn = load i8*, i8** %exn.slot + %sel = load i32, i32* %ehselector.slot %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 resume { i8*, i32 } %lpad.val2 diff --git a/test/Transforms/PhaseOrdering/scev.ll b/test/Transforms/PhaseOrdering/scev.ll index 39adb6b73d3a..c616ca2d7684 100644 --- a/test/Transforms/PhaseOrdering/scev.ll +++ b/test/Transforms/PhaseOrdering/scev.ll @@ -7,7 +7,7 @@ ; CHECK: test1 ; The loop body contains two increments by %div. ; Make sure that 2*%div is recognizable, and not expressed as a bit mask of %d. -; CHECK: --> {%p,+,(2 * (%d /u 4) * sizeof(i32))} +; CHECK: --> {%p,+,(8 * (%d /u 4))} define void @test1(i64 %d, i32* %p) nounwind uwtable ssp { entry: %div = udiv i64 %d, 4 @@ -21,9 +21,9 @@ for.cond: ; preds = %for.inc, %entry for.body: ; preds = %for.cond store i32 0, i32* %p.addr.0, align 4 - %add.ptr = getelementptr inbounds i32* %p.addr.0, i64 %div + %add.ptr = getelementptr inbounds i32, i32* %p.addr.0, i64 %div store i32 1, i32* %add.ptr, align 4 - %add.ptr1 = getelementptr inbounds i32* %add.ptr, i64 %div + %add.ptr1 = getelementptr inbounds i32, i32* %add.ptr, i64 %div br label %for.inc for.inc: ; preds = %for.body @@ -36,7 +36,7 @@ for.end: ; preds = %for.cond ; CHECK: test1a ; Same thing as test1, but it is even more tempting to fold 2 * (%d /u 2) -; CHECK: --> {%p,+,(2 * (%d /u 2) * sizeof(i32))} +; CHECK: --> {%p,+,(8 * (%d /u 2))} define void @test1a(i64 %d, i32* %p) nounwind uwtable ssp { entry: %div = udiv i64 %d, 2 @@ -50,9 +50,9 @@ for.cond: ; preds = %for.inc, %entry for.body: ; preds = %for.cond store i32 0, i32* %p.addr.0, align 4 - %add.ptr = getelementptr inbounds i32* %p.addr.0, i64 %div + %add.ptr = getelementptr inbounds i32, i32* %p.addr.0, i64 %div store i32 1, i32* %add.ptr, align 4 - %add.ptr1 = getelementptr inbounds i32* %add.ptr, i64 %div + %add.ptr1 = getelementptr inbounds i32, i32* %add.ptr, i64 %div br label %for.inc for.inc: ; preds = %for.body |
