diff options
| author | David Blaikie <dblaikie@gmail.com> | 2015-02-27 21:17:42 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2015-02-27 21:17:42 +0000 |
| commit | a79ac14fa68297f9888bc70a10df5ed9b8864e38 (patch) | |
| tree | 8d8217a8928e3ee599bdde405e2e178b3a55b645 /llvm/test/Transforms/PhaseOrdering | |
| parent | 83687fb9e654c9d0086e7f6b728c26fa0b729e71 (diff) | |
| download | bcm5719-llvm-a79ac14fa68297f9888bc70a10df5ed9b8864e38.tar.gz bcm5719-llvm-a79ac14fa68297f9888bc70a10df5ed9b8864e38.zip | |
[opaque pointer type] Add textual IR support for explicit type parameter to load instruction
Essentially the same as the GEP change in r230786.
A similar migration script can be used to update test cases, though a few more
test case improvements/changes were required this time around: (r229269-r229278)
import fileinput
import sys
import re
pat = re.compile(r"((?:=|:|^)\s*load (?:atomic )?(?:volatile )?(.*?))(| addrspace\(\d+\) *)\*($| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$)")
for line in sys.stdin:
sys.stdout.write(re.sub(pat, r"\1, \2\3*\4", line))
Reviewers: rafael, dexonsmith, grosser
Differential Revision: http://reviews.llvm.org/D7649
llvm-svn: 230794
Diffstat (limited to 'llvm/test/Transforms/PhaseOrdering')
| -rw-r--r-- | llvm/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll | 34 | ||||
| -rw-r--r-- | llvm/test/Transforms/PhaseOrdering/PR6627.ll | 20 | ||||
| -rw-r--r-- | llvm/test/Transforms/PhaseOrdering/basic.ll | 8 | ||||
| -rw-r--r-- | llvm/test/Transforms/PhaseOrdering/gdce.ll | 16 |
4 files changed, 39 insertions, 39 deletions
diff --git a/llvm/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll b/llvm/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll index 888895f0235..14a22f52dfa 100644 --- a/llvm/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll +++ b/llvm/test/Transforms/PhaseOrdering/2010-03-22-empty-baseclass.ll @@ -29,11 +29,11 @@ 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 @@ -44,14 +44,14 @@ bb: ; preds = %entry 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] + %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] + %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] + %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/llvm/test/Transforms/PhaseOrdering/PR6627.ll b/llvm/test/Transforms/PhaseOrdering/PR6627.ll index 0f8107971ac..f21495543b9 100644 --- a/llvm/test/Transforms/PhaseOrdering/PR6627.ll +++ b/llvm/test/Transforms/PhaseOrdering/PR6627.ll @@ -8,7 +8,7 @@ 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 @@ -16,21 +16,21 @@ entry: land.lhs.true: ; preds = %entry %arrayidx4 = getelementptr inbounds i8, i8* %arrayidx, i64 1 - %tmp5 = load i8* %arrayidx4, align 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, i8* %arrayidx, i64 2 - %tmp13 = load i8* %arrayidx12, align 1 + %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, i8* %arrayidx, i64 3 - %tmp21 = load i8* %arrayidx20, align 1 + %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 @@ -43,7 +43,7 @@ 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,28 +53,28 @@ 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, i8* %arrayidx, i64 1 - %tmp5 = load i8* %arrayidx4, align 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, i8* %arrayidx, i64 2 - %tmp13 = load i8* %arrayidx12, align 1 + %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, i8* %arrayidx, i64 3 - %tmp21 = load i8* %arrayidx20, align 1 + %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 @@ -87,7 +87,7 @@ 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/llvm/test/Transforms/PhaseOrdering/basic.ll b/llvm/test/Transforms/PhaseOrdering/basic.ll index a8d4bb8db76..ef57e55e15e 100644 --- a/llvm/test/Transforms/PhaseOrdering/basic.ll +++ b/llvm/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 @@ -37,9 +37,9 @@ entry: %arrayidx1 = getelementptr inbounds i32, i32* %p, i64 1 store i32 %add, i32* %arrayidx1, align 4 %arrayidx2 = getelementptr inbounds i32, i32* %p, i64 1 - %0 = load i32* %arrayidx2, align 4 + %0 = load i32, i32* %arrayidx2, align 4 %arrayidx3 = getelementptr inbounds i32, i32* %p, i64 0 - %1 = load i32* %arrayidx3, align 4 + %1 = load i32, i32* %arrayidx3, align 4 %mul = mul i32 2, %1 %sub = sub i32 %0, %mul ret i32 %sub diff --git a/llvm/test/Transforms/PhaseOrdering/gdce.ll b/llvm/test/Transforms/PhaseOrdering/gdce.ll index 95f06757a78..56d5cbc2f34 100644 --- a/llvm/test/Transforms/PhaseOrdering/gdce.ll +++ b/llvm/test/Transforms/PhaseOrdering/gdce.ll @@ -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,7 +61,7 @@ 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 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 |

