diff options
author | Nikita Popov <npopov@redhat.com> | 2024-02-05 14:02:34 +0100 |
---|---|---|
committer | Nikita Popov <npopov@redhat.com> | 2024-02-05 14:07:09 +0100 |
commit | ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0 (patch) | |
tree | fbdc907161b38e2dec1d3c5bb9e5b2f7973c7416 /llvm/test/CodeGen/PowerPC | |
parent | 06f711a906be85e141bcce9a88ab304dc81e74ef (diff) | |
download | llvm-ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0.zip llvm-ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0.tar.gz llvm-ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0.tar.bz2 |
[CodeGen] Convert tests to opaque pointers (NFC)
Diffstat (limited to 'llvm/test/CodeGen/PowerPC')
23 files changed, 841 insertions, 841 deletions
diff --git a/llvm/test/CodeGen/PowerPC/2007-11-04-CoalescerCrash.ll b/llvm/test/CodeGen/PowerPC/2007-11-04-CoalescerCrash.ll index 460c133..ba698b0 100644 --- a/llvm/test/CodeGen/PowerPC/2007-11-04-CoalescerCrash.ll +++ b/llvm/test/CodeGen/PowerPC/2007-11-04-CoalescerCrash.ll @@ -2,9 +2,9 @@ %struct.HDescriptor = type <{ i32, i32 }> -declare void @bcopy(i8*, i8*, i32) +declare void @bcopy(ptr, ptr, i32) -define i32 @main(i32 %argc, i8** %argv) { +define i32 @main(i32 %argc, ptr %argv) { entry: br i1 false, label %bb31, label %bb @@ -86,7 +86,7 @@ free.i: ; preds = %cond_next21.i cond_next934: ; preds = %bb1005, %cond_next21.i %listsize.1 = phi i32 [ 0, %bb1005 ], [ 64, %cond_next21.i ] ; <i32> [#uses=1] - %catalogExtents.2 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.1, %bb1005 ], [ null, %cond_next21.i ] ; <%struct.HDescriptor*> [#uses=3] + %catalogExtents.2 = phi ptr [ %catalogExtents.1.reg2mem.1, %bb1005 ], [ null, %cond_next21.i ] ; <%struct.HDescriptor*> [#uses=3] br i1 false, label %cond_next942, label %Return1020 cond_next942: ; preds = %cond_next934 @@ -94,27 +94,27 @@ cond_next942: ; preds = %cond_next934 bb947: ; preds = %cond_next971, %cond_next942 %indvar = phi i32 [ 0, %cond_next942 ], [ %indvar.next2140, %cond_next971 ] ; <i32> [#uses=2] - %catalogExtents.1.reg2mem.0 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=1] - %extents.0.reg2mem.0 = phi %struct.HDescriptor* [ null, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=1] + %catalogExtents.1.reg2mem.0 = phi ptr [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=1] + %extents.0.reg2mem.0 = phi ptr [ null, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=1] br i1 false, label %cond_next971, label %Return1020 cond_next971: ; preds = %bb947 %tmp = shl i32 %indvar, 6 ; <i32> [#uses=1] %listsize.0.reg2mem.0 = add i32 %tmp, %listsize.1 ; <i32> [#uses=1] %tmp973 = add i32 %listsize.0.reg2mem.0, 64 ; <i32> [#uses=1] - %tmp974975 = bitcast %struct.HDescriptor* %extents.0.reg2mem.0 to i8* ; <i8*> [#uses=1] - %tmp977 = call i8* @realloc( i8* %tmp974975, i32 %tmp973 ) ; <i8*> [#uses=1] - %tmp977978 = bitcast i8* %tmp977 to %struct.HDescriptor* ; <%struct.HDescriptor*> [#uses=3] - call void @bcopy( i8* null, i8* null, i32 64 ) + %tmp974975 = bitcast ptr %extents.0.reg2mem.0 to ptr ; <i8*> [#uses=1] + %tmp977 = call ptr @realloc( ptr %tmp974975, i32 %tmp973 ) ; <i8*> [#uses=1] + %tmp977978 = bitcast ptr %tmp977 to ptr ; <%struct.HDescriptor*> [#uses=3] + call void @bcopy( ptr null, ptr null, i32 64 ) %indvar.next2140 = add i32 %indvar, 1 ; <i32> [#uses=1] br i1 false, label %bb1005, label %bb947 bb1005: ; preds = %cond_next971, %cond_next942 - %catalogExtents.1.reg2mem.1 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=2] + %catalogExtents.1.reg2mem.1 = phi ptr [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=2] br i1 false, label %Return1020, label %cond_next934 Return1020: ; preds = %bb1005, %bb947, %cond_next934 - %catalogExtents.3 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.0, %bb947 ], [ %catalogExtents.2, %cond_next934 ], [ %catalogExtents.1.reg2mem.1, %bb1005 ] ; <%struct.HDescriptor*> [#uses=0] + %catalogExtents.3 = phi ptr [ %catalogExtents.1.reg2mem.0, %bb947 ], [ %catalogExtents.2, %cond_next934 ], [ %catalogExtents.1.reg2mem.1, %bb1005 ] ; <%struct.HDescriptor*> [#uses=0] ret i32 0 cond_true1192: ; preds = %cond_next807 @@ -145,4 +145,4 @@ AllDone: ; preds = %cond_next372, %cond_true48 ret i32 0 } -declare i8* @realloc(i8*, i32) +declare ptr @realloc(ptr, i32) diff --git a/llvm/test/CodeGen/PowerPC/aix-alias-alignment-2.ll b/llvm/test/CodeGen/PowerPC/aix-alias-alignment-2.ll index 209f0e9..b829914 100644 --- a/llvm/test/CodeGen/PowerPC/aix-alias-alignment-2.ll +++ b/llvm/test/CodeGen/PowerPC/aix-alias-alignment-2.ll @@ -6,9 +6,9 @@ ; RUN: llvm-objdump --syms %t.o | FileCheck --check-prefix=SYM %s @ConstVector = global <2 x i64> <i64 12, i64 34>, align 4 -@var1 = alias i64, getelementptr inbounds (<2 x i64>, <2 x i64>* @ConstVector, i32 0, i32 1) +@var1 = alias i64, getelementptr inbounds (<2 x i64>, ptr @ConstVector, i32 0, i32 1) define void @foo1(i64 %a1) { - store i64 %a1, i64* getelementptr inbounds (<2 x i64>, <2 x i64>* @ConstVector, i32 0, i32 1), align 4 + store i64 %a1, ptr getelementptr inbounds (<2 x i64>, ptr @ConstVector, i32 0, i32 1), align 4 ret void } @@ -23,9 +23,9 @@ define void @foo1(i64 %a1) { ; ASM-NEXT: .vbyte 4, 34 @ConstDataSeq = global [2 x i64] [i64 12, i64 34], align 4 -@var2 = alias i64, getelementptr inbounds ([2 x i64], [2 x i64]* @ConstDataSeq, i32 0, i32 1) +@var2 = alias i64, getelementptr inbounds ([2 x i64], ptr @ConstDataSeq, i32 0, i32 1) define void @foo2(i64 %a1) { - store i64 %a1, i64* getelementptr inbounds ([2 x i64], [2 x i64]* @ConstDataSeq, i32 0, i32 1), align 4 + store i64 %a1, ptr getelementptr inbounds ([2 x i64], ptr @ConstDataSeq, i32 0, i32 1), align 4 ret void } @@ -41,9 +41,9 @@ define void @foo2(i64 %a1) { %struct.B = type { i64 } @ConstArray = global [2 x %struct.B] [%struct.B {i64 12}, %struct.B {i64 34}], align 4 -@var3 = alias %struct.B, getelementptr inbounds ([2 x %struct.B], [2 x %struct.B]* @ConstArray, i32 0, i32 0) +@var3 = alias %struct.B, ptr @ConstArray define void @foo3(%struct.B %a1) { - store %struct.B %a1, %struct.B* getelementptr inbounds ([2 x %struct.B], [2 x %struct.B]* @ConstArray, i32 0, i32 1), align 4 + store %struct.B %a1, ptr getelementptr inbounds ([2 x %struct.B], ptr @ConstArray, i32 0, i32 1), align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/aix-alias-alignment.ll b/llvm/test/CodeGen/PowerPC/aix-alias-alignment.ll index a1ad804..8bfc513 100644 --- a/llvm/test/CodeGen/PowerPC/aix-alias-alignment.ll +++ b/llvm/test/CodeGen/PowerPC/aix-alias-alignment.ll @@ -10,12 +10,12 @@ ; RUN: llvm-objdump --syms %t.o | FileCheck --check-prefix=SYM %s @_MergedGlobals = global <{ i32, i32 }> <{ i32 1, i32 2 }>, align 4 -@var1 = alias i32, getelementptr inbounds (<{ i32, i32 }>, ptr @_MergedGlobals, i32 0, i32 0) +@var1 = alias i32, ptr @_MergedGlobals @var2 = alias i32, getelementptr inbounds (<{ i32, i32 }>, ptr @_MergedGlobals, i32 0, i32 1) @var3 = alias i32, ptr @var2 define void @foo(i32 %a1, i32 %a2, i32 %a3) { - store i32 %a1, ptr getelementptr inbounds (<{ i32, i32 }>, ptr @_MergedGlobals, i32 0, i32 0), align 4 + store i32 %a1, ptr @_MergedGlobals, align 4 store i32 %a2, ptr getelementptr inbounds (<{ i32, i32 }>, ptr @_MergedGlobals, i32 0, i32 1), align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/aix-complex.ll b/llvm/test/CodeGen/PowerPC/aix-complex.ll index 0323a47..f211454 100644 --- a/llvm/test/CodeGen/PowerPC/aix-complex.ll +++ b/llvm/test/CodeGen/PowerPC/aix-complex.ll @@ -31,7 +31,7 @@ entry: %call = call { double, double } @dblCmplxRetCallee() %0 = extractvalue { double, double } %call, 0 %1 = extractvalue { double, double } %call, 1 - store double %0, ptr getelementptr inbounds ({ double, double }, ptr @gcd, i32 0, i32 0), align 8 + store double %0, ptr @gcd, align 8 store double %1, ptr getelementptr inbounds ({ double, double }, ptr @gcd, i32 0, i32 1), align 8 call void @anchor() ret void @@ -68,7 +68,7 @@ entry: %call = call { float, float } @fltCmplxRetCallee() %0 = extractvalue { float, float } %call, 0 %1 = extractvalue { float, float } %call, 1 - store float %0, ptr getelementptr inbounds ({ float, float }, ptr @gcf, i32 0, i32 0), align 4 + store float %0, ptr @gcf, align 4 store float %1, ptr getelementptr inbounds ({ float, float }, ptr @gcf, i32 0, i32 1), align 4 call void @anchor() ret void @@ -107,7 +107,7 @@ entry: %call = call { ppc_fp128, ppc_fp128 } @fp128CmplxRetCallee() %0 = extractvalue { ppc_fp128, ppc_fp128 } %call, 0 %1 = extractvalue { ppc_fp128, ppc_fp128 } %call, 1 - store ppc_fp128 %0, ptr getelementptr inbounds ({ ppc_fp128, ppc_fp128 }, ptr @gcfp128, i32 0, i32 0), align 16 + store ppc_fp128 %0, ptr @gcfp128, align 16 store ppc_fp128 %1, ptr getelementptr inbounds ({ ppc_fp128, ppc_fp128 }, ptr @gcfp128, i32 0, i32 1), align 16 call void @anchor() ret void diff --git a/llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll b/llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll index f55932c..149fa9d 100644 --- a/llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll +++ b/llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll @@ -21,8 +21,8 @@ define signext i32 @foo() { ; CHECK-NEXT: $x3 = COPY [[EXTSW_32_64_]] ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit $x3 entry: - %0 = load i32, i32* @a, align 4 - %1 = load i32, i32* @b, align 4 + %0 = load i32, ptr @a, align 4 + %1 = load i32, ptr @b, align 4 %add = add nsw i32 %1, %0 ret i32 %add } diff --git a/llvm/test/CodeGen/PowerPC/block-placement.mir b/llvm/test/CodeGen/PowerPC/block-placement.mir index fa32064..dab8dfb 100644 --- a/llvm/test/CodeGen/PowerPC/block-placement.mir +++ b/llvm/test/CodeGen/PowerPC/block-placement.mir @@ -7,34 +7,34 @@ target triple = "powerpc64le-unknown-linux-gnu" %"class.xercesc_2_7::HashXMLCh" = type { %"class.xercesc_2_7::HashBase" } - %"class.xercesc_2_7::HashBase" = type { i32 (...)** } + %"class.xercesc_2_7::HashBase" = type { ptr } - define dso_local zeroext i1 @_ZN11xercesc_2_79HashXMLCh6equalsEPKvS2_(%"class.xercesc_2_7::HashXMLCh"* nocapture readnone %this, i8* readonly %key1, i8* readonly %key2) unnamed_addr #0 { + define dso_local zeroext i1 @_ZN11xercesc_2_79HashXMLCh6equalsEPKvS2_(ptr nocapture readnone %this, ptr readonly %key1, ptr readonly %key2) unnamed_addr #0 { entry: - %cmp.i = icmp eq i8* %key1, null - %cmp1.i = icmp eq i8* %key2, null + %cmp.i = icmp eq ptr %key1, null + %cmp1.i = icmp eq ptr %key2, null %or.cond.i = or i1 %cmp.i, %cmp1.i br i1 %or.cond.i, label %if.then.i, label %while.cond.preheader.i while.cond.preheader.i: ; preds = %entry - %0 = bitcast i8* %key2 to i16* - %1 = bitcast i8* %key1 to i16* - %2 = load i16, i16* %1, align 2 - %3 = load i16, i16* %0, align 2 + %0 = bitcast ptr %key2 to ptr + %1 = bitcast ptr %key1 to ptr + %2 = load i16, ptr %1, align 2 + %3 = load i16, ptr %0, align 2 %cmp926.i = icmp eq i16 %2, %3 br i1 %cmp926.i, label %while.body.i.preheader, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit while.body.i.preheader: ; preds = %while.cond.preheader.i - %scevgep = getelementptr i8, i8* %key2, i64 2 - %scevgep4 = getelementptr i8, i8* %key1, i64 2 + %scevgep = getelementptr i8, ptr %key2, i64 2 + %scevgep4 = getelementptr i8, ptr %key1, i64 2 br label %while.body.i if.then.i: ; preds = %entry br i1 %cmp.i, label %lor.lhs.false3.i, label %land.lhs.true.i land.lhs.true.i: ; preds = %if.then.i - %4 = bitcast i8* %key1 to i16* - %5 = load i16, i16* %4, align 2 + %4 = bitcast ptr %key1 to ptr + %5 = load i16, ptr %4, align 2 %tobool.i = icmp eq i16 %5, 0 br i1 %tobool.i, label %lor.lhs.false3.i, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit @@ -42,8 +42,8 @@ br i1 %cmp1.i, label %if.else.i, label %land.lhs.true5.i land.lhs.true5.i: ; preds = %lor.lhs.false3.i - %6 = bitcast i8* %key2 to i16* - %7 = load i16, i16* %6, align 2 + %6 = bitcast ptr %key2 to ptr + %7 = load i16, ptr %6, align 2 %tobool6.i = icmp eq i16 %7, 0 br i1 %tobool6.i, label %if.else.i, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit @@ -51,24 +51,24 @@ br label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit while.body.i: ; preds = %while.body.i.preheader, %if.end12.i - %lsr.iv5 = phi i8* [ %scevgep4, %while.body.i.preheader ], [ %scevgep6, %if.end12.i ] - %lsr.iv = phi i8* [ %scevgep, %while.body.i.preheader ], [ %scevgep2, %if.end12.i ] + %lsr.iv5 = phi ptr [ %scevgep4, %while.body.i.preheader ], [ %scevgep6, %if.end12.i ] + %lsr.iv = phi ptr [ %scevgep, %while.body.i.preheader ], [ %scevgep2, %if.end12.i ] %8 = phi i16 [ %15, %if.end12.i ], [ %2, %while.body.i.preheader ] - %9 = phi i8* [ %key1, %while.body.i.preheader ], [ %13, %if.end12.i ] - %10 = phi i8* [ %key2, %while.body.i.preheader ], [ %11, %if.end12.i ] - %11 = getelementptr i8, i8* %10, i64 2 - %12 = bitcast i8* %11 to i16* - %13 = getelementptr i8, i8* %9, i64 2 - %14 = bitcast i8* %13 to i16* + %9 = phi ptr [ %key1, %while.body.i.preheader ], [ %13, %if.end12.i ] + %10 = phi ptr [ %key2, %while.body.i.preheader ], [ %11, %if.end12.i ] + %11 = getelementptr i8, ptr %10, i64 2 + %12 = bitcast ptr %11 to ptr + %13 = getelementptr i8, ptr %9, i64 2 + %14 = bitcast ptr %13 to ptr %tobool10.i = icmp eq i16 %8, 0 br i1 %tobool10.i, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit, label %if.end12.i if.end12.i: ; preds = %while.body.i - %15 = load i16, i16* %14, align 2 - %16 = load i16, i16* %12, align 2 + %15 = load i16, ptr %14, align 2 + %16 = load i16, ptr %12, align 2 %cmp9.i = icmp eq i16 %15, %16 - %scevgep2 = getelementptr i8, i8* %lsr.iv, i64 2 - %scevgep6 = getelementptr i8, i8* %lsr.iv5, i64 2 + %scevgep2 = getelementptr i8, ptr %lsr.iv, i64 2 + %scevgep6 = getelementptr i8, ptr %lsr.iv5, i64 2 br i1 %cmp9.i, label %while.body.i, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit _ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit: ; preds = %if.end12.i, %while.body.i, %if.else.i, %land.lhs.true5.i, %land.lhs.true.i, %while.cond.preheader.i diff --git a/llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-R0-special-handling.mir b/llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-R0-special-handling.mir index fe2b392..e1d0285 100644 --- a/llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-R0-special-handling.mir +++ b/llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-R0-special-handling.mir @@ -34,32 +34,32 @@ } ; Function Attrs: norecurse nounwind readonly - define i64 @unsafeLDXR3R0(i64* nocapture readonly %ptr, i64 %off) local_unnamed_addr #1 { + define i64 @unsafeLDXR3R0(ptr nocapture readonly %ptr, i64 %off) local_unnamed_addr #1 { entry: - %0 = bitcast i64* %ptr to i8* - %add.ptr = getelementptr inbounds i8, i8* %0, i64 %off - %1 = bitcast i8* %add.ptr to i64* - %2 = load i64, i64* %1, align 8, !tbaa !3 + %0 = bitcast ptr %ptr to ptr + %add.ptr = getelementptr inbounds i8, ptr %0, i64 %off + %1 = bitcast ptr %add.ptr to ptr + %2 = load i64, ptr %1, align 8, !tbaa !3 ret i64 %2 } ; Function Attrs: norecurse nounwind readonly - define i64 @safeLDXZeroR3(i64* nocapture readonly %ptr, i64 %off) local_unnamed_addr #1 { + define i64 @safeLDXZeroR3(ptr nocapture readonly %ptr, i64 %off) local_unnamed_addr #1 { entry: - %0 = bitcast i64* %ptr to i8* - %add.ptr = getelementptr inbounds i8, i8* %0, i64 %off - %1 = bitcast i8* %add.ptr to i64* - %2 = load i64, i64* %1, align 8, !tbaa !3 + %0 = bitcast ptr %ptr to ptr + %add.ptr = getelementptr inbounds i8, ptr %0, i64 %off + %1 = bitcast ptr %add.ptr to ptr + %2 = load i64, ptr %1, align 8, !tbaa !3 ret i64 %2 } ; Function Attrs: norecurse nounwind readonly - define i64 @safeLDXR3R0(i64* nocapture readonly %ptr, i64 %off) local_unnamed_addr #1 { + define i64 @safeLDXR3R0(ptr nocapture readonly %ptr, i64 %off) local_unnamed_addr #1 { entry: - %0 = bitcast i64* %ptr to i8* - %add.ptr = getelementptr inbounds i8, i8* %0, i64 %off - %1 = bitcast i8* %add.ptr to i64* - %2 = load i64, i64* %1, align 8, !tbaa !3 + %0 = bitcast ptr %ptr to ptr + %add.ptr = getelementptr inbounds i8, ptr %0, i64 %off + %1 = bitcast ptr %add.ptr to ptr + %2 = load i64, ptr %1, align 8, !tbaa !3 ret i64 %2 } diff --git a/llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir b/llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir index b62616d..761316e 100644 --- a/llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir +++ b/llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir @@ -162,17 +162,17 @@ } ; Function Attrs: norecurse nounwind readonly - define zeroext i8 @testLBZUX(i8* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define zeroext i8 @testLBZUX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i8, i8* %ptr, i64 %idxprom - %0 = load i8, i8* %arrayidx, align 1, !tbaa !3 + %arrayidx = getelementptr inbounds i8, ptr %ptr, i64 %idxprom + %0 = load i8, ptr %arrayidx, align 1, !tbaa !3 %conv = zext i8 %0 to i32 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i8, i8* %ptr, i64 %idxprom2 - %1 = load i8, i8* %arrayidx3, align 1, !tbaa !3 + %arrayidx3 = getelementptr inbounds i8, ptr %ptr, i64 %idxprom2 + %1 = load i8, ptr %arrayidx3, align 1, !tbaa !3 %conv4 = zext i8 %1 to i32 %add5 = add nuw nsw i32 %conv4, %conv %conv6 = trunc i32 %add5 to i8 @@ -180,17 +180,17 @@ } ; Function Attrs: norecurse nounwind readonly - define zeroext i8 @testLBZX(i8* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define zeroext i8 @testLBZX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i8, i8* %ptr, i64 %idxprom - %0 = load i8, i8* %arrayidx, align 1, !tbaa !3 + %arrayidx = getelementptr inbounds i8, ptr %ptr, i64 %idxprom + %0 = load i8, ptr %arrayidx, align 1, !tbaa !3 %conv = zext i8 %0 to i32 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i8, i8* %ptr, i64 %idxprom2 - %1 = load i8, i8* %arrayidx3, align 1, !tbaa !3 + %arrayidx3 = getelementptr inbounds i8, ptr %ptr, i64 %idxprom2 + %1 = load i8, ptr %arrayidx3, align 1, !tbaa !3 %conv4 = zext i8 %1 to i32 %add5 = add nuw nsw i32 %conv4, %conv %conv6 = trunc i32 %add5 to i8 @@ -198,17 +198,17 @@ } ; Function Attrs: norecurse nounwind readonly - define zeroext i16 @testLHZUX(i16* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define zeroext i16 @testLHZUX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i16, i16* %ptr, i64 %idxprom - %0 = load i16, i16* %arrayidx, align 2, !tbaa !6 + %arrayidx = getelementptr inbounds i16, ptr %ptr, i64 %idxprom + %0 = load i16, ptr %arrayidx, align 2, !tbaa !6 %conv = zext i16 %0 to i32 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i16, i16* %ptr, i64 %idxprom2 - %1 = load i16, i16* %arrayidx3, align 2, !tbaa !6 + %arrayidx3 = getelementptr inbounds i16, ptr %ptr, i64 %idxprom2 + %1 = load i16, ptr %arrayidx3, align 2, !tbaa !6 %conv4 = zext i16 %1 to i32 %add5 = add nuw nsw i32 %conv4, %conv %conv6 = trunc i32 %add5 to i16 @@ -216,17 +216,17 @@ } ; Function Attrs: norecurse nounwind readonly - define zeroext i16 @testLHZX(i16* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define zeroext i16 @testLHZX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i16, i16* %ptr, i64 %idxprom - %0 = load i16, i16* %arrayidx, align 2, !tbaa !6 + %arrayidx = getelementptr inbounds i16, ptr %ptr, i64 %idxprom + %0 = load i16, ptr %arrayidx, align 2, !tbaa !6 %conv = zext i16 %0 to i32 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i16, i16* %ptr, i64 %idxprom2 - %1 = load i16, i16* %arrayidx3, align 2, !tbaa !6 + %arrayidx3 = getelementptr inbounds i16, ptr %ptr, i64 %idxprom2 + %1 = load i16, ptr %arrayidx3, align 2, !tbaa !6 %conv4 = zext i16 %1 to i32 %add5 = add nuw nsw i32 %conv4, %conv %conv6 = trunc i32 %add5 to i16 @@ -234,17 +234,17 @@ } ; Function Attrs: norecurse nounwind readonly - define signext i16 @testLHAUX(i16* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define signext i16 @testLHAUX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i16, i16* %ptr, i64 %idxprom - %0 = load i16, i16* %arrayidx, align 2, !tbaa !6 + %arrayidx = getelementptr inbounds i16, ptr %ptr, i64 %idxprom + %0 = load i16, ptr %arrayidx, align 2, !tbaa !6 %conv9 = zext i16 %0 to i32 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i16, i16* %ptr, i64 %idxprom2 - %1 = load i16, i16* %arrayidx3, align 2, !tbaa !6 + %arrayidx3 = getelementptr inbounds i16, ptr %ptr, i64 %idxprom2 + %1 = load i16, ptr %arrayidx3, align 2, !tbaa !6 %conv410 = zext i16 %1 to i32 %add5 = add nuw nsw i32 %conv410, %conv9 %conv6 = trunc i32 %add5 to i16 @@ -252,17 +252,17 @@ } ; Function Attrs: norecurse nounwind readonly - define signext i16 @testLHAX(i16* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define signext i16 @testLHAX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i16, i16* %ptr, i64 %idxprom - %0 = load i16, i16* %arrayidx, align 2, !tbaa !6 + %arrayidx = getelementptr inbounds i16, ptr %ptr, i64 %idxprom + %0 = load i16, ptr %arrayidx, align 2, !tbaa !6 %conv9 = zext i16 %0 to i32 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i16, i16* %ptr, i64 %idxprom2 - %1 = load i16, i16* %arrayidx3, align 2, !tbaa !6 + %arrayidx3 = getelementptr inbounds i16, ptr %ptr, i64 %idxprom2 + %1 = load i16, ptr %arrayidx3, align 2, !tbaa !6 %conv410 = zext i16 %1 to i32 %add5 = add nuw nsw i32 %conv410, %conv9 %conv6 = trunc i32 %add5 to i16 @@ -270,136 +270,136 @@ } ; Function Attrs: norecurse nounwind readonly - define zeroext i32 @testLWZUX(i32* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define zeroext i32 @testLWZUX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i32, i32* %ptr, i64 %idxprom - %0 = load i32, i32* %arrayidx, align 4, !tbaa !8 + %arrayidx = getelementptr inbounds i32, ptr %ptr, i64 %idxprom + %0 = load i32, ptr %arrayidx, align 4, !tbaa !8 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i32, i32* %ptr, i64 %idxprom2 - %1 = load i32, i32* %arrayidx3, align 4, !tbaa !8 + %arrayidx3 = getelementptr inbounds i32, ptr %ptr, i64 %idxprom2 + %1 = load i32, ptr %arrayidx3, align 4, !tbaa !8 %add4 = add i32 %1, %0 ret i32 %add4 } ; Function Attrs: norecurse nounwind readonly - define zeroext i32 @testLWZX(i32* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define zeroext i32 @testLWZX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i32, i32* %ptr, i64 %idxprom - %0 = load i32, i32* %arrayidx, align 4, !tbaa !8 + %arrayidx = getelementptr inbounds i32, ptr %ptr, i64 %idxprom + %0 = load i32, ptr %arrayidx, align 4, !tbaa !8 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i32, i32* %ptr, i64 %idxprom2 - %1 = load i32, i32* %arrayidx3, align 4, !tbaa !8 + %arrayidx3 = getelementptr inbounds i32, ptr %ptr, i64 %idxprom2 + %1 = load i32, ptr %arrayidx3, align 4, !tbaa !8 %add4 = add i32 %1, %0 ret i32 %add4 } ; Function Attrs: norecurse nounwind readonly - define i64 @testLWAX(i32* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define i64 @testLWAX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i32, i32* %ptr, i64 %idxprom - %0 = load i32, i32* %arrayidx, align 4, !tbaa !8 + %arrayidx = getelementptr inbounds i32, ptr %ptr, i64 %idxprom + %0 = load i32, ptr %arrayidx, align 4, !tbaa !8 %conv = sext i32 %0 to i64 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i32, i32* %ptr, i64 %idxprom2 - %1 = load i32, i32* %arrayidx3, align 4, !tbaa !8 + %arrayidx3 = getelementptr inbounds i32, ptr %ptr, i64 %idxprom2 + %1 = load i32, ptr %arrayidx3, align 4, !tbaa !8 %conv4 = sext i32 %1 to i64 %add5 = add nsw i64 %conv4, %conv ret i64 %add5 } ; Function Attrs: norecurse nounwind readonly - define i64 @testLDUX(i64* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define i64 @testLDUX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i64, i64* %ptr, i64 %idxprom - %0 = load i64, i64* %arrayidx, align 8, !tbaa !10 + %arrayidx = getelementptr inbounds i64, ptr %ptr, i64 %idxprom + %0 = load i64, ptr %arrayidx, align 8, !tbaa !10 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i64, i64* %ptr, i64 %idxprom2 - %1 = load i64, i64* %arrayidx3, align 8, !tbaa !10 + %arrayidx3 = getelementptr inbounds i64, ptr %ptr, i64 %idxprom2 + %1 = load i64, ptr %arrayidx3, align 8, !tbaa !10 %add4 = add i64 %1, %0 ret i64 %add4 } ; Function Attrs: norecurse nounwind readonly - define i64 @testLDX(i64* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define i64 @testLDX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i64, i64* %ptr, i64 %idxprom - %0 = load i64, i64* %arrayidx, align 8, !tbaa !10 + %arrayidx = getelementptr inbounds i64, ptr %ptr, i64 %idxprom + %0 = load i64, ptr %arrayidx, align 8, !tbaa !10 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i64, i64* %ptr, i64 %idxprom2 - %1 = load i64, i64* %arrayidx3, align 8, !tbaa !10 + %arrayidx3 = getelementptr inbounds i64, ptr %ptr, i64 %idxprom2 + %1 = load i64, ptr %arrayidx3, align 8, !tbaa !10 %add4 = add i64 %1, %0 ret i64 %add4 } ; Function Attrs: norecurse nounwind readonly - define double @testLFDUX(double* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #2 { + define double @testLFDUX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #2 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds double, double* %ptr, i64 %idxprom - %0 = load double, double* %arrayidx, align 8, !tbaa !12 + %arrayidx = getelementptr inbounds double, ptr %ptr, i64 %idxprom + %0 = load double, ptr %arrayidx, align 8, !tbaa !12 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds double, double* %ptr, i64 %idxprom2 - %1 = load double, double* %arrayidx3, align 8, !tbaa !12 + %arrayidx3 = getelementptr inbounds double, ptr %ptr, i64 %idxprom2 + %1 = load double, ptr %arrayidx3, align 8, !tbaa !12 %add4 = fadd double %0, %1 ret double %add4 } ; Function Attrs: norecurse nounwind readonly - define double @testLFDX(double* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #2 { + define double @testLFDX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #2 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds double, double* %ptr, i64 %idxprom - %0 = load double, double* %arrayidx, align 8, !tbaa !12 + %arrayidx = getelementptr inbounds double, ptr %ptr, i64 %idxprom + %0 = load double, ptr %arrayidx, align 8, !tbaa !12 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds double, double* %ptr, i64 %idxprom2 - %1 = load double, double* %arrayidx3, align 8, !tbaa !12 + %arrayidx3 = getelementptr inbounds double, ptr %ptr, i64 %idxprom2 + %1 = load double, ptr %arrayidx3, align 8, !tbaa !12 %add4 = fadd double %0, %1 ret double %add4 } ; Function Attrs: norecurse nounwind readonly - define <4 x float> @testLFSUX(float* nocapture readonly %ptr, i32 signext %idx) local_unnamed_addr #2 { + define <4 x float> @testLFSUX(ptr nocapture readonly %ptr, i32 signext %idx) local_unnamed_addr #2 { entry: %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds float, float* %ptr, i64 %idxprom - %0 = load float, float* %arrayidx, align 4, !tbaa !14 + %arrayidx = getelementptr inbounds float, ptr %ptr, i64 %idxprom + %0 = load float, ptr %arrayidx, align 4, !tbaa !14 %conv = fptoui float %0 to i32 %vecinit = insertelement <4 x i32> undef, i32 %conv, i32 0 - %1 = bitcast float* %ptr to i8* + %1 = bitcast ptr %ptr to ptr %2 = shl i64 %idxprom, 2 - %uglygep = getelementptr i8, i8* %1, i64 %2 - %uglygep2 = getelementptr i8, i8* %uglygep, i64 4 - %3 = bitcast i8* %uglygep2 to float* - %4 = load float, float* %3, align 4, !tbaa !14 + %uglygep = getelementptr i8, ptr %1, i64 %2 + %uglygep2 = getelementptr i8, ptr %uglygep, i64 4 + %3 = bitcast ptr %uglygep2 to ptr + %4 = load float, ptr %3, align 4, !tbaa !14 %conv3 = fptoui float %4 to i32 %vecinit4 = insertelement <4 x i32> %vecinit, i32 %conv3, i32 1 - %uglygep5 = getelementptr i8, i8* %uglygep, i64 8 - %5 = bitcast i8* %uglygep5 to float* - %6 = load float, float* %5, align 4, !tbaa !14 + %uglygep5 = getelementptr i8, ptr %uglygep, i64 8 + %5 = bitcast ptr %uglygep5 to ptr + %6 = load float, ptr %5, align 4, !tbaa !14 %conv8 = fptoui float %6 to i32 %vecinit9 = insertelement <4 x i32> %vecinit4, i32 %conv8, i32 2 - %uglygep8 = getelementptr i8, i8* %uglygep, i64 12 - %7 = bitcast i8* %uglygep8 to float* - %8 = load float, float* %7, align 4, !tbaa !14 + %uglygep8 = getelementptr i8, ptr %uglygep, i64 12 + %7 = bitcast ptr %uglygep8 to ptr + %8 = load float, ptr %7, align 4, !tbaa !14 %conv13 = fptoui float %8 to i32 %vecinit14 = insertelement <4 x i32> %vecinit9, i32 %conv13, i32 3 %9 = bitcast <4 x i32> %vecinit14 to <4 x float> @@ -407,61 +407,61 @@ } ; Function Attrs: norecurse nounwind readonly - define float @testLFSX(float* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #2 { + define float @testLFSX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #2 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds float, float* %ptr, i64 %idxprom - %0 = load float, float* %arrayidx, align 4, !tbaa !14 + %arrayidx = getelementptr inbounds float, ptr %ptr, i64 %idxprom + %0 = load float, ptr %arrayidx, align 4, !tbaa !14 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds float, float* %ptr, i64 %idxprom2 - %1 = load float, float* %arrayidx3, align 4, !tbaa !14 + %arrayidx3 = getelementptr inbounds float, ptr %ptr, i64 %idxprom2 + %1 = load float, ptr %arrayidx3, align 4, !tbaa !14 %add4 = fadd float %0, %1 ret float %add4 } ; Function Attrs: norecurse nounwind readonly - define double @testLXSDX(double* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define double @testLXSDX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds double, double* %ptr, i64 %idxprom - %0 = load double, double* %arrayidx, align 8, !tbaa !12 + %arrayidx = getelementptr inbounds double, ptr %ptr, i64 %idxprom + %0 = load double, ptr %arrayidx, align 8, !tbaa !12 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds double, double* %ptr, i64 %idxprom2 - %1 = load double, double* %arrayidx3, align 8, !tbaa !12 + %arrayidx3 = getelementptr inbounds double, ptr %ptr, i64 %idxprom2 + %1 = load double, ptr %arrayidx3, align 8, !tbaa !12 %add4 = fadd double %0, %1 ret double %add4 } ; Function Attrs: norecurse nounwind readonly - define float @testLXSSPX(float* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define float @testLXSSPX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds float, float* %ptr, i64 %idxprom - %0 = load float, float* %arrayidx, align 4, !tbaa !14 + %arrayidx = getelementptr inbounds float, ptr %ptr, i64 %idxprom + %0 = load float, ptr %arrayidx, align 4, !tbaa !14 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds float, float* %ptr, i64 %idxprom2 - %1 = load float, float* %arrayidx3, align 4, !tbaa !14 + %arrayidx3 = getelementptr inbounds float, ptr %ptr, i64 %idxprom2 + %1 = load float, ptr %arrayidx3, align 4, !tbaa !14 %add4 = fadd float %0, %1 ret float %add4 } ; Function Attrs: norecurse nounwind readonly - define <4 x i32> @testLXVX(<4 x i32>* nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { + define <4 x i32> @testLXVX(ptr nocapture readonly %ptr, i32 zeroext %idx) local_unnamed_addr #1 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds <4 x i32>, <4 x i32>* %ptr, i64 %idxprom - %0 = load <4 x i32>, <4 x i32>* %arrayidx, align 16, !tbaa !3 + %arrayidx = getelementptr inbounds <4 x i32>, ptr %ptr, i64 %idxprom + %0 = load <4 x i32>, ptr %arrayidx, align 16, !tbaa !3 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds <4 x i32>, <4 x i32>* %ptr, i64 %idxprom2 - %1 = load <4 x i32>, <4 x i32>* %arrayidx3, align 16, !tbaa !3 + %arrayidx3 = getelementptr inbounds <4 x i32>, ptr %ptr, i64 %idxprom2 + %1 = load <4 x i32>, ptr %arrayidx3, align 16, !tbaa !3 %add4 = add <4 x i32> %1, %0 ret <4 x i32> %add4 } @@ -747,197 +747,197 @@ } ; Function Attrs: norecurse nounwind - define void @testSTBUX(i8* nocapture %ptr, i8 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTBUX(ptr nocapture %ptr, i8 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i8, i8* %ptr, i64 %idxprom - store i8 %a, i8* %arrayidx, align 1, !tbaa !3 + %arrayidx = getelementptr inbounds i8, ptr %ptr, i64 %idxprom + store i8 %a, ptr %arrayidx, align 1, !tbaa !3 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i8, i8* %ptr, i64 %idxprom2 - store i8 %a, i8* %arrayidx3, align 1, !tbaa !3 + %arrayidx3 = getelementptr inbounds i8, ptr %ptr, i64 %idxprom2 + store i8 %a, ptr %arrayidx3, align 1, !tbaa !3 ret void } ; Function Attrs: norecurse nounwind - define void @testSTBX(i8* nocapture %ptr, i8 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTBX(ptr nocapture %ptr, i8 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i8, i8* %ptr, i64 %idxprom - store i8 %a, i8* %arrayidx, align 1, !tbaa !3 + %arrayidx = getelementptr inbounds i8, ptr %ptr, i64 %idxprom + store i8 %a, ptr %arrayidx, align 1, !tbaa !3 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i8, i8* %ptr, i64 %idxprom2 - store i8 %a, i8* %arrayidx3, align 1, !tbaa !3 + %arrayidx3 = getelementptr inbounds i8, ptr %ptr, i64 %idxprom2 + store i8 %a, ptr %arrayidx3, align 1, !tbaa !3 ret void } ; Function Attrs: norecurse nounwind - define void @testSTHUX(i16* nocapture %ptr, i16 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTHUX(ptr nocapture %ptr, i16 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i16, i16* %ptr, i64 %idxprom - store i16 %a, i16* %arrayidx, align 2, !tbaa !6 + %arrayidx = getelementptr inbounds i16, ptr %ptr, i64 %idxprom + store i16 %a, ptr %arrayidx, align 2, !tbaa !6 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i16, i16* %ptr, i64 %idxprom2 - store i16 %a, i16* %arrayidx3, align 2, !tbaa !6 + %arrayidx3 = getelementptr inbounds i16, ptr %ptr, i64 %idxprom2 + store i16 %a, ptr %arrayidx3, align 2, !tbaa !6 ret void } ; Function Attrs: norecurse nounwind - define void @testSTHX(i16* nocapture %ptr, i16 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTHX(ptr nocapture %ptr, i16 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i16, i16* %ptr, i64 %idxprom - store i16 %a, i16* %arrayidx, align 1, !tbaa !3 + %arrayidx = getelementptr inbounds i16, ptr %ptr, i64 %idxprom + store i16 %a, ptr %arrayidx, align 1, !tbaa !3 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i16, i16* %ptr, i64 %idxprom2 - store i16 %a, i16* %arrayidx3, align 1, !tbaa !3 + %arrayidx3 = getelementptr inbounds i16, ptr %ptr, i64 %idxprom2 + store i16 %a, ptr %arrayidx3, align 1, !tbaa !3 ret void } ; Function Attrs: norecurse nounwind - define void @testSTWUX(i32* nocapture %ptr, i32 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTWUX(ptr nocapture %ptr, i32 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i32, i32* %ptr, i64 %idxprom - store i32 %a, i32* %arrayidx, align 4, !tbaa !8 + %arrayidx = getelementptr inbounds i32, ptr %ptr, i64 %idxprom + store i32 %a, ptr %arrayidx, align 4, !tbaa !8 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i32, i32* %ptr, i64 %idxprom2 - store i32 %a, i32* %arrayidx3, align 4, !tbaa !8 + %arrayidx3 = getelementptr inbounds i32, ptr %ptr, i64 %idxprom2 + store i32 %a, ptr %arrayidx3, align 4, !tbaa !8 ret void } ; Function Attrs: norecurse nounwind - define void @testSTWX(i32* nocapture %ptr, i32 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTWX(ptr nocapture %ptr, i32 zeroext %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i32, i32* %ptr, i64 %idxprom - store i32 %a, i32* %arrayidx, align 4, !tbaa !8 + %arrayidx = getelementptr inbounds i32, ptr %ptr, i64 %idxprom + store i32 %a, ptr %arrayidx, align 4, !tbaa !8 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i32, i32* %ptr, i64 %idxprom2 - store i32 %a, i32* %arrayidx3, align 4, !tbaa !8 + %arrayidx3 = getelementptr inbounds i32, ptr %ptr, i64 %idxprom2 + store i32 %a, ptr %arrayidx3, align 4, !tbaa !8 ret void } ; Function Attrs: norecurse nounwind - define void @testSTDUX(i64* nocapture %ptr, i64 %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTDUX(ptr nocapture %ptr, i64 %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i64, i64* %ptr, i64 %idxprom - store i64 %a, i64* %arrayidx, align 8, !tbaa !10 + %arrayidx = getelementptr inbounds i64, ptr %ptr, i64 %idxprom + store i64 %a, ptr %arrayidx, align 8, !tbaa !10 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i64, i64* %ptr, i64 %idxprom2 - store i64 %a, i64* %arrayidx3, align 8, !tbaa !10 + %arrayidx3 = getelementptr inbounds i64, ptr %ptr, i64 %idxprom2 + store i64 %a, ptr %arrayidx3, align 8, !tbaa !10 ret void } ; Function Attrs: norecurse nounwind - define void @testSTDX(i64* nocapture %ptr, i64 %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTDX(ptr nocapture %ptr, i64 %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds i64, i64* %ptr, i64 %idxprom - store i64 %a, i64* %arrayidx, align 8, !tbaa !10 + %arrayidx = getelementptr inbounds i64, ptr %ptr, i64 %idxprom + store i64 %a, ptr %arrayidx, align 8, !tbaa !10 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds i64, i64* %ptr, i64 %idxprom2 - store i64 %a, i64* %arrayidx3, align 8, !tbaa !10 + %arrayidx3 = getelementptr inbounds i64, ptr %ptr, i64 %idxprom2 + store i64 %a, ptr %arrayidx3, align 8, !tbaa !10 ret void } ; Function Attrs: norecurse nounwind readonly - define void @testSTFSX(float* nocapture %ptr, float %a, i32 zeroext %idx) local_unnamed_addr #2 { + define void @testSTFSX(ptr nocapture %ptr, float %a, i32 zeroext %idx) local_unnamed_addr #2 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds float, float* %ptr, i64 %idxprom - store float %a, float* %arrayidx, align 4, !tbaa !14 + %arrayidx = getelementptr inbounds float, ptr %ptr, i64 %idxprom + store float %a, ptr %arrayidx, align 4, !tbaa !14 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds float, float* %ptr, i64 %idxprom2 - store float %a, float* %arrayidx3, align 4, !tbaa !14 + %arrayidx3 = getelementptr inbounds float, ptr %ptr, i64 %idxprom2 + store float %a, ptr %arrayidx3, align 4, !tbaa !14 ret void } ; Function Attrs: norecurse nounwind readonly - define void @testSTFSUX(float* nocapture %ptr, float %a, i32 zeroext %idx) local_unnamed_addr #2 { + define void @testSTFSUX(ptr nocapture %ptr, float %a, i32 zeroext %idx) local_unnamed_addr #2 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds float, float* %ptr, i64 %idxprom - store float %a, float* %arrayidx, align 4, !tbaa !14 + %arrayidx = getelementptr inbounds float, ptr %ptr, i64 %idxprom + store float %a, ptr %arrayidx, align 4, !tbaa !14 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds float, float* %ptr, i64 %idxprom2 - store float %a, float* %arrayidx3, align 4, !tbaa !14 + %arrayidx3 = getelementptr inbounds float, ptr %ptr, i64 %idxprom2 + store float %a, ptr %arrayidx3, align 4, !tbaa !14 ret void } ; Function Attrs: norecurse nounwind readonly - define void @testSTFDX(double* nocapture %ptr, double %a, i32 zeroext %idx) local_unnamed_addr #2 { + define void @testSTFDX(ptr nocapture %ptr, double %a, i32 zeroext %idx) local_unnamed_addr #2 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds double, double* %ptr, i64 %idxprom - store double %a, double* %arrayidx, align 8, !tbaa !12 + %arrayidx = getelementptr inbounds double, ptr %ptr, i64 %idxprom + store double %a, ptr %arrayidx, align 8, !tbaa !12 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds double, double* %ptr, i64 %idxprom2 - store double %a, double* %arrayidx3, align 8, !tbaa !12 + %arrayidx3 = getelementptr inbounds double, ptr %ptr, i64 %idxprom2 + store double %a, ptr %arrayidx3, align 8, !tbaa !12 ret void } ; Function Attrs: norecurse nounwind readonly - define void @testSTFDUX(double* nocapture %ptr, double %a, i32 zeroext %idx) local_unnamed_addr #2 { + define void @testSTFDUX(ptr nocapture %ptr, double %a, i32 zeroext %idx) local_unnamed_addr #2 { entry: %add = add i32 %idx, 1 %idxprom = zext i32 %add to i64 - %arrayidx = getelementptr inbounds double, double* %ptr, i64 %idxprom - store double %a, double* %arrayidx, align 8, !tbaa !12 + %arrayidx = getelementptr inbounds double, ptr %ptr, i64 %idxprom + store double %a, ptr %arrayidx, align 8, !tbaa !12 %add1 = add i32 %idx, 2 %idxprom2 = zext i32 %add1 to i64 - %arrayidx3 = getelementptr inbounds double, double* %ptr, i64 %idxprom2 - store double %a, double* %arrayidx3, align 8, !tbaa !12 + %arrayidx3 = getelementptr inbounds double, ptr %ptr, i64 %idxprom2 + store double %a, ptr %arrayidx3, align 8, !tbaa !12 ret void } ; Function Attrs: norecurse nounwind - define void @testSTXSSPX(float* nocapture %ptr, float %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTXSSPX(ptr nocapture %ptr, float %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds float, float* %ptr, i64 %idxprom - store float %a, float* %arrayidx, align 4, !tbaa !14 + %arrayidx = getelementptr inbounds float, ptr %ptr, i64 %idxprom + store float %a, ptr %arrayidx, align 4, !tbaa !14 ret void } ; Function Attrs: norecurse nounwind - define void @testSTXSDX(double* nocapture %ptr, double %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTXSDX(ptr nocapture %ptr, double %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds double, double* %ptr, i64 %idxprom - store double %a, double* %arrayidx, align 8, !tbaa !12 + %arrayidx = getelementptr inbounds double, ptr %ptr, i64 %idxprom + store double %a, ptr %arrayidx, align 8, !tbaa !12 ret void } ; Function Attrs: norecurse nounwind - define void @testSTXVX(<4 x i32>* nocapture %ptr, <4 x i32> %a, i32 zeroext %idx) local_unnamed_addr #3 { + define void @testSTXVX(ptr nocapture %ptr, <4 x i32> %a, i32 zeroext %idx) local_unnamed_addr #3 { entry: %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds <4 x i32>, <4 x i32>* %ptr, i64 %idxprom - store <4 x i32> %a, <4 x i32>* %arrayidx, align 16, !tbaa !3 + %arrayidx = getelementptr inbounds <4 x i32>, ptr %ptr, i64 %idxprom + store <4 x i32> %a, ptr %arrayidx, align 16, !tbaa !3 ret void } diff --git a/llvm/test/CodeGen/PowerPC/expand-foldable-isel.ll b/llvm/test/CodeGen/PowerPC/expand-foldable-isel.ll index 4377e80..8da7519 100644 --- a/llvm/test/CodeGen/PowerPC/expand-foldable-isel.ll +++ b/llvm/test/CodeGen/PowerPC/expand-foldable-isel.ll @@ -17,11 +17,11 @@ target triple = "powerpc64le-unknown-linux-gnu" ; RUN: llc -verify-machineinstrs -O2 -ppc-asm-full-reg-names -mcpu=pwr7 -ppc-gen-isel=true < %s | FileCheck %s --check-prefix=CHECK-GEN-ISEL-TRUE ; RUN: llc -verify-machineinstrs -O2 -ppc-asm-full-reg-names -mcpu=pwr7 -ppc-gen-isel=false < %s | FileCheck %s --implicit-check-not isel -%"struct.pov::ot_block_struct" = type { %"struct.pov::ot_block_struct"*, [3 x double], [3 x double], float, float, float, float, float, float, float, float, float, [3 x float], float, float, [3 x double], i16 } -%"struct.pov::ot_node_struct" = type { %"struct.pov::ot_id_struct", %"struct.pov::ot_block_struct"*, [8 x %"struct.pov::ot_node_struct"*] } +%"struct.pov::ot_block_struct" = type { ptr, [3 x double], [3 x double], float, float, float, float, float, float, float, float, float, [3 x float], float, float, [3 x double], i16 } +%"struct.pov::ot_node_struct" = type { %"struct.pov::ot_id_struct", ptr, [8 x ptr] } %"struct.pov::ot_id_struct" = type { i32, i32, i32, i32 } -define void @_ZN3pov6ot_insEPPNS_14ot_node_structEPNS_15ot_block_structEPNS_12ot_id_structE(%"struct.pov::ot_block_struct"* %new_block) { +define void @_ZN3pov6ot_insEPPNS_14ot_node_structEPNS_15ot_block_structEPNS_12ot_id_structE(ptr %new_block) { ; CHECK-GEN-ISEL-TRUE-LABEL: _ZN3pov6ot_insEPPNS_14ot_node_structEPNS_15ot_block_structEPNS_12ot_id_structE: ; CHECK-GEN-ISEL-TRUE: # %bb.0: # %entry ; CHECK-GEN-ISEL-TRUE-NEXT: mflr r0 @@ -115,21 +115,21 @@ entry: br label %while.cond11 while.cond11: - %this_node.0250 = phi %"struct.pov::ot_node_struct"* [ undef, %entry ], [ %1, %cond.false21.i156 ], [ %1, %cond.true18.i153 ] + %this_node.0250 = phi ptr [ undef, %entry ], [ %1, %cond.false21.i156 ], [ %1, %cond.true18.i153 ] %temp_id.sroa.21.1 = phi i32 [ undef, %entry ], [ %shr2039.i152, %cond.true18.i153 ], [ %div24.i155, %cond.false21.i156 ] - %0 = load i32, i32* undef, align 4 + %0 = load i32, ptr undef, align 4 %cmp17 = icmp eq i32 0, %0 br i1 %cmp17, label %lor.rhs, label %while.body21 lor.rhs: - %Values = getelementptr inbounds %"struct.pov::ot_node_struct", %"struct.pov::ot_node_struct"* %this_node.0250, i64 0, i32 1 - store %"struct.pov::ot_block_struct"* %new_block, %"struct.pov::ot_block_struct"** %Values, align 8 + %Values = getelementptr inbounds %"struct.pov::ot_node_struct", ptr %this_node.0250, i64 0, i32 1 + store ptr %new_block, ptr %Values, align 8 ret void while.body21: - %call.i84 = tail call i8* @ZN3pov10pov_callocEmmPKciS1_pov() - store i8* %call.i84, i8** undef, align 8 - %1 = bitcast i8* %call.i84 to %"struct.pov::ot_node_struct"* + %call.i84 = tail call ptr @ZN3pov10pov_callocEmmPKciS1_pov() + store ptr %call.i84, ptr undef, align 8 + %1 = bitcast ptr %call.i84 to ptr br i1 undef, label %cond.true18.i153, label %cond.false21.i156 cond.true18.i153: @@ -142,4 +142,4 @@ cond.false21.i156: br label %while.cond11 } -declare i8* @ZN3pov10pov_callocEmmPKciS1_pov() +declare ptr @ZN3pov10pov_callocEmmPKciS1_pov() diff --git a/llvm/test/CodeGen/PowerPC/fast-isel-branch.ll b/llvm/test/CodeGen/PowerPC/fast-isel-branch.ll index 98f0883..4fc282b 100644 --- a/llvm/test/CodeGen/PowerPC/fast-isel-branch.ll +++ b/llvm/test/CodeGen/PowerPC/fast-isel-branch.ll @@ -76,24 +76,24 @@ define signext i32 @bar() #0 { entry: %retval = alloca i32, align 4 %i = alloca i32, align 4 - store i32 0, i32* %retval, align 4 - store i32 0, i32* %i, align 4 + store i32 0, ptr %retval, align 4 + store i32 0, ptr %i, align 4 br label %for.cond for.cond: - %0 = load i32, i32* %i, align 4 - %1 = load i32, i32* @x, align 4 + %0 = load i32, ptr %i, align 4 + %1 = load i32, ptr @x, align 4 %cmp = icmp slt i32 %0, %1 br i1 %cmp, label %for.body, label %for.end for.body: - call void bitcast (void (...)* @foo to void ()*)() + call void @foo() br label %for.inc for.inc: - %2 = load i32, i32* %i, align 4 + %2 = load i32, ptr %i, align 4 %inc = add nsw i32 %2, 1 - store i32 %inc, i32* %i, align 4 + store i32 %inc, ptr %i, align 4 br label %for.cond for.end: diff --git a/llvm/test/CodeGen/PowerPC/lsr-insns-cost.ll b/llvm/test/CodeGen/PowerPC/lsr-insns-cost.ll index 29d51e4..bc6e6e5 100644 --- a/llvm/test/CodeGen/PowerPC/lsr-insns-cost.ll +++ b/llvm/test/CodeGen/PowerPC/lsr-insns-cost.ll @@ -11,7 +11,7 @@ ; ; compile with -fno-unroll-loops -define void @lsr-insts-cost(i32* %0, i32* %1, i32* %2) { +define void @lsr-insts-cost(ptr %0, ptr %1, ptr %2) { ; INST-LABEL: lsr-insts-cost ; INST: .LBB0_4: # =>This Inner Loop Header: Depth=1 ; INST-NEXT: lxvd2x vs34, r3, r6 @@ -31,30 +31,30 @@ define void @lsr-insts-cost(i32* %0, i32* %1, i32* %2) { ; REG-NEXT: stxvd2x vs34, 0, r5 ; REG-NEXT: addi r5, r5, 16 ; REG-NEXT: bdnz .LBB0_4 - %4 = getelementptr i32, i32* %2, i64 1024 - %5 = getelementptr i32, i32* %0, i64 1024 - %6 = getelementptr i32, i32* %1, i64 1024 - %7 = icmp ugt i32* %5, %2 - %8 = icmp ugt i32* %4, %0 + %4 = getelementptr i32, ptr %2, i64 1024 + %5 = getelementptr i32, ptr %0, i64 1024 + %6 = getelementptr i32, ptr %1, i64 1024 + %7 = icmp ugt ptr %5, %2 + %8 = icmp ugt ptr %4, %0 %9 = and i1 %7, %8 - %10 = icmp ugt i32* %6, %2 - %11 = icmp ugt i32* %4, %1 + %10 = icmp ugt ptr %6, %2 + %11 = icmp ugt ptr %4, %1 %12 = and i1 %10, %11 %13 = or i1 %9, %12 br i1 %13, label %28, label %14 14: ; preds = %3, %14 %15 = phi i64 [ %25, %14 ], [ 0, %3 ] - %16 = getelementptr inbounds i32, i32* %0, i64 %15 - %17 = bitcast i32* %16 to <4 x i32>* - %18 = load <4 x i32>, <4 x i32>* %17, align 4 - %19 = getelementptr inbounds i32, i32* %1, i64 %15 - %20 = bitcast i32* %19 to <4 x i32>* - %21 = load <4 x i32>, <4 x i32>* %20, align 4 + %16 = getelementptr inbounds i32, ptr %0, i64 %15 + %17 = bitcast ptr %16 to ptr + %18 = load <4 x i32>, ptr %17, align 4 + %19 = getelementptr inbounds i32, ptr %1, i64 %15 + %20 = bitcast ptr %19 to ptr + %21 = load <4 x i32>, ptr %20, align 4 %22 = add <4 x i32> %21, %18 - %23 = getelementptr inbounds i32, i32* %2, i64 %15 - %24 = bitcast i32* %23 to <4 x i32>* - store <4 x i32> %22, <4 x i32>* %24, align 4 + %23 = getelementptr inbounds i32, ptr %2, i64 %15 + %24 = bitcast ptr %23 to ptr + store <4 x i32> %22, ptr %24, align 4 %25 = add i64 %15, 4 %26 = icmp eq i64 %25, 1024 br i1 %26, label %27, label %14 @@ -64,13 +64,13 @@ define void @lsr-insts-cost(i32* %0, i32* %1, i32* %2) { 28: ; preds = %3, %28 %29 = phi i64 [ %36, %28 ], [ 0, %3 ] - %30 = getelementptr inbounds i32, i32* %0, i64 %29 - %31 = load i32, i32* %30, align 4 - %32 = getelementptr inbounds i32, i32* %1, i64 %29 - %33 = load i32, i32* %32, align 4 + %30 = getelementptr inbounds i32, ptr %0, i64 %29 + %31 = load i32, ptr %30, align 4 + %32 = getelementptr inbounds i32, ptr %1, i64 %29 + %33 = load i32, ptr %32, align 4 %34 = add i32 %33, %31 - %35 = getelementptr inbounds i32, i32* %2, i64 %29 - store i32 %34, i32* %35, align 4 + %35 = getelementptr inbounds i32, ptr %2, i64 %29 + store i32 %34, ptr %35, align 4 %36 = add nuw nsw i64 %29, 1 %37 = icmp eq i64 %36, 1024 br i1 %37, label %27, label %28 diff --git a/llvm/test/CodeGen/PowerPC/ppc-TOC-stats.ll b/llvm/test/CodeGen/PowerPC/ppc-TOC-stats.ll index 1337c8e..e389b2d 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-TOC-stats.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-TOC-stats.ll @@ -233,12 +233,12 @@ return: ; preds = %if.else3, %if.else, } -define i8* @testBlockAddr() { +define ptr @testBlockAddr() { entry: br label %here here: - ret i8* blockaddress(@testBlockAddr, %here) + ret ptr blockaddress(@testBlockAddr, %here) } define noundef signext i32 @_Z5getG4v() local_unnamed_addr { diff --git a/llvm/test/CodeGen/PowerPC/ppc32-selectcc-i64.ll b/llvm/test/CodeGen/PowerPC/ppc32-selectcc-i64.ll index 8019443..3baac2c 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-selectcc-i64.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-selectcc-i64.ll @@ -2,7 +2,7 @@ ; RUN: llc -verify-machineinstrs -mtriple=powerpc -mcpu=pwr7 < %s | FileCheck %s ; This piece of IR is expanded from memcmp. -define i1 @cmp(i8* %a, i8* %b) { +define i1 @cmp(ptr %a, ptr %b) { ; CHECK-LABEL: cmp: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz 5, 4(3) @@ -39,18 +39,18 @@ res_block: br label %endblock loadbb: - %2 = bitcast i8* %a to i64* - %3 = bitcast i8* %b to i64* - %4 = load i64, i64* %2, align 1 - %5 = load i64, i64* %3, align 1 + %2 = bitcast ptr %a to ptr + %3 = bitcast ptr %b to ptr + %4 = load i64, ptr %2, align 1 + %5 = load i64, ptr %3, align 1 %6 = icmp eq i64 %4, %5 br i1 %6, label %loadbb1, label %res_block loadbb1: - %7 = getelementptr i8, i8* %a, i64 8 - %8 = getelementptr i8, i8* %b, i64 8 - %9 = load i8, i8* %7, align 1 - %10 = load i8, i8* %8, align 1 + %7 = getelementptr i8, ptr %a, i64 8 + %8 = getelementptr i8, ptr %b, i64 8 + %9 = load i8, ptr %7, align 1 + %10 = load i8, ptr %8, align 1 %11 = zext i8 %9 to i32 %12 = zext i8 %10 to i32 %13 = sub i32 %11, %12 diff --git a/llvm/test/CodeGen/PowerPC/preincprep-i64-check.ll b/llvm/test/CodeGen/PowerPC/preincprep-i64-check.ll index 64166a0..2b2bd8b 100644 --- a/llvm/test/CodeGen/PowerPC/preincprep-i64-check.ll +++ b/llvm/test/CodeGen/PowerPC/preincprep-i64-check.ll @@ -8,24 +8,24 @@ @result = local_unnamed_addr global i64 0, align 8 -define i64 @test_preinc_i64_ld(i8* nocapture readonly, i64) local_unnamed_addr { +define i64 @test_preinc_i64_ld(ptr nocapture readonly, i64) local_unnamed_addr { %3 = icmp eq i64 %1, 0 br i1 %3, label %4, label %6 ; <label>:4: ; preds = %2 - %5 = load i64, i64* @result, align 8 + %5 = load i64, ptr @result, align 8 br label %13 ; <label>:6: ; preds = %2 - %7 = getelementptr inbounds i8, i8* %0, i64 -50000 - %8 = getelementptr inbounds i8, i8* %0, i64 -61024 - %9 = getelementptr inbounds i8, i8* %0, i64 -62048 - %10 = getelementptr inbounds i8, i8* %0, i64 -64096 - %11 = load i64, i64* @result, align 8 + %7 = getelementptr inbounds i8, ptr %0, i64 -50000 + %8 = getelementptr inbounds i8, ptr %0, i64 -61024 + %9 = getelementptr inbounds i8, ptr %0, i64 -62048 + %10 = getelementptr inbounds i8, ptr %0, i64 -64096 + %11 = load i64, ptr @result, align 8 br label %15 ; <label>:12: ; preds = %15 - store i64 %33, i64* @result, align 8 + store i64 %33, ptr @result, align 8 br label %13 ; <label>:13: ; preds = %12, %4 @@ -35,18 +35,18 @@ define i64 @test_preinc_i64_ld(i8* nocapture readonly, i64) local_unnamed_addr { ; <label>:15: ; preds = %15, %6 %16 = phi i64 [ %11, %6 ], [ %33, %15 ] %17 = phi i64 [ 0, %6 ], [ %34, %15 ] - %18 = getelementptr inbounds i8, i8* %7, i64 %17 - %19 = bitcast i8* %18 to i64* - %20 = load i64, i64* %19, align 8 - %21 = getelementptr inbounds i8, i8* %8, i64 %17 - %22 = bitcast i8* %21 to i64* - %23 = load i64, i64* %22, align 8 - %24 = getelementptr inbounds i8, i8* %9, i64 %17 - %25 = bitcast i8* %24 to i64* - %26 = load i64, i64* %25, align 8 - %27 = getelementptr inbounds i8, i8* %10, i64 %17 - %28 = bitcast i8* %27 to i64* - %29 = load i64, i64* %28, align 8 + %18 = getelementptr inbounds i8, ptr %7, i64 %17 + %19 = bitcast ptr %18 to ptr + %20 = load i64, ptr %19, align 8 + %21 = getelementptr inbounds i8, ptr %8, i64 %17 + %22 = bitcast ptr %21 to ptr + %23 = load i64, ptr %22, align 8 + %24 = getelementptr inbounds i8, ptr %9, i64 %17 + %25 = bitcast ptr %24 to ptr + %26 = load i64, ptr %25, align 8 + %27 = getelementptr inbounds i8, ptr %10, i64 %17 + %28 = bitcast ptr %27 to ptr + %29 = load i64, ptr %28, align 8 %30 = mul i64 %23, %20 %31 = mul i64 %30, %26 %32 = mul i64 %31, %29 @@ -66,26 +66,26 @@ define i64 @test_preinc_i64_ld(i8* nocapture readonly, i64) local_unnamed_addr { ; CHECK-DAG: ld {{[0-9]+}}, 0([[REG1]]) ; CHECK: blr -define i64 @test_preinc_i64_ldst(i8* nocapture, i64, i64) local_unnamed_addr { +define i64 @test_preinc_i64_ldst(ptr nocapture, i64, i64) local_unnamed_addr { %4 = icmp eq i64 %1, 0 br i1 %4, label %5, label %7 ; <label>:5: ; preds = %3 - %6 = load i64, i64* @result, align 8 + %6 = load i64, ptr @result, align 8 br label %16 ; <label>:7: ; preds = %3 %8 = add i64 %2, 1 - %9 = getelementptr inbounds i8, i8* %0, i64 -1024 + %9 = getelementptr inbounds i8, ptr %0, i64 -1024 %10 = add i64 %2, 2 - %11 = getelementptr inbounds i8, i8* %0, i64 -2048 - %12 = getelementptr inbounds i8, i8* %0, i64 -3072 - %13 = getelementptr inbounds i8, i8* %0, i64 -4096 - %14 = load i64, i64* @result, align 8 + %11 = getelementptr inbounds i8, ptr %0, i64 -2048 + %12 = getelementptr inbounds i8, ptr %0, i64 -3072 + %13 = getelementptr inbounds i8, ptr %0, i64 -4096 + %14 = load i64, ptr @result, align 8 br label %18 ; <label>:15: ; preds = %18 - store i64 %32, i64* @result, align 8 + store i64 %32, ptr @result, align 8 br label %16 ; <label>:16: ; preds = %15, %5 @@ -95,18 +95,18 @@ define i64 @test_preinc_i64_ldst(i8* nocapture, i64, i64) local_unnamed_addr { ; <label>:18: ; preds = %18, %7 %19 = phi i64 [ %14, %7 ], [ %32, %18 ] %20 = phi i64 [ 0, %7 ], [ %33, %18 ] - %21 = getelementptr inbounds i8, i8* %9, i64 %20 - %22 = bitcast i8* %21 to i64* - store i64 %8, i64* %22, align 8 - %23 = getelementptr inbounds i8, i8* %11, i64 %20 - %24 = bitcast i8* %23 to i64* - store i64 %10, i64* %24, align 8 - %25 = getelementptr inbounds i8, i8* %12, i64 %20 - %26 = bitcast i8* %25 to i64* - %27 = load i64, i64* %26, align 8 - %28 = getelementptr inbounds i8, i8* %13, i64 %20 - %29 = bitcast i8* %28 to i64* - %30 = load i64, i64* %29, align 8 + %21 = getelementptr inbounds i8, ptr %9, i64 %20 + %22 = bitcast ptr %21 to ptr + store i64 %8, ptr %22, align 8 + %23 = getelementptr inbounds i8, ptr %11, i64 %20 + %24 = bitcast ptr %23 to ptr + store i64 %10, ptr %24, align 8 + %25 = getelementptr inbounds i8, ptr %12, i64 %20 + %26 = bitcast ptr %25 to ptr + %27 = load i64, ptr %26, align 8 + %28 = getelementptr inbounds i8, ptr %13, i64 %20 + %29 = bitcast ptr %28 to ptr + %30 = load i64, ptr %29, align 8 %31 = mul i64 %30, %27 %32 = mul i64 %31, %19 %33 = add nuw i64 %20, 1 diff --git a/llvm/test/CodeGen/PowerPC/preincprep-nontrans-crash.ll b/llvm/test/CodeGen/PowerPC/preincprep-nontrans-crash.ll index 8feb62b..f802a88 100644 --- a/llvm/test/CodeGen/PowerPC/preincprep-nontrans-crash.ll +++ b/llvm/test/CodeGen/PowerPC/preincprep-nontrans-crash.ll @@ -15,7 +15,7 @@ define void @ety2_() #0 { ; CHECK-LABEL: @ety2_ L.entry: - %0 = load i32, i32* undef, align 4 + %0 = load i32, ptr undef, align 4 %1 = sext i32 %0 to i64 %2 = shl nsw i64 %1, 3 %3 = add nsw i64 %2, 8 @@ -50,11 +50,11 @@ L.LB1_769: ; preds = %L.LB1_432 %9 = mul i64 %8, %1 %10 = add i64 %9, %7 %11 = shl i64 %10, 3 - %12 = getelementptr i8, i8* undef, i64 %11 + %12 = getelementptr i8, ptr undef, i64 %11 %13 = mul nsw i64 %6, %1 %14 = add i64 %7, %13 %15 = shl i64 %14, 3 - %16 = getelementptr i8, i8* undef, i64 %15 + %16 = getelementptr i8, ptr undef, i64 %15 br i1 undef, label %L.LB1_662, label %L.LB1_662.prol L.LB1_662.prol: ; preds = %L.LB1_662.prol, %L.LB1_769 @@ -65,24 +65,24 @@ L.LB1_662: ; preds = %L.LB1_437.2, %L.LB1 %indvars.iv19 = phi i64 [ %indvars.iv.next20.3, %L.LB1_437.2 ], [ 0, %L.LB1_769 ], [ %indvars.iv.next20.prol, %L.LB1_662.prol ] %indvars.iv.next20 = add nuw nsw i64 %indvars.iv19, 1 %17 = mul i64 %indvars.iv.next20, %3 - %18 = getelementptr i8, i8* %16, i64 %17 - %19 = bitcast i8* %18 to double* - store double 0.000000e+00, double* %19, align 8 + %18 = getelementptr i8, ptr %16, i64 %17 + %19 = bitcast ptr %18 to ptr + store double 0.000000e+00, ptr %19, align 8 %indvars.iv.next20.1 = add nsw i64 %indvars.iv19, 2 %20 = mul i64 %indvars.iv.next20.1, %3 br i1 undef, label %L.LB1_437.2, label %L.LB1_824.2 L.LB1_427: ; preds = %L.LB1_425 - %21 = load i64, i64* bitcast (i8* getelementptr inbounds (%struct.BSS1.0.9.28.39.43.46.47.54.56.57.64.65.69.71.144, %struct.BSS1.0.9.28.39.43.46.47.54.56.57.64.65.69.71.144* @.BSS1, i64 0, i32 0, i64 8) to i64*), align 8 + %21 = load i64, ptr getelementptr inbounds (%struct.BSS1.0.9.28.39.43.46.47.54.56.57.64.65.69.71.144, ptr @.BSS1, i64 0, i32 0, i64 8), align 8 br label %L.LB1_425 L.LB1_805: ; preds = %L.LB1_816 ret void L.LB1_824.2: ; preds = %L.LB1_662 - %22 = getelementptr i8, i8* %12, i64 %20 - %23 = bitcast i8* %22 to double* - store double 0.000000e+00, double* %23, align 8 + %22 = getelementptr i8, ptr %12, i64 %20 + %23 = bitcast ptr %22 to ptr + store double 0.000000e+00, ptr %23, align 8 br label %L.LB1_437.2 L.LB1_437.2: ; preds = %L.LB1_824.2, %L.LB1_662 diff --git a/llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir b/llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir index a726027..fe50d05 100644 --- a/llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir +++ b/llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir @@ -9,7 +9,7 @@ target triple = "powerpc64le-unknown-linux-gnu" ; Function Attrs: nofree norecurse nounwind - define dso_local signext i32 @foo(i32 signext %0, i32 signext %1, i32* nocapture readonly %2, i32* nocapture %3, i32 signext %4) local_unnamed_addr #0 { + define dso_local signext i32 @foo(i32 signext %0, i32 signext %1, ptr nocapture readonly %2, ptr nocapture %3, i32 signext %4) local_unnamed_addr #0 { %6 = icmp sgt i32 %4, 0 br i1 %6, label %7, label %37 @@ -20,10 +20,10 @@ 10: ; preds = %7 %11 = and i64 %8, 4294967294 - %scevgep20 = getelementptr i32, i32* %2, i64 -2 - %scevgep2021 = bitcast i32* %scevgep20 to i8* - %scevgep22 = getelementptr i32, i32* %3, i64 -2 - %scevgep2223 = bitcast i32* %scevgep22 to i8* + %scevgep20 = getelementptr i32, ptr %2, i64 -2 + %scevgep2021 = bitcast ptr %scevgep20 to ptr + %scevgep22 = getelementptr i32, ptr %3, i64 -2 + %scevgep2223 = bitcast ptr %scevgep22 to ptr %12 = add nsw i64 %11, -2 %13 = lshr i64 %12, 1 %14 = add nuw i64 %13, 1 @@ -43,8 +43,8 @@ br i1 %22, label %37, label %23 23: ; preds = %17 - %24 = getelementptr inbounds i32, i32* %2, i64 %18 - %25 = load i32, i32* %24, align 4, !tbaa !2 + %24 = getelementptr inbounds i32, ptr %2, i64 %18 + %25 = load i32, ptr %24, align 4, !tbaa !2 %26 = add nsw i32 %25, %20 switch i32 %0, label %30 [ i32 1, label %27 @@ -64,8 +64,8 @@ 33: ; preds = %30, %27, %23 %34 = phi i32 [ %32, %30 ], [ %29, %27 ], [ %19, %23 ] %35 = add nsw i32 %34, %26 - %36 = getelementptr inbounds i32, i32* %3, i64 %18 - store i32 %35, i32* %36, align 4, !tbaa !2 + %36 = getelementptr inbounds i32, ptr %3, i64 %18 + store i32 %35, ptr %36, align 4, !tbaa !2 br label %37 37: ; preds = %33, %17, %5 @@ -74,18 +74,18 @@ 38: ; preds = %74, %10 %39 = phi i64 [ 0, %10 ], [ %78, %74 ] %40 = phi i32 [ 0, %10 ], [ %66, %74 ] - %41 = phi i8* [ %scevgep2021, %10 ], [ %45, %74 ] - %42 = phi i8* [ %scevgep2223, %10 ], [ %43, %74 ] - %43 = getelementptr i8, i8* %42, i64 8 - %44 = bitcast i8* %43 to i32* - %45 = getelementptr i8, i8* %41, i64 8 - %46 = bitcast i8* %45 to i32* + %41 = phi ptr [ %scevgep2021, %10 ], [ %45, %74 ] + %42 = phi ptr [ %scevgep2223, %10 ], [ %43, %74 ] + %43 = getelementptr i8, ptr %42, i64 8 + %44 = bitcast ptr %43 to ptr + %45 = getelementptr i8, ptr %41, i64 8 + %46 = bitcast ptr %45 to ptr %lsr19 = trunc i64 %39 to i32 %47 = udiv i32 %lsr19, 30 %48 = mul nsw i32 %47, -30 %49 = zext i32 %48 to i64 %50 = add nuw nsw i64 %49, 1 - %51 = load i32, i32* %46, align 4, !tbaa !2 + %51 = load i32, ptr %46, align 4, !tbaa !2 %52 = add nsw i32 %51, %40 switch i32 %0, label %58 [ i32 1, label %53 @@ -109,11 +109,11 @@ 60: ; preds = %58, %56, %53 %61 = phi i32 [ %tmp15, %58 ], [ %57, %56 ], [ %55, %53 ] %62 = add nsw i32 %61, %52 - store i32 %62, i32* %44, align 4, !tbaa !2 + store i32 %62, ptr %44, align 4, !tbaa !2 %63 = or i64 %39, 1 - %64 = getelementptr i8, i8* %45, i64 4 - %uglygep1112.cast = bitcast i8* %64 to i32* - %65 = load i32, i32* %uglygep1112.cast, align 4, !tbaa !2 + %64 = getelementptr i8, ptr %45, i64 4 + %uglygep1112.cast = bitcast ptr %64 to ptr + %65 = load i32, ptr %uglygep1112.cast, align 4, !tbaa !2 %66 = add nsw i32 %65, %52 switch i32 %0, label %72 [ i32 1, label %69 @@ -137,9 +137,9 @@ 74: ; preds = %72, %69, %67 %75 = phi i32 [ %tmp, %72 ], [ %68, %67 ], [ %71, %69 ] %76 = add nsw i32 %75, %66 - %77 = getelementptr i8, i8* %43, i64 4 - %uglygep78.cast = bitcast i8* %77 to i32* - store i32 %76, i32* %uglygep78.cast, align 4, !tbaa !2 + %77 = getelementptr i8, ptr %43, i64 4 + %uglygep78.cast = bitcast ptr %77 to ptr + store i32 %76, ptr %uglygep78.cast, align 4, !tbaa !2 %78 = add nuw nsw i64 %39, 2 %79 = add i64 %78, -2 %tmp18 = trunc i64 %79 to i32 diff --git a/llvm/test/CodeGen/PowerPC/sink-down-more-instructions-regpressure-high.mir b/llvm/test/CodeGen/PowerPC/sink-down-more-instructions-regpressure-high.mir index f1a3f58..4069fec 100644 --- a/llvm/test/CodeGen/PowerPC/sink-down-more-instructions-regpressure-high.mir +++ b/llvm/test/CodeGen/PowerPC/sink-down-more-instructions-regpressure-high.mir @@ -12,18 +12,18 @@ ; register pressure in destination block. ; Function Attrs: nofree norecurse nounwind - define dso_local signext i32 @foo(i32 signext %0, i32 signext %1, i32* nocapture readonly %2, i32* nocapture %3, i32 signext %4, i32* nocapture readonly %5, i32* nocapture readonly %6, i32* nocapture readonly %7, i32* nocapture readonly %8, i32* nocapture readonly %9, i32* nocapture readonly %10, i32* nocapture readonly %11, i32* nocapture readonly %12, i32* nocapture readonly %13, i32* nocapture readonly %14, i32* nocapture readonly %15, i32* nocapture readonly %16, i32* nocapture readonly %17, i32* nocapture readonly %18, i32* nocapture readonly %19, i32* nocapture readonly %20, i32* nocapture readonly %21, i32* nocapture readonly %22, i32* nocapture readonly %23, i32* nocapture readonly %24, i32* nocapture readonly %25, i32* nocapture readonly %26, i32* nocapture readonly %27, i32* nocapture readonly %28, i32* nocapture readonly %29, i32* nocapture readonly %30, i32* nocapture readonly %31, i32* nocapture readonly %32, i32* nocapture readonly %33, i32* nocapture readonly %34, i32* nocapture readonly %35, i32* nocapture readonly %36) local_unnamed_addr #0 { + define dso_local signext i32 @foo(i32 signext %0, i32 signext %1, ptr nocapture readonly %2, ptr nocapture %3, i32 signext %4, ptr nocapture readonly %5, ptr nocapture readonly %6, ptr nocapture readonly %7, ptr nocapture readonly %8, ptr nocapture readonly %9, ptr nocapture readonly %10, ptr nocapture readonly %11, ptr nocapture readonly %12, ptr nocapture readonly %13, ptr nocapture readonly %14, ptr nocapture readonly %15, ptr nocapture readonly %16, ptr nocapture readonly %17, ptr nocapture readonly %18, ptr nocapture readonly %19, ptr nocapture readonly %20, ptr nocapture readonly %21, ptr nocapture readonly %22, ptr nocapture readonly %23, ptr nocapture readonly %24, ptr nocapture readonly %25, ptr nocapture readonly %26, ptr nocapture readonly %27, ptr nocapture readonly %28, ptr nocapture readonly %29, ptr nocapture readonly %30, ptr nocapture readonly %31, ptr nocapture readonly %32, ptr nocapture readonly %33, ptr nocapture readonly %34, ptr nocapture readonly %35, ptr nocapture readonly %36) local_unnamed_addr #0 { %38 = icmp sgt i32 %4, 0 br i1 %38, label %39, label %41 39: ; preds = %37 %40 = zext i32 %4 to i64 - %scevgep = getelementptr i32, i32* %2, i64 -1 - %scevgep69 = bitcast i32* %scevgep to i8* - %scevgep70 = getelementptr i32, i32* %5, i64 -1 - %scevgep7071 = bitcast i32* %scevgep70 to i8* - %scevgep72 = getelementptr i32, i32* %6, i64 -1 - %scevgep7273 = bitcast i32* %scevgep72 to i8* + %scevgep = getelementptr i32, ptr %2, i64 -1 + %scevgep69 = bitcast ptr %scevgep to ptr + %scevgep70 = getelementptr i32, ptr %5, i64 -1 + %scevgep7071 = bitcast ptr %scevgep70 to ptr + %scevgep72 = getelementptr i32, ptr %6, i64 -1 + %scevgep7273 = bitcast ptr %scevgep72 to ptr call void @llvm.set.loop.iterations.i64(i64 %40) br label %42 @@ -34,20 +34,20 @@ %lsr.iv = phi i64 [ %lsr.iv.next, %65 ], [ 0, %39 ] %43 = phi i64 [ 0, %39 ], [ %163, %65 ] %44 = phi i32 [ 0, %39 ], [ %58, %65 ] - %45 = phi i8* [ %scevgep69, %39 ], [ %52, %65 ] - %46 = phi i8* [ %scevgep7071, %39 ], [ %50, %65 ] - %47 = phi i8* [ %scevgep7273, %39 ], [ %48, %65 ] - %48 = getelementptr i8, i8* %47, i64 4 - %49 = bitcast i8* %48 to i32* - %50 = getelementptr i8, i8* %46, i64 4 - %51 = bitcast i8* %50 to i32* - %52 = getelementptr i8, i8* %45, i64 4 - %53 = bitcast i8* %52 to i32* + %45 = phi ptr [ %scevgep69, %39 ], [ %52, %65 ] + %46 = phi ptr [ %scevgep7071, %39 ], [ %50, %65 ] + %47 = phi ptr [ %scevgep7273, %39 ], [ %48, %65 ] + %48 = getelementptr i8, ptr %47, i64 4 + %49 = bitcast ptr %48 to ptr + %50 = getelementptr i8, ptr %46, i64 4 + %51 = bitcast ptr %50 to ptr + %52 = getelementptr i8, ptr %45, i64 4 + %53 = bitcast ptr %52 to ptr %lsr68 = trunc i64 %43 to i32 %54 = udiv i32 %lsr68, 30 %55 = mul nuw nsw i32 %54, 30 %56 = sub i32 %lsr68, %55 - %57 = load i32, i32* %53, align 4, !tbaa !2 + %57 = load i32, ptr %53, align 4, !tbaa !2 %58 = add nsw i32 %57, %44 switch i32 %0, label %64 [ i32 1, label %59 @@ -68,165 +68,165 @@ 65: ; preds = %64, %62, %59 %66 = phi i32 [ %56, %64 ], [ %63, %62 ], [ %61, %59 ] - %67 = bitcast i32* %7 to i8* - %68 = bitcast i32* %8 to i8* - %69 = bitcast i32* %9 to i8* - %70 = bitcast i32* %10 to i8* - %71 = bitcast i32* %11 to i8* - %72 = bitcast i32* %12 to i8* - %73 = bitcast i32* %13 to i8* - %74 = bitcast i32* %14 to i8* - %75 = bitcast i32* %15 to i8* - %76 = bitcast i32* %16 to i8* - %77 = bitcast i32* %17 to i8* - %78 = bitcast i32* %18 to i8* - %79 = bitcast i32* %19 to i8* - %80 = bitcast i32* %20 to i8* - %81 = bitcast i32* %21 to i8* - %82 = bitcast i32* %22 to i8* - %83 = bitcast i32* %23 to i8* - %84 = bitcast i32* %24 to i8* - %85 = bitcast i32* %25 to i8* - %86 = bitcast i32* %26 to i8* - %87 = bitcast i32* %27 to i8* - %88 = bitcast i32* %28 to i8* - %89 = bitcast i32* %29 to i8* - %90 = bitcast i32* %30 to i8* - %91 = bitcast i32* %31 to i8* - %92 = bitcast i32* %32 to i8* - %93 = bitcast i32* %33 to i8* - %94 = bitcast i32* %34 to i8* - %95 = bitcast i32* %35 to i8* - %96 = bitcast i32* %36 to i8* - %97 = bitcast i32* %3 to i8* + %67 = bitcast ptr %7 to ptr + %68 = bitcast ptr %8 to ptr + %69 = bitcast ptr %9 to ptr + %70 = bitcast ptr %10 to ptr + %71 = bitcast ptr %11 to ptr + %72 = bitcast ptr %12 to ptr + %73 = bitcast ptr %13 to ptr + %74 = bitcast ptr %14 to ptr + %75 = bitcast ptr %15 to ptr + %76 = bitcast ptr %16 to ptr + %77 = bitcast ptr %17 to ptr + %78 = bitcast ptr %18 to ptr + %79 = bitcast ptr %19 to ptr + %80 = bitcast ptr %20 to ptr + %81 = bitcast ptr %21 to ptr + %82 = bitcast ptr %22 to ptr + %83 = bitcast ptr %23 to ptr + %84 = bitcast ptr %24 to ptr + %85 = bitcast ptr %25 to ptr + %86 = bitcast ptr %26 to ptr + %87 = bitcast ptr %27 to ptr + %88 = bitcast ptr %28 to ptr + %89 = bitcast ptr %29 to ptr + %90 = bitcast ptr %30 to ptr + %91 = bitcast ptr %31 to ptr + %92 = bitcast ptr %32 to ptr + %93 = bitcast ptr %33 to ptr + %94 = bitcast ptr %34 to ptr + %95 = bitcast ptr %35 to ptr + %96 = bitcast ptr %36 to ptr + %97 = bitcast ptr %3 to ptr %98 = add nsw i32 %66, %58 - %99 = load i32, i32* %51, align 4, !tbaa !2 + %99 = load i32, ptr %51, align 4, !tbaa !2 %100 = add nsw i32 %98, %99 - %101 = load i32, i32* %49, align 4, !tbaa !2 + %101 = load i32, ptr %49, align 4, !tbaa !2 %102 = add nsw i32 %100, %101 - %uglygep60 = getelementptr i8, i8* %67, i64 %lsr.iv - %uglygep6061 = bitcast i8* %uglygep60 to i32* - %103 = load i32, i32* %uglygep6061, align 4, !tbaa !2 + %uglygep60 = getelementptr i8, ptr %67, i64 %lsr.iv + %uglygep6061 = bitcast ptr %uglygep60 to ptr + %103 = load i32, ptr %uglygep6061, align 4, !tbaa !2 %104 = add nsw i32 %102, %103 - %uglygep58 = getelementptr i8, i8* %68, i64 %lsr.iv - %uglygep5859 = bitcast i8* %uglygep58 to i32* - %105 = load i32, i32* %uglygep5859, align 4, !tbaa !2 + %uglygep58 = getelementptr i8, ptr %68, i64 %lsr.iv + %uglygep5859 = bitcast ptr %uglygep58 to ptr + %105 = load i32, ptr %uglygep5859, align 4, !tbaa !2 %106 = add nsw i32 %104, %105 - %uglygep56 = getelementptr i8, i8* %69, i64 %lsr.iv - %uglygep5657 = bitcast i8* %uglygep56 to i32* - %107 = load i32, i32* %uglygep5657, align 4, !tbaa !2 + %uglygep56 = getelementptr i8, ptr %69, i64 %lsr.iv + %uglygep5657 = bitcast ptr %uglygep56 to ptr + %107 = load i32, ptr %uglygep5657, align 4, !tbaa !2 %108 = add nsw i32 %106, %107 - %uglygep54 = getelementptr i8, i8* %70, i64 %lsr.iv - %uglygep5455 = bitcast i8* %uglygep54 to i32* - %109 = load i32, i32* %uglygep5455, align 4, !tbaa !2 + %uglygep54 = getelementptr i8, ptr %70, i64 %lsr.iv + %uglygep5455 = bitcast ptr %uglygep54 to ptr + %109 = load i32, ptr %uglygep5455, align 4, !tbaa !2 %110 = add nsw i32 %108, %109 - %uglygep52 = getelementptr i8, i8* %71, i64 %lsr.iv - %uglygep5253 = bitcast i8* %uglygep52 to i32* - %111 = load i32, i32* %uglygep5253, align 4, !tbaa !2 + %uglygep52 = getelementptr i8, ptr %71, i64 %lsr.iv + %uglygep5253 = bitcast ptr %uglygep52 to ptr + %111 = load i32, ptr %uglygep5253, align 4, !tbaa !2 %112 = add nsw i32 %110, %111 - %uglygep50 = getelementptr i8, i8* %72, i64 %lsr.iv - %uglygep5051 = bitcast i8* %uglygep50 to i32* - %113 = load i32, i32* %uglygep5051, align 4, !tbaa !2 + %uglygep50 = getelementptr i8, ptr %72, i64 %lsr.iv + %uglygep5051 = bitcast ptr %uglygep50 to ptr + %113 = load i32, ptr %uglygep5051, align 4, !tbaa !2 %114 = add nsw i32 %112, %113 - %uglygep48 = getelementptr i8, i8* %73, i64 %lsr.iv - %uglygep4849 = bitcast i8* %uglygep48 to i32* - %115 = load i32, i32* %uglygep4849, align 4, !tbaa !2 + %uglygep48 = getelementptr i8, ptr %73, i64 %lsr.iv + %uglygep4849 = bitcast ptr %uglygep48 to ptr + %115 = load i32, ptr %uglygep4849, align 4, !tbaa !2 %116 = add nsw i32 %114, %115 - %uglygep46 = getelementptr i8, i8* %74, i64 %lsr.iv - %uglygep4647 = bitcast i8* %uglygep46 to i32* - %117 = load i32, i32* %uglygep4647, align 4, !tbaa !2 + %uglygep46 = getelementptr i8, ptr %74, i64 %lsr.iv + %uglygep4647 = bitcast ptr %uglygep46 to ptr + %117 = load i32, ptr %uglygep4647, align 4, !tbaa !2 %118 = add nsw i32 %116, %117 - %uglygep44 = getelementptr i8, i8* %75, i64 %lsr.iv - %uglygep4445 = bitcast i8* %uglygep44 to i32* - %119 = load i32, i32* %uglygep4445, align 4, !tbaa !2 + %uglygep44 = getelementptr i8, ptr %75, i64 %lsr.iv + %uglygep4445 = bitcast ptr %uglygep44 to ptr + %119 = load i32, ptr %uglygep4445, align 4, !tbaa !2 %120 = add nsw i32 %118, %119 - %uglygep42 = getelementptr i8, i8* %76, i64 %lsr.iv - %uglygep4243 = bitcast i8* %uglygep42 to i32* - %121 = load i32, i32* %uglygep4243, align 4, !tbaa !2 + %uglygep42 = getelementptr i8, ptr %76, i64 %lsr.iv + %uglygep4243 = bitcast ptr %uglygep42 to ptr + %121 = load i32, ptr %uglygep4243, align 4, !tbaa !2 %122 = add nsw i32 %120, %121 - %uglygep40 = getelementptr i8, i8* %77, i64 %lsr.iv - %uglygep4041 = bitcast i8* %uglygep40 to i32* - %123 = load i32, i32* %uglygep4041, align 4, !tbaa !2 + %uglygep40 = getelementptr i8, ptr %77, i64 %lsr.iv + %uglygep4041 = bitcast ptr %uglygep40 to ptr + %123 = load i32, ptr %uglygep4041, align 4, !tbaa !2 %124 = add nsw i32 %122, %123 - %uglygep38 = getelementptr i8, i8* %78, i64 %lsr.iv - %uglygep3839 = bitcast i8* %uglygep38 to i32* - %125 = load i32, i32* %uglygep3839, align 4, !tbaa !2 + %uglygep38 = getelementptr i8, ptr %78, i64 %lsr.iv + %uglygep3839 = bitcast ptr %uglygep38 to ptr + %125 = load i32, ptr %uglygep3839, align 4, !tbaa !2 %126 = add nsw i32 %124, %125 - %uglygep36 = getelementptr i8, i8* %79, i64 %lsr.iv - %uglygep3637 = bitcast i8* %uglygep36 to i32* - %127 = load i32, i32* %uglygep3637, align 4, !tbaa !2 + %uglygep36 = getelementptr i8, ptr %79, i64 %lsr.iv + %uglygep3637 = bitcast ptr %uglygep36 to ptr + %127 = load i32, ptr %uglygep3637, align 4, !tbaa !2 %128 = add nsw i32 %126, %127 - %uglygep34 = getelementptr i8, i8* %80, i64 %lsr.iv - %uglygep3435 = bitcast i8* %uglygep34 to i32* - %129 = load i32, i32* %uglygep3435, align 4, !tbaa !2 + %uglygep34 = getelementptr i8, ptr %80, i64 %lsr.iv + %uglygep3435 = bitcast ptr %uglygep34 to ptr + %129 = load i32, ptr %uglygep3435, align 4, !tbaa !2 %130 = add nsw i32 %128, %129 - %uglygep32 = getelementptr i8, i8* %81, i64 %lsr.iv - %uglygep3233 = bitcast i8* %uglygep32 to i32* - %131 = load i32, i32* %uglygep3233, align 4, !tbaa !2 + %uglygep32 = getelementptr i8, ptr %81, i64 %lsr.iv + %uglygep3233 = bitcast ptr %uglygep32 to ptr + %131 = load i32, ptr %uglygep3233, align 4, !tbaa !2 %132 = add nsw i32 %130, %131 - %uglygep30 = getelementptr i8, i8* %82, i64 %lsr.iv - %uglygep3031 = bitcast i8* %uglygep30 to i32* - %133 = load i32, i32* %uglygep3031, align 4, !tbaa !2 + %uglygep30 = getelementptr i8, ptr %82, i64 %lsr.iv + %uglygep3031 = bitcast ptr %uglygep30 to ptr + %133 = load i32, ptr %uglygep3031, align 4, !tbaa !2 %134 = add nsw i32 %132, %133 - %uglygep28 = getelementptr i8, i8* %83, i64 %lsr.iv - %uglygep2829 = bitcast i8* %uglygep28 to i32* - %135 = load i32, i32* %uglygep2829, align 4, !tbaa !2 + %uglygep28 = getelementptr i8, ptr %83, i64 %lsr.iv + %uglygep2829 = bitcast ptr %uglygep28 to ptr + %135 = load i32, ptr %uglygep2829, align 4, !tbaa !2 %136 = add nsw i32 %134, %135 - %uglygep26 = getelementptr i8, i8* %84, i64 %lsr.iv - %uglygep2627 = bitcast i8* %uglygep26 to i32* - %137 = load i32, i32* %uglygep2627, align 4, !tbaa !2 + %uglygep26 = getelementptr i8, ptr %84, i64 %lsr.iv + %uglygep2627 = bitcast ptr %uglygep26 to ptr + %137 = load i32, ptr %uglygep2627, align 4, !tbaa !2 %138 = add nsw i32 %136, %137 - %uglygep24 = getelementptr i8, i8* %85, i64 %lsr.iv - %uglygep2425 = bitcast i8* %uglygep24 to i32* - %139 = load i32, i32* %uglygep2425, align 4, !tbaa !2 + %uglygep24 = getelementptr i8, ptr %85, i64 %lsr.iv + %uglygep2425 = bitcast ptr %uglygep24 to ptr + %139 = load i32, ptr %uglygep2425, align 4, !tbaa !2 %140 = add nsw i32 %138, %139 - %uglygep22 = getelementptr i8, i8* %86, i64 %lsr.iv - %uglygep2223 = bitcast i8* %uglygep22 to i32* - %141 = load i32, i32* %uglygep2223, align 4, !tbaa !2 + %uglygep22 = getelementptr i8, ptr %86, i64 %lsr.iv + %uglygep2223 = bitcast ptr %uglygep22 to ptr + %141 = load i32, ptr %uglygep2223, align 4, !tbaa !2 %142 = add nsw i32 %140, %141 - %uglygep20 = getelementptr i8, i8* %87, i64 %lsr.iv - %uglygep2021 = bitcast i8* %uglygep20 to i32* - %143 = load i32, i32* %uglygep2021, align 4, !tbaa !2 + %uglygep20 = getelementptr i8, ptr %87, i64 %lsr.iv + %uglygep2021 = bitcast ptr %uglygep20 to ptr + %143 = load i32, ptr %uglygep2021, align 4, !tbaa !2 %144 = add nsw i32 %142, %143 - %uglygep18 = getelementptr i8, i8* %88, i64 %lsr.iv - %uglygep1819 = bitcast i8* %uglygep18 to i32* - %145 = load i32, i32* %uglygep1819, align 4, !tbaa !2 + %uglygep18 = getelementptr i8, ptr %88, i64 %lsr.iv + %uglygep1819 = bitcast ptr %uglygep18 to ptr + %145 = load i32, ptr %uglygep1819, align 4, !tbaa !2 %146 = add nsw i32 %144, %145 - %uglygep16 = getelementptr i8, i8* %89, i64 %lsr.iv - %uglygep1617 = bitcast i8* %uglygep16 to i32* - %147 = load i32, i32* %uglygep1617, align 4, !tbaa !2 + %uglygep16 = getelementptr i8, ptr %89, i64 %lsr.iv + %uglygep1617 = bitcast ptr %uglygep16 to ptr + %147 = load i32, ptr %uglygep1617, align 4, !tbaa !2 %148 = add nsw i32 %146, %147 - %uglygep14 = getelementptr i8, i8* %90, i64 %lsr.iv - %uglygep1415 = bitcast i8* %uglygep14 to i32* - %149 = load i32, i32* %uglygep1415, align 4, !tbaa !2 + %uglygep14 = getelementptr i8, ptr %90, i64 %lsr.iv + %uglygep1415 = bitcast ptr %uglygep14 to ptr + %149 = load i32, ptr %uglygep1415, align 4, !tbaa !2 %150 = add nsw i32 %148, %149 - %uglygep12 = getelementptr i8, i8* %91, i64 %lsr.iv - %uglygep1213 = bitcast i8* %uglygep12 to i32* - %151 = load i32, i32* %uglygep1213, align 4, !tbaa !2 + %uglygep12 = getelementptr i8, ptr %91, i64 %lsr.iv + %uglygep1213 = bitcast ptr %uglygep12 to ptr + %151 = load i32, ptr %uglygep1213, align 4, !tbaa !2 %152 = add nsw i32 %150, %151 - %uglygep10 = getelementptr i8, i8* %92, i64 %lsr.iv - %uglygep1011 = bitcast i8* %uglygep10 to i32* - %153 = load i32, i32* %uglygep1011, align 4, !tbaa !2 + %uglygep10 = getelementptr i8, ptr %92, i64 %lsr.iv + %uglygep1011 = bitcast ptr %uglygep10 to ptr + %153 = load i32, ptr %uglygep1011, align 4, !tbaa !2 %154 = add nsw i32 %152, %153 - %uglygep8 = getelementptr i8, i8* %93, i64 %lsr.iv - %uglygep89 = bitcast i8* %uglygep8 to i32* - %155 = load i32, i32* %uglygep89, align 4, !tbaa !2 + %uglygep8 = getelementptr i8, ptr %93, i64 %lsr.iv + %uglygep89 = bitcast ptr %uglygep8 to ptr + %155 = load i32, ptr %uglygep89, align 4, !tbaa !2 %156 = add nsw i32 %154, %155 - %uglygep6 = getelementptr i8, i8* %94, i64 %lsr.iv - %uglygep67 = bitcast i8* %uglygep6 to i32* - %157 = load i32, i32* %uglygep67, align 4, !tbaa !2 + %uglygep6 = getelementptr i8, ptr %94, i64 %lsr.iv + %uglygep67 = bitcast ptr %uglygep6 to ptr + %157 = load i32, ptr %uglygep67, align 4, !tbaa !2 %158 = add nsw i32 %156, %157 - %uglygep4 = getelementptr i8, i8* %95, i64 %lsr.iv - %uglygep45 = bitcast i8* %uglygep4 to i32* - %159 = load i32, i32* %uglygep45, align 4, !tbaa !2 + %uglygep4 = getelementptr i8, ptr %95, i64 %lsr.iv + %uglygep45 = bitcast ptr %uglygep4 to ptr + %159 = load i32, ptr %uglygep45, align 4, !tbaa !2 %160 = add nsw i32 %158, %159 - %uglygep2 = getelementptr i8, i8* %96, i64 %lsr.iv - %uglygep23 = bitcast i8* %uglygep2 to i32* - %161 = load i32, i32* %uglygep23, align 4, !tbaa !2 + %uglygep2 = getelementptr i8, ptr %96, i64 %lsr.iv + %uglygep23 = bitcast ptr %uglygep2 to ptr + %161 = load i32, ptr %uglygep23, align 4, !tbaa !2 %162 = add nsw i32 %160, %161 - %uglygep = getelementptr i8, i8* %97, i64 %lsr.iv - %uglygep1 = bitcast i8* %uglygep to i32* - store i32 %162, i32* %uglygep1, align 4, !tbaa !2 + %uglygep = getelementptr i8, ptr %97, i64 %lsr.iv + %uglygep1 = bitcast ptr %uglygep to ptr + store i32 %162, ptr %uglygep1, align 4, !tbaa !2 %163 = add nuw nsw i64 %43, 1 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 4 %164 = call i1 @llvm.loop.decrement.i64(i64 1) diff --git a/llvm/test/CodeGen/PowerPC/sms-phi-1.ll b/llvm/test/CodeGen/PowerPC/sms-phi-1.ll index 782edba..516d54b 100644 --- a/llvm/test/CodeGen/PowerPC/sms-phi-1.ll +++ b/llvm/test/CodeGen/PowerPC/sms-phi-1.ll @@ -41,8 +41,8 @@ define void @main() nounwind #0 { ; CHECK-NEXT: blr %1 = tail call i64 @strtol() %2 = trunc i64 %1 to i32 - %3 = tail call noalias i8* @calloc() - %4 = bitcast i8* %3 to i32* + %3 = tail call noalias ptr @calloc() + %4 = bitcast ptr %3 to ptr %5 = zext i32 %2 to i64 br label %6 @@ -50,8 +50,8 @@ define void @main() nounwind #0 { %7 = phi i64 [ %11, %6 ], [ 0, %0 ] %8 = trunc i64 %7 to i32 %9 = mul nsw i32 %8, %8 - %10 = getelementptr inbounds i32, i32* %4, i64 %7 - store i32 %9, i32* %10, align 4 + %10 = getelementptr inbounds i32, ptr %4, i64 %7 + store i32 %9, ptr %10, align 4 %11 = add nuw nsw i64 %7, 1 %12 = icmp eq i64 %11, %5 br i1 %12, label %13, label %6 @@ -60,5 +60,5 @@ define void @main() nounwind #0 { ret void } -declare i8* @calloc() local_unnamed_addr +declare ptr @calloc() local_unnamed_addr declare i64 @strtol() local_unnamed_addr diff --git a/llvm/test/CodeGen/PowerPC/sms-phi-3.ll b/llvm/test/CodeGen/PowerPC/sms-phi-3.ll index 4cd60c6..628822e 100644 --- a/llvm/test/CodeGen/PowerPC/sms-phi-3.ll +++ b/llvm/test/CodeGen/PowerPC/sms-phi-3.ll @@ -3,9 +3,9 @@ ; RUN: -mcpu=pwr9 --ppc-enable-pipeliner 2>&1 | FileCheck %s %0 = type { double, double, double, i32, i32 } -declare i8* @malloc() local_unnamed_addr +declare ptr @malloc() local_unnamed_addr -define void @phi3(i32*) nounwind { +define void @phi3(ptr) nounwind { ; CHECK-LABEL: phi3: ; CHECK: # %bb.0: ; CHECK-NEXT: mflr 0 @@ -58,10 +58,10 @@ define void @phi3(i32*) nounwind { ; CHECK-NEXT: ld 29, -24(1) # 8-byte Folded Reload ; CHECK-NEXT: mtlr 0 ; CHECK-NEXT: blr - %2 = tail call noalias i8* @malloc() - %3 = bitcast i8* %2 to %0** - %4 = tail call noalias i8* @malloc() - %5 = bitcast i8* %4 to %0* + %2 = tail call noalias ptr @malloc() + %3 = bitcast ptr %2 to ptr + %4 = tail call noalias ptr @malloc() + %5 = bitcast ptr %4 to ptr br label %6 6: ; preds = %6, %1 @@ -69,11 +69,11 @@ define void @phi3(i32*) nounwind { %8 = phi i32 [ %15, %6 ], [ 0, %1 ] %9 = phi i64 [ %17, %6 ], [ undef, %1 ] %10 = sext i32 %8 to i64 - %11 = getelementptr inbounds %0, %0* %5, i64 %10 - %12 = getelementptr inbounds %0*, %0** %3, i64 %7 - store %0* %11, %0** %12, align 8 - %13 = getelementptr inbounds i32, i32* %0, i64 %7 - %14 = load i32, i32* %13, align 4 + %11 = getelementptr inbounds %0, ptr %5, i64 %10 + %12 = getelementptr inbounds ptr, ptr %3, i64 %7 + store ptr %11, ptr %12, align 8 + %13 = getelementptr inbounds i32, ptr %0, i64 %7 + %14 = load i32, ptr %13, align 4 %15 = add nsw i32 %14, %8 %16 = add nuw nsw i64 %7, 1 %17 = add i64 %9, -1 diff --git a/llvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir b/llvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir index 5eceea7..b6871cc 100644 --- a/llvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir +++ b/llvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir @@ -17,30 +17,30 @@ target datalayout = "E-m:e-p:32:32-i64:64-n32" target triple = "powerpc-unknown-freebsd13.0" - %struct.__va_list_tag = type { i8, i8, i16, i8*, i8* } + %struct.__va_list_tag = type { i8, i8, i16, ptr, ptr } ; Function Attrs: argmemonly nounwind willreturn - declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #0 - define dso_local void @atf_tc_fail_nonfatal(i8* %fmt, ...) !dbg !3 { + declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0 + define dso_local void @atf_tc_fail_nonfatal(ptr %fmt, ...) !dbg !3 { entry: %buf.i.i = alloca [1024 x i8], align 1 %ap2.i.i = alloca [1 x %struct.__va_list_tag], align 4 br i1 undef, label %format_reason_ap.exit.i, label %if.then6.i.i if.then6.i.i: ; preds = %entry - %0 = bitcast [1 x %struct.__va_list_tag]* %ap2.i.i to i8* - call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %0) - call void @llvm.va_copy(i8* nonnull %0, i8* nonnull null) + %0 = bitcast ptr %ap2.i.i to ptr + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %0) + call void @llvm.va_copy(ptr nonnull %0, ptr nonnull null) ret void format_reason_ap.exit.i: ; preds = %entry - %1 = bitcast [1024 x i8]* %buf.i.i to i8* - call void @llvm.lifetime.start.p0i8(i64 1024, i8* nonnull %1) - call void @fprintf(i8* nonnull %1) + %1 = bitcast ptr %buf.i.i to ptr + call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %1) + call void @fprintf(ptr nonnull %1) ret void } - declare void @fprintf(i8*) + declare void @fprintf(ptr) ; Function Attrs: nounwind - declare void @llvm.va_copy(i8*, i8*) #1 + declare void @llvm.va_copy(ptr, ptr) #1 attributes #0 = { argmemonly nounwind willreturn } attributes #1 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll b/llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll index 61e0a86..5cf354f 100644 --- a/llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll +++ b/llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll @@ -8,77 +8,77 @@ target triple = "powerpc64le-unknown-linux-gnu" ; and the usual stack-adjust instructions that held the TOC restore in ; place were optimized away. -%"class.llvm::Module" = type { %"class.llvm::LLVMContext"*, %"class.llvm::iplist", %"class.llvm::iplist.0", %"class.llvm::iplist.9", %"struct.llvm::ilist", %"class.std::basic_string", %"class.llvm::ValueSymbolTable"*, %"class.llvm::StringMap", %"class.std::unique_ptr", %"class.std::basic_string", %"class.std::basic_string", i8*, %"class.llvm::RandomNumberGenerator"*, %"class.std::basic_string", %"class.llvm::DataLayout" } -%"class.llvm::iplist" = type { %"struct.llvm::ilist_traits", %"class.llvm::GlobalVariable"* } +%"class.llvm::Module" = type { ptr, %"class.llvm::iplist", %"class.llvm::iplist.0", %"class.llvm::iplist.9", %"struct.llvm::ilist", %"class.std::basic_string", ptr, %"class.llvm::StringMap", %"class.std::unique_ptr", %"class.std::basic_string", %"class.std::basic_string", ptr, ptr, %"class.std::basic_string", %"class.llvm::DataLayout" } +%"class.llvm::iplist" = type { %"struct.llvm::ilist_traits", ptr } %"struct.llvm::ilist_traits" = type { %"class.llvm::ilist_node" } -%"class.llvm::ilist_node" = type { %"class.llvm::ilist_half_node", %"class.llvm::GlobalVariable"* } -%"class.llvm::ilist_half_node" = type { %"class.llvm::GlobalVariable"* } +%"class.llvm::ilist_node" = type { %"class.llvm::ilist_half_node", ptr } +%"class.llvm::ilist_half_node" = type { ptr } %"class.llvm::GlobalVariable" = type { %"class.llvm::GlobalObject", %"class.llvm::ilist_node", i8 } -%"class.llvm::GlobalObject" = type { %"class.llvm::GlobalValue", %"class.std::basic_string", %"class.llvm::Comdat"* } -%"class.llvm::GlobalValue" = type { %"class.llvm::Constant", i32, %"class.llvm::Module"* } +%"class.llvm::GlobalObject" = type { %"class.llvm::GlobalValue", %"class.std::basic_string", ptr } +%"class.llvm::GlobalValue" = type { %"class.llvm::Constant", i32, ptr } %"class.llvm::Constant" = type { %"class.llvm::User" } -%"class.llvm::User" = type { %"class.llvm::Value.base", i32, %"class.llvm::Use"* } -%"class.llvm::Value.base" = type <{ i32 (...)**, %"class.llvm::Type"*, %"class.llvm::Use"*, %"class.llvm::StringMapEntry"*, i8, i8, i16 }> -%"class.llvm::Type" = type { %"class.llvm::LLVMContext"*, i32, i32, %"class.llvm::Type"** } +%"class.llvm::User" = type { %"class.llvm::Value.base", i32, ptr } +%"class.llvm::Value.base" = type <{ ptr, ptr, ptr, ptr, i8, i8, i16 }> +%"class.llvm::Type" = type { ptr, i32, i32, ptr } %"class.llvm::StringMapEntry" = type opaque -%"class.llvm::Use" = type { %"class.llvm::Value"*, %"class.llvm::Use"*, %"class.llvm::PointerIntPair" } -%"class.llvm::Value" = type { i32 (...)**, %"class.llvm::Type"*, %"class.llvm::Use"*, %"class.llvm::StringMapEntry"*, i8, i8, i16 } +%"class.llvm::Use" = type { ptr, ptr, %"class.llvm::PointerIntPair" } +%"class.llvm::Value" = type { ptr, ptr, ptr, ptr, i8, i8, i16 } %"class.llvm::PointerIntPair" = type { i64 } -%"class.llvm::Comdat" = type { %"class.llvm::StringMapEntry.43"*, i32 } +%"class.llvm::Comdat" = type { ptr, i32 } %"class.llvm::StringMapEntry.43" = type opaque -%"class.llvm::iplist.0" = type { %"struct.llvm::ilist_traits.1", %"class.llvm::Function"* } +%"class.llvm::iplist.0" = type { %"struct.llvm::ilist_traits.1", ptr } %"struct.llvm::ilist_traits.1" = type { %"class.llvm::ilist_node.7" } -%"class.llvm::ilist_node.7" = type { %"class.llvm::ilist_half_node.8", %"class.llvm::Function"* } -%"class.llvm::ilist_half_node.8" = type { %"class.llvm::Function"* } -%"class.llvm::Function" = type { %"class.llvm::GlobalObject", %"class.llvm::ilist_node.7", %"class.llvm::iplist.44", %"class.llvm::iplist.52", %"class.llvm::ValueSymbolTable"*, %"class.llvm::AttributeSet" } -%"class.llvm::iplist.44" = type { %"struct.llvm::ilist_traits.45", %"class.llvm::BasicBlock"* } +%"class.llvm::ilist_node.7" = type { %"class.llvm::ilist_half_node.8", ptr } +%"class.llvm::ilist_half_node.8" = type { ptr } +%"class.llvm::Function" = type { %"class.llvm::GlobalObject", %"class.llvm::ilist_node.7", %"class.llvm::iplist.44", %"class.llvm::iplist.52", ptr, %"class.llvm::AttributeSet" } +%"class.llvm::iplist.44" = type { %"struct.llvm::ilist_traits.45", ptr } %"struct.llvm::ilist_traits.45" = type { %"class.llvm::ilist_half_node.51" } -%"class.llvm::ilist_half_node.51" = type { %"class.llvm::BasicBlock"* } -%"class.llvm::BasicBlock" = type { %"class.llvm::Value.base", %"class.llvm::ilist_node.61", %"class.llvm::iplist.62", %"class.llvm::Function"* } -%"class.llvm::ilist_node.61" = type { %"class.llvm::ilist_half_node.51", %"class.llvm::BasicBlock"* } -%"class.llvm::iplist.62" = type { %"struct.llvm::ilist_traits.63", %"class.llvm::Instruction"* } +%"class.llvm::ilist_half_node.51" = type { ptr } +%"class.llvm::BasicBlock" = type { %"class.llvm::Value.base", %"class.llvm::ilist_node.61", %"class.llvm::iplist.62", ptr } +%"class.llvm::ilist_node.61" = type { %"class.llvm::ilist_half_node.51", ptr } +%"class.llvm::iplist.62" = type { %"struct.llvm::ilist_traits.63", ptr } %"struct.llvm::ilist_traits.63" = type { %"class.llvm::ilist_half_node.69" } -%"class.llvm::ilist_half_node.69" = type { %"class.llvm::Instruction"* } -%"class.llvm::Instruction" = type { %"class.llvm::User", %"class.llvm::ilist_node.70", %"class.llvm::BasicBlock"*, %"class.llvm::DebugLoc" } -%"class.llvm::ilist_node.70" = type { %"class.llvm::ilist_half_node.69", %"class.llvm::Instruction"* } +%"class.llvm::ilist_half_node.69" = type { ptr } +%"class.llvm::Instruction" = type { %"class.llvm::User", %"class.llvm::ilist_node.70", ptr, %"class.llvm::DebugLoc" } +%"class.llvm::ilist_node.70" = type { %"class.llvm::ilist_half_node.69", ptr } %"class.llvm::DebugLoc" = type { i32, i32 } -%"class.llvm::iplist.52" = type { %"struct.llvm::ilist_traits.53", %"class.llvm::Argument"* } +%"class.llvm::iplist.52" = type { %"struct.llvm::ilist_traits.53", ptr } %"struct.llvm::ilist_traits.53" = type { %"class.llvm::ilist_half_node.59" } -%"class.llvm::ilist_half_node.59" = type { %"class.llvm::Argument"* } -%"class.llvm::Argument" = type { %"class.llvm::Value.base", %"class.llvm::ilist_node.60", %"class.llvm::Function"* } -%"class.llvm::ilist_node.60" = type { %"class.llvm::ilist_half_node.59", %"class.llvm::Argument"* } -%"class.llvm::AttributeSet" = type { %"class.llvm::AttributeSetImpl"* } +%"class.llvm::ilist_half_node.59" = type { ptr } +%"class.llvm::Argument" = type { %"class.llvm::Value.base", %"class.llvm::ilist_node.60", ptr } +%"class.llvm::ilist_node.60" = type { %"class.llvm::ilist_half_node.59", ptr } +%"class.llvm::AttributeSet" = type { ptr } %"class.llvm::AttributeSetImpl" = type opaque -%"class.llvm::iplist.9" = type { %"struct.llvm::ilist_traits.10", %"class.llvm::GlobalAlias"* } +%"class.llvm::iplist.9" = type { %"struct.llvm::ilist_traits.10", ptr } %"struct.llvm::ilist_traits.10" = type { %"class.llvm::ilist_node.16" } -%"class.llvm::ilist_node.16" = type { %"class.llvm::ilist_half_node.17", %"class.llvm::GlobalAlias"* } -%"class.llvm::ilist_half_node.17" = type { %"class.llvm::GlobalAlias"* } +%"class.llvm::ilist_node.16" = type { %"class.llvm::ilist_half_node.17", ptr } +%"class.llvm::ilist_half_node.17" = type { ptr } %"class.llvm::GlobalAlias" = type { %"class.llvm::GlobalValue", %"class.llvm::ilist_node.16" } %"struct.llvm::ilist" = type { %"class.llvm::iplist.18" } -%"class.llvm::iplist.18" = type { %"struct.llvm::ilist_traits.19", %"class.llvm::NamedMDNode"* } +%"class.llvm::iplist.18" = type { %"struct.llvm::ilist_traits.19", ptr } %"struct.llvm::ilist_traits.19" = type { %"class.llvm::ilist_node.24" } -%"class.llvm::ilist_node.24" = type { %"class.llvm::ilist_half_node.25", %"class.llvm::NamedMDNode"* } -%"class.llvm::ilist_half_node.25" = type { %"class.llvm::NamedMDNode"* } -%"class.llvm::NamedMDNode" = type { %"class.llvm::ilist_node.24", %"class.std::basic_string", %"class.llvm::Module"*, i8* } +%"class.llvm::ilist_node.24" = type { %"class.llvm::ilist_half_node.25", ptr } +%"class.llvm::ilist_half_node.25" = type { ptr } +%"class.llvm::NamedMDNode" = type { %"class.llvm::ilist_node.24", %"class.std::basic_string", ptr, ptr } %"class.llvm::ValueSymbolTable" = type opaque %"class.llvm::StringMap" = type { %"class.llvm::StringMapImpl", %"class.llvm::MallocAllocator" } -%"class.llvm::StringMapImpl" = type { %"class.llvm::StringMapEntryBase"**, i32, i32, i32, i32 } +%"class.llvm::StringMapImpl" = type { ptr, i32, i32, i32, i32 } %"class.llvm::StringMapEntryBase" = type { i32 } %"class.llvm::MallocAllocator" = type { i8 } %"class.std::unique_ptr" = type { %"class.std::tuple" } %"class.std::tuple" = type { %"struct.std::_Tuple_impl" } %"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.28" } -%"struct.std::_Head_base.28" = type { %"class.llvm::GVMaterializer"* } +%"struct.std::_Head_base.28" = type { ptr } %"class.llvm::GVMaterializer" = type opaque %"class.llvm::RandomNumberGenerator" = type opaque %"class.std::basic_string" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" } -%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* } -%"class.llvm::DataLayout" = type { i8, i32, i32, [4 x i8], %"class.llvm::SmallVector", %"class.llvm::SmallVector.29", %"class.llvm::SmallVector.36", i8* } +%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { ptr } +%"class.llvm::DataLayout" = type { i8, i32, i32, [4 x i8], %"class.llvm::SmallVector", %"class.llvm::SmallVector.29", %"class.llvm::SmallVector.36", ptr } %"class.llvm::SmallVector" = type { %"class.llvm::SmallVectorImpl.base", %"struct.llvm::SmallVectorStorage" } %"class.llvm::SmallVectorImpl.base" = type { %"class.llvm::SmallVectorTemplateBase.base" } %"class.llvm::SmallVectorTemplateBase.base" = type { %"class.llvm::SmallVectorTemplateCommon.base" } %"class.llvm::SmallVectorTemplateCommon.base" = type <{ %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion" }> -%"class.llvm::SmallVectorBase" = type { i8*, i8*, i8* } +%"class.llvm::SmallVectorBase" = type { ptr, ptr, ptr } %"struct.llvm::AlignedCharArrayUnion" = type { %"struct.llvm::AlignedCharArray" } %"struct.llvm::AlignedCharArray" = type { [1 x i8] } %"struct.llvm::SmallVectorStorage" = type { [7 x %"struct.llvm::AlignedCharArrayUnion"] } @@ -96,20 +96,20 @@ target triple = "powerpc64le-unknown-linux-gnu" %"struct.llvm::AlignedCharArrayUnion.40" = type { %"struct.llvm::AlignedCharArray.41" } %"struct.llvm::AlignedCharArray.41" = type { [16 x i8] } %"struct.llvm::SmallVectorStorage.42" = type { [7 x %"struct.llvm::AlignedCharArrayUnion.40"] } -%"class.llvm::SMDiagnostic" = type { %"class.llvm::SourceMgr"*, %"class.llvm::SMLoc", %"class.std::basic_string", i32, i32, i32, %"class.std::basic_string", %"class.std::basic_string", %"class.std::vector.79", %"class.llvm::SmallVector.84" } -%"class.llvm::SourceMgr" = type { %"class.std::vector", %"class.std::vector.74", i8*, void (%"class.llvm::SMDiagnostic"*, i8*)*, i8* } +%"class.llvm::SMDiagnostic" = type { ptr, %"class.llvm::SMLoc", %"class.std::basic_string", i32, i32, i32, %"class.std::basic_string", %"class.std::basic_string", %"class.std::vector.79", %"class.llvm::SmallVector.84" } +%"class.llvm::SourceMgr" = type { %"class.std::vector", %"class.std::vector.74", ptr, ptr, ptr } %"class.std::vector" = type { %"struct.std::_Vector_base" } %"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<llvm::SourceMgr::SrcBuffer, std::allocator<llvm::SourceMgr::SrcBuffer> >::_Vector_impl" } -%"struct.std::_Vector_base<llvm::SourceMgr::SrcBuffer, std::allocator<llvm::SourceMgr::SrcBuffer> >::_Vector_impl" = type { %"struct.llvm::SourceMgr::SrcBuffer"*, %"struct.llvm::SourceMgr::SrcBuffer"*, %"struct.llvm::SourceMgr::SrcBuffer"* } -%"struct.llvm::SourceMgr::SrcBuffer" = type { %"class.llvm::MemoryBuffer"*, %"class.llvm::SMLoc" } -%"class.llvm::MemoryBuffer" = type { i32 (...)**, i8*, i8* } +%"struct.std::_Vector_base<llvm::SourceMgr::SrcBuffer, std::allocator<llvm::SourceMgr::SrcBuffer> >::_Vector_impl" = type { ptr, ptr, ptr } +%"struct.llvm::SourceMgr::SrcBuffer" = type { ptr, %"class.llvm::SMLoc" } +%"class.llvm::MemoryBuffer" = type { ptr, ptr, ptr } %"class.std::vector.74" = type { %"struct.std::_Vector_base.75" } %"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl" } -%"struct.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl" = type { %"class.std::basic_string"*, %"class.std::basic_string"*, %"class.std::basic_string"* } -%"class.llvm::SMLoc" = type { i8* } +%"struct.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl" = type { ptr, ptr, ptr } +%"class.llvm::SMLoc" = type { ptr } %"class.std::vector.79" = type { %"struct.std::_Vector_base.80" } %"struct.std::_Vector_base.80" = type { %"struct.std::_Vector_base<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >::_Vector_impl" } -%"struct.std::_Vector_base<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >::_Vector_impl" = type { %"struct.std::pair"*, %"struct.std::pair"*, %"struct.std::pair"* } +%"struct.std::_Vector_base<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >::_Vector_impl" = type { ptr, ptr, ptr } %"struct.std::pair" = type { i32, i32 } %"class.llvm::SmallVector.84" = type { %"class.llvm::SmallVectorImpl.85", %"struct.llvm::SmallVectorStorage.90" } %"class.llvm::SmallVectorImpl.85" = type { %"class.llvm::SmallVectorTemplateBase.86" } @@ -118,7 +118,7 @@ target triple = "powerpc64le-unknown-linux-gnu" %"struct.llvm::AlignedCharArrayUnion.88" = type { %"struct.llvm::AlignedCharArray.89" } %"struct.llvm::AlignedCharArray.89" = type { [24 x i8] } %"struct.llvm::SmallVectorStorage.90" = type { [3 x %"struct.llvm::AlignedCharArrayUnion.88"] } -%"class.llvm::LLVMContext" = type { %"class.llvm::LLVMContextImpl"* } +%"class.llvm::LLVMContext" = type { ptr } %"class.llvm::LLVMContextImpl" = type opaque %"class.std::allocator" = type { i8 } %"class.llvm::ErrorOr.109" = type { %union.anon.110, i8, [7 x i8] } @@ -127,26 +127,26 @@ target triple = "powerpc64le-unknown-linux-gnu" %"struct.llvm::AlignedCharArray.94" = type { [16 x i8] } %"class.llvm::ErrorOr" = type { %union.anon, i8, [7 x i8] } %union.anon = type { %"struct.llvm::AlignedCharArrayUnion.93" } -%"class.std::error_category" = type { i32 (...)** } +%"class.std::error_category" = type { ptr } %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base" } %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base" = type { i64, i64, i32 } %"class.llvm::SMFixIt" = type { %"class.llvm::SMRange", %"class.std::basic_string" } %"class.llvm::SMRange" = type { %"class.llvm::SMLoc", %"class.llvm::SMLoc" } %"struct.llvm::NamedRegionTimer" = type { %"class.llvm::TimeRegion" } -%"class.llvm::TimeRegion" = type { %"class.llvm::Timer"* } -%"class.llvm::Timer" = type { %"class.llvm::TimeRecord", %"class.std::basic_string", i8, %"class.llvm::TimerGroup"*, %"class.llvm::Timer"**, %"class.llvm::Timer"* } +%"class.llvm::TimeRegion" = type { ptr } +%"class.llvm::Timer" = type { %"class.llvm::TimeRecord", %"class.std::basic_string", i8, ptr, ptr, ptr } %"class.llvm::TimeRecord" = type { double, double, double, i64 } -%"class.llvm::TimerGroup" = type { %"class.std::basic_string", %"class.llvm::Timer"*, %"class.std::vector.103", %"class.llvm::TimerGroup"**, %"class.llvm::TimerGroup"* } +%"class.llvm::TimerGroup" = type { %"class.std::basic_string", ptr, %"class.std::vector.103", ptr, ptr } %"class.std::vector.103" = type { %"struct.std::_Vector_base.104" } %"struct.std::_Vector_base.104" = type { %"struct.std::_Vector_base<std::pair<llvm::TimeRecord, std::basic_string<char> >, std::allocator<std::pair<llvm::TimeRecord, std::basic_string<char> > > >::_Vector_impl" } -%"struct.std::_Vector_base<std::pair<llvm::TimeRecord, std::basic_string<char> >, std::allocator<std::pair<llvm::TimeRecord, std::basic_string<char> > > >::_Vector_impl" = type { %"struct.std::pair.108"*, %"struct.std::pair.108"*, %"struct.std::pair.108"* } +%"struct.std::_Vector_base<std::pair<llvm::TimeRecord, std::basic_string<char> >, std::allocator<std::pair<llvm::TimeRecord, std::basic_string<char> > > >::_Vector_impl" = type { ptr, ptr, ptr } %"struct.std::pair.108" = type opaque %struct.LLVMOpaqueContext = type opaque %struct.LLVMOpaqueMemoryBuffer = type opaque %struct.LLVMOpaqueModule = type opaque -%"class.llvm::raw_string_ostream" = type { %"class.llvm::raw_ostream.base", %"class.std::basic_string"* } -%"class.llvm::raw_ostream.base" = type <{ i32 (...)**, i8*, i8*, i8*, i32 }> -%"class.llvm::raw_ostream" = type { i32 (...)**, i8*, i8*, i8*, i32 } +%"class.llvm::raw_string_ostream" = type { %"class.llvm::raw_ostream.base", ptr } +%"class.llvm::raw_ostream.base" = type <{ ptr, ptr, ptr, ptr, i32 }> +%"class.llvm::raw_ostream" = type { ptr, ptr, ptr, ptr, i32 } @.str = private unnamed_addr constant [28 x i8] c"Could not open input file: \00", align 1 @.str1 = private unnamed_addr constant [54 x i8] c"!HasError && \22Cannot get value when an error exists!\22\00", align 1 @@ -154,12 +154,12 @@ target triple = "powerpc64le-unknown-linux-gnu" @__PRETTY_FUNCTION__._ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv = private unnamed_addr constant [206 x i8] c"storage_type *llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> > >::getStorage() [T = std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >]\00", align 1 @_ZNSs4_Rep20_S_empty_rep_storageE = external global [0 x i64] -declare void @_ZN4llvm12MemoryBuffer14getFileOrSTDINENS_9StringRefEl(%"class.llvm::ErrorOr"* sret(%"class.llvm::ErrorOr"), [2 x i64], i64) #1 +declare void @_ZN4llvm12MemoryBuffer14getFileOrSTDINENS_9StringRefEl(ptr sret(%"class.llvm::ErrorOr"), [2 x i64], i64) #1 -declare void @_ZN4llvm16NamedRegionTimerC1ENS_9StringRefES1_b(%"struct.llvm::NamedRegionTimer"*, [2 x i64], [2 x i64], i1 zeroext) #1 +declare void @_ZN4llvm16NamedRegionTimerC1ENS_9StringRefES1_b(ptr, [2 x i64], [2 x i64], i1 zeroext) #1 ; Function Attrs: nounwind -define %"class.llvm::Module"* @_ZN4llvm11ParseIRFileERKSsRNS_12SMDiagnosticERNS_11LLVMContextE(%"class.std::basic_string"* nocapture readonly dereferenceable(8) %Filename, %"class.llvm::SMDiagnostic"* dereferenceable(200) %Err, %"class.llvm::LLVMContext"* dereferenceable(8) %Context) #0 { +define ptr @_ZN4llvm11ParseIRFileERKSsRNS_12SMDiagnosticERNS_11LLVMContextE(ptr nocapture readonly dereferenceable(8) %Filename, ptr dereferenceable(200) %Err, ptr dereferenceable(8) %Context) #0 { entry: ; CHECK: .globl _ZN4llvm11ParseIRFileERKSsRNS_12SMDiagnosticERNS_11LLVMContextE ; CHECK: bctrl @@ -176,173 +176,173 @@ entry: %FileOrErr = alloca %"class.llvm::ErrorOr", align 8 %ref.tmp = alloca %"class.llvm::SMDiagnostic", align 8 %ref.tmp5 = alloca %"class.std::basic_string", align 8 - %_M_p.i.i.i = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %Filename, i64 0, i32 0, i32 0 - %0 = load i8*, i8** %_M_p.i.i.i, align 8, !tbaa !1 - %1 = ptrtoint i8* %0 to i64 - %arrayidx.i.i.i = getelementptr inbounds i8, i8* %0, i64 -24 - %_M_length.i.i = bitcast i8* %arrayidx.i.i.i to i64* - %2 = load i64, i64* %_M_length.i.i, align 8, !tbaa !7 + %_M_p.i.i.i = getelementptr inbounds %"class.std::basic_string", ptr %Filename, i64 0, i32 0, i32 0 + %0 = load ptr, ptr %_M_p.i.i.i, align 8, !tbaa !1 + %1 = ptrtoint ptr %0 to i64 + %arrayidx.i.i.i = getelementptr inbounds i8, ptr %0, i64 -24 + %_M_length.i.i = bitcast ptr %arrayidx.i.i.i to ptr + %2 = load i64, ptr %_M_length.i.i, align 8, !tbaa !7 %.fca.0.insert18 = insertvalue [2 x i64] undef, i64 %1, 0 %.fca.1.insert21 = insertvalue [2 x i64] %.fca.0.insert18, i64 %2, 1 - call void @_ZN4llvm12MemoryBuffer14getFileOrSTDINENS_9StringRefEl(%"class.llvm::ErrorOr"* sret(%"class.llvm::ErrorOr") %FileOrErr, [2 x i64] %.fca.1.insert21, i64 -1) #3 - %HasError.i24 = getelementptr inbounds %"class.llvm::ErrorOr", %"class.llvm::ErrorOr"* %FileOrErr, i64 0, i32 1 - %bf.load.i25 = load i8, i8* %HasError.i24, align 8 + call void @_ZN4llvm12MemoryBuffer14getFileOrSTDINENS_9StringRefEl(ptr sret(%"class.llvm::ErrorOr") %FileOrErr, [2 x i64] %.fca.1.insert21, i64 -1) #3 + %HasError.i24 = getelementptr inbounds %"class.llvm::ErrorOr", ptr %FileOrErr, i64 0, i32 1 + %bf.load.i25 = load i8, ptr %HasError.i24, align 8 %3 = and i8 %bf.load.i25, 1 %bf.cast.i26 = icmp eq i8 %3, 0 br i1 %bf.cast.i26, label %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit, label %_ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit _ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit: ; preds = %entry - %retval.sroa.0.0..sroa_cast.i = bitcast %"class.llvm::ErrorOr"* %FileOrErr to i64* - %retval.sroa.0.0.copyload.i = load i64, i64* %retval.sroa.0.0..sroa_cast.i, align 8 - %retval.sroa.3.0..sroa_idx.i = getelementptr inbounds %"class.llvm::ErrorOr", %"class.llvm::ErrorOr"* %FileOrErr, i64 0, i32 0, i32 0, i32 0, i32 0, i64 8 - %retval.sroa.3.0..sroa_cast.i = bitcast i8* %retval.sroa.3.0..sroa_idx.i to i64* - %retval.sroa.3.0.copyload.i = load i64, i64* %retval.sroa.3.0..sroa_cast.i, align 8 + %retval.sroa.0.0..sroa_cast.i = bitcast ptr %FileOrErr to ptr + %retval.sroa.0.0.copyload.i = load i64, ptr %retval.sroa.0.0..sroa_cast.i, align 8 + %retval.sroa.3.0..sroa_idx.i = getelementptr inbounds %"class.llvm::ErrorOr", ptr %FileOrErr, i64 0, i32 0, i32 0, i32 0, i32 0, i64 8 + %retval.sroa.3.0..sroa_cast.i = bitcast ptr %retval.sroa.3.0..sroa_idx.i to ptr + %retval.sroa.3.0.copyload.i = load i64, ptr %retval.sroa.3.0..sroa_cast.i, align 8 %phitmp = trunc i64 %retval.sroa.0.0.copyload.i to i32 %cmp.i = icmp eq i32 %phitmp, 0 br i1 %cmp.i, label %cond.false.i.i, label %if.then if.then: ; preds = %_ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit - %.c = inttoptr i64 %retval.sroa.3.0.copyload.i to %"class.std::error_category"* - %4 = load i8*, i8** %_M_p.i.i.i, align 8, !tbaa !1 - %arrayidx.i.i.i30 = getelementptr inbounds i8, i8* %4, i64 -24 - %_M_length.i.i31 = bitcast i8* %arrayidx.i.i.i30 to i64* - %5 = load i64, i64* %_M_length.i.i31, align 8, !tbaa !7 - %6 = inttoptr i64 %retval.sroa.3.0.copyload.i to void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)*** - %vtable.i = load void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)**, void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)*** %6, align 8, !tbaa !11 - %vfn.i = getelementptr inbounds void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)*, void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)** %vtable.i, i64 3 - %7 = load void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)*, void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)** %vfn.i, align 8 - call void %7(%"class.std::basic_string"* sret(%"class.std::basic_string") %ref.tmp5, %"class.std::error_category"* %.c, i32 signext %phitmp) #3 - %call2.i.i = call dereferenceable(8) %"class.std::basic_string"* @_ZNSs6insertEmPKcm(%"class.std::basic_string"* %ref.tmp5, i64 0, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str, i64 0, i64 0), i64 27) #3 - %_M_p2.i.i.i.i = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %call2.i.i, i64 0, i32 0, i32 0 - %8 = load i8*, i8** %_M_p2.i.i.i.i, align 8, !tbaa !13 - store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p2.i.i.i.i, align 8, !tbaa !1 - %arrayidx.i.i.i36 = getelementptr inbounds i8, i8* %8, i64 -24 - %_M_length.i.i37 = bitcast i8* %arrayidx.i.i.i36 to i64* - %9 = load i64, i64* %_M_length.i.i37, align 8, !tbaa !7 - %Filename.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 2 - %10 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i2.i, i64 0, i32 0 - %11 = bitcast %"class.llvm::SMDiagnostic"* %ref.tmp to i8* - call void @llvm.memset.p0i8.i64(i8* align 8 %11, i8 0, i64 16, i1 false) #3 - call void @llvm.lifetime.start.p0i8(i64 1, i8* %10) #3 - %tobool.i.i4.i = icmp eq i8* %4, null + %.c = inttoptr i64 %retval.sroa.3.0.copyload.i to ptr + %4 = load ptr, ptr %_M_p.i.i.i, align 8, !tbaa !1 + %arrayidx.i.i.i30 = getelementptr inbounds i8, ptr %4, i64 -24 + %_M_length.i.i31 = bitcast ptr %arrayidx.i.i.i30 to ptr + %5 = load i64, ptr %_M_length.i.i31, align 8, !tbaa !7 + %6 = inttoptr i64 %retval.sroa.3.0.copyload.i to ptr + %vtable.i = load ptr, ptr %6, align 8, !tbaa !11 + %vfn.i = getelementptr inbounds ptr, ptr %vtable.i, i64 3 + %7 = load ptr, ptr %vfn.i, align 8 + call void %7(ptr sret(%"class.std::basic_string") %ref.tmp5, ptr %.c, i32 signext %phitmp) #3 + %call2.i.i = call dereferenceable(8) ptr @_ZNSs6insertEmPKcm(ptr %ref.tmp5, i64 0, ptr @.str, i64 27) #3 + %_M_p2.i.i.i.i = getelementptr inbounds %"class.std::basic_string", ptr %call2.i.i, i64 0, i32 0, i32 0 + %8 = load ptr, ptr %_M_p2.i.i.i.i, align 8, !tbaa !13 + store ptr getelementptr inbounds ([0 x i64], ptr @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3), ptr %_M_p2.i.i.i.i, align 8, !tbaa !1 + %arrayidx.i.i.i36 = getelementptr inbounds i8, ptr %8, i64 -24 + %_M_length.i.i37 = bitcast ptr %arrayidx.i.i.i36 to ptr + %9 = load i64, ptr %_M_length.i.i37, align 8, !tbaa !7 + %Filename.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 2 + %10 = getelementptr inbounds %"class.std::allocator", ptr %ref.tmp.i.i2.i, i64 0, i32 0 + %11 = bitcast ptr %ref.tmp to ptr + call void @llvm.memset.p0.i64(ptr align 8 %11, i8 0, i64 16, i1 false) #3 + call void @llvm.lifetime.start.p0(i64 1, ptr %10) #3 + %tobool.i.i4.i = icmp eq ptr %4, null br i1 %tobool.i.i4.i, label %if.then.i.i6.i, label %if.end.i.i8.i if.then.i.i6.i: ; preds = %if.then - %_M_p.i.i.i.i.i.i5.i = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %Filename.i, i64 0, i32 0, i32 0 - store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p.i.i.i.i.i.i5.i, align 8, !tbaa !13 + %_M_p.i.i.i.i.i.i5.i = getelementptr inbounds %"class.std::basic_string", ptr %Filename.i, i64 0, i32 0, i32 0 + store ptr getelementptr inbounds ([0 x i64], ptr @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3), ptr %_M_p.i.i.i.i.i.i5.i, align 8, !tbaa !13 br label %_ZNK4llvm9StringRefcvSsEv.exit9.i if.end.i.i8.i: ; preds = %if.then - call void @_ZNSsC1EPKcmRKSaIcE(%"class.std::basic_string"* %Filename.i, i8* %4, i64 %5, %"class.std::allocator"* dereferenceable(1) %ref.tmp.i.i2.i) #3 + call void @_ZNSsC1EPKcmRKSaIcE(ptr %Filename.i, ptr %4, i64 %5, ptr dereferenceable(1) %ref.tmp.i.i2.i) #3 br label %_ZNK4llvm9StringRefcvSsEv.exit9.i _ZNK4llvm9StringRefcvSsEv.exit9.i: ; preds = %if.end.i.i8.i, %if.then.i.i6.i - call void @llvm.lifetime.end.p0i8(i64 1, i8* %10) #3 - %LineNo.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 3 - store i32 -1, i32* %LineNo.i, align 8, !tbaa !14 - %ColumnNo.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 4 - store i32 -1, i32* %ColumnNo.i, align 4, !tbaa !21 - %Kind.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 5 - store i32 0, i32* %Kind.i, align 8, !tbaa !22 - %Message.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 6 - %12 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i.i, i64 0, i32 0 - call void @llvm.lifetime.start.p0i8(i64 1, i8* %12) #3 - %tobool.i.i.i = icmp eq i8* %8, null + call void @llvm.lifetime.end.p0(i64 1, ptr %10) #3 + %LineNo.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 3 + store i32 -1, ptr %LineNo.i, align 8, !tbaa !14 + %ColumnNo.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 4 + store i32 -1, ptr %ColumnNo.i, align 4, !tbaa !21 + %Kind.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 5 + store i32 0, ptr %Kind.i, align 8, !tbaa !22 + %Message.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 6 + %12 = getelementptr inbounds %"class.std::allocator", ptr %ref.tmp.i.i.i, i64 0, i32 0 + call void @llvm.lifetime.start.p0(i64 1, ptr %12) #3 + %tobool.i.i.i = icmp eq ptr %8, null br i1 %tobool.i.i.i, label %if.then.i.i.i, label %if.end.i.i.i if.then.i.i.i: ; preds = %_ZNK4llvm9StringRefcvSsEv.exit9.i - %_M_p.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %Message.i, i64 0, i32 0, i32 0 - store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p.i.i.i.i.i.i.i, align 8, !tbaa !13 + %_M_p.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::basic_string", ptr %Message.i, i64 0, i32 0, i32 0 + store ptr getelementptr inbounds ([0 x i64], ptr @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3), ptr %_M_p.i.i.i.i.i.i.i, align 8, !tbaa !13 br label %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit if.end.i.i.i: ; preds = %_ZNK4llvm9StringRefcvSsEv.exit9.i - call void @_ZNSsC1EPKcmRKSaIcE(%"class.std::basic_string"* %Message.i, i8* %8, i64 %9, %"class.std::allocator"* dereferenceable(1) %ref.tmp.i.i.i) #3 + call void @_ZNSsC1EPKcmRKSaIcE(ptr %Message.i, ptr %8, i64 %9, ptr dereferenceable(1) %ref.tmp.i.i.i) #3 br label %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit _ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit: ; preds = %if.then.i.i.i, %if.end.i.i.i - call void @llvm.lifetime.end.p0i8(i64 1, i8* %12) #3 - %_M_p.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 7, i32 0, i32 0 - store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p.i.i.i.i.i, align 8, !tbaa !13 - %Ranges.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8 - %13 = bitcast %"class.std::vector.79"* %Ranges.i to i8* - call void @llvm.memset.p0i8.i64(i8* align 8 %13, i8 0, i64 24, i1 false) #3 - %14 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i64 0 - %BeginX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 0 - store i8* %14, i8** %BeginX.i.i.i.i.i.i, align 8, !tbaa !23 - %EndX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 1 - store i8* %14, i8** %EndX.i.i.i.i.i.i, align 8, !tbaa !25 - %CapacityX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 2 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i64 96 - store i8* %add.ptr.i.i.i.i.i.i, i8** %CapacityX.i.i.i.i.i.i, align 8, !tbaa !26 - %15 = bitcast %"class.llvm::SMDiagnostic"* %Err to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %15, i8* align 8 %11, i64 16, i1 false) #3 - %Filename.i38 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 2 - call void @_ZNSs4swapERSs(%"class.std::basic_string"* %Filename.i38, %"class.std::basic_string"* dereferenceable(8) %Filename.i) #3 - %LineNo.i39 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 3 - %16 = bitcast i32* %LineNo.i39 to i8* - %17 = bitcast i32* %LineNo.i to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %16, i8* align 4 %17, i64 12, i1 false) #3 - %Message.i40 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 6 - call void @_ZNSs4swapERSs(%"class.std::basic_string"* %Message.i40, %"class.std::basic_string"* dereferenceable(8) %Message.i) #3 - %LineContents.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 7 - %LineContents7.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 7 - call void @_ZNSs4swapERSs(%"class.std::basic_string"* %LineContents.i, %"class.std::basic_string"* dereferenceable(8) %LineContents7.i) #3 - %Ranges.i41 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 8 - %_M_start.i7.i.i.i = getelementptr inbounds %"class.std::vector.79", %"class.std::vector.79"* %Ranges.i41, i64 0, i32 0, i32 0, i32 0 - %18 = load %"struct.std::pair"*, %"struct.std::pair"** %_M_start.i7.i.i.i, align 8, !tbaa !27 - %_M_finish.i9.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 8, i32 0, i32 0, i32 1 - %_M_end_of_storage.i11.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 8, i32 0, i32 0, i32 2 - %_M_start2.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 0 - %19 = bitcast %"class.std::vector.79"* %Ranges.i41 to i8* - call void @llvm.memset.p0i8.i64(i8* align 8 %19, i8 0, i64 16, i1 false) #3 - %20 = load %"struct.std::pair"*, %"struct.std::pair"** %_M_start2.i.i.i.i, align 8, !tbaa !27 - store %"struct.std::pair"* %20, %"struct.std::pair"** %_M_start.i7.i.i.i, align 8, !tbaa !27 - store %"struct.std::pair"* null, %"struct.std::pair"** %_M_start2.i.i.i.i, align 8, !tbaa !27 - %_M_finish3.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 1 - %21 = load %"struct.std::pair"*, %"struct.std::pair"** %_M_finish3.i.i.i.i, align 8, !tbaa !27 - store %"struct.std::pair"* %21, %"struct.std::pair"** %_M_finish.i9.i.i.i, align 8, !tbaa !27 - store %"struct.std::pair"* null, %"struct.std::pair"** %_M_finish3.i.i.i.i, align 8, !tbaa !27 - %_M_end_of_storage4.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 2 - %22 = load %"struct.std::pair"*, %"struct.std::pair"** %_M_end_of_storage4.i.i.i.i, align 8, !tbaa !27 - store %"struct.std::pair"* %22, %"struct.std::pair"** %_M_end_of_storage.i11.i.i.i, align 8, !tbaa !27 - store %"struct.std::pair"* null, %"struct.std::pair"** %_M_end_of_storage4.i.i.i.i, align 8, !tbaa !27 - %tobool.i.i.i.i.i.i = icmp eq %"struct.std::pair"* %18, null + call void @llvm.lifetime.end.p0(i64 1, ptr %12) #3 + %_M_p.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 7, i32 0, i32 0 + store ptr getelementptr inbounds ([0 x i64], ptr @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3), ptr %_M_p.i.i.i.i.i, align 8, !tbaa !13 + %Ranges.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 8 + %13 = bitcast ptr %Ranges.i to ptr + call void @llvm.memset.p0.i64(ptr align 8 %13, i8 0, i64 24, i1 false) #3 + %14 = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i64 0 + %BeginX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 0 + store ptr %14, ptr %BeginX.i.i.i.i.i.i, align 8, !tbaa !23 + %EndX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %14, ptr %EndX.i.i.i.i.i.i, align 8, !tbaa !25 + %CapacityX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 2 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i64 96 + store ptr %add.ptr.i.i.i.i.i.i, ptr %CapacityX.i.i.i.i.i.i, align 8, !tbaa !26 + %15 = bitcast ptr %Err to ptr + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %11, i64 16, i1 false) #3 + %Filename.i38 = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %Err, i64 0, i32 2 + call void @_ZNSs4swapERSs(ptr %Filename.i38, ptr dereferenceable(8) %Filename.i) #3 + %LineNo.i39 = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %Err, i64 0, i32 3 + %16 = bitcast ptr %LineNo.i39 to ptr + %17 = bitcast ptr %LineNo.i to ptr + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %16, ptr align 4 %17, i64 12, i1 false) #3 + %Message.i40 = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %Err, i64 0, i32 6 + call void @_ZNSs4swapERSs(ptr %Message.i40, ptr dereferenceable(8) %Message.i) #3 + %LineContents.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %Err, i64 0, i32 7 + %LineContents7.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 7 + call void @_ZNSs4swapERSs(ptr %LineContents.i, ptr dereferenceable(8) %LineContents7.i) #3 + %Ranges.i41 = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %Err, i64 0, i32 8 + %_M_start.i7.i.i.i = getelementptr inbounds %"class.std::vector.79", ptr %Ranges.i41, i64 0, i32 0, i32 0, i32 0 + %18 = load ptr, ptr %_M_start.i7.i.i.i, align 8, !tbaa !27 + %_M_finish.i9.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %Err, i64 0, i32 8, i32 0, i32 0, i32 1 + %_M_end_of_storage.i11.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %Err, i64 0, i32 8, i32 0, i32 0, i32 2 + %_M_start2.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 0 + %19 = bitcast ptr %Ranges.i41 to ptr + call void @llvm.memset.p0.i64(ptr align 8 %19, i8 0, i64 16, i1 false) #3 + %20 = load ptr, ptr %_M_start2.i.i.i.i, align 8, !tbaa !27 + store ptr %20, ptr %_M_start.i7.i.i.i, align 8, !tbaa !27 + store ptr null, ptr %_M_start2.i.i.i.i, align 8, !tbaa !27 + %_M_finish3.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 1 + %21 = load ptr, ptr %_M_finish3.i.i.i.i, align 8, !tbaa !27 + store ptr %21, ptr %_M_finish.i9.i.i.i, align 8, !tbaa !27 + store ptr null, ptr %_M_finish3.i.i.i.i, align 8, !tbaa !27 + %_M_end_of_storage4.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 2 + %22 = load ptr, ptr %_M_end_of_storage4.i.i.i.i, align 8, !tbaa !27 + store ptr %22, ptr %_M_end_of_storage.i11.i.i.i, align 8, !tbaa !27 + store ptr null, ptr %_M_end_of_storage4.i.i.i.i, align 8, !tbaa !27 + %tobool.i.i.i.i.i.i = icmp eq ptr %18, null br i1 %tobool.i.i.i.i.i.i, label %_ZN4llvm12SMDiagnosticaSEOS0_.exit, label %if.then.i.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit - %23 = bitcast %"struct.std::pair"* %18 to i8* - call void @_ZdlPv(i8* %23) #3 + %23 = bitcast ptr %18 to ptr + call void @_ZdlPv(ptr %23) #3 br label %_ZN4llvm12SMDiagnosticaSEOS0_.exit _ZN4llvm12SMDiagnosticaSEOS0_.exit: ; preds = %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit, %if.then.i.i.i.i.i.i - %24 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 9, i32 0 - %25 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0 - %call2.i.i42 = call dereferenceable(48) %"class.llvm::SmallVectorImpl.85"* @_ZN4llvm15SmallVectorImplINS_7SMFixItEEaSEOS2_(%"class.llvm::SmallVectorImpl.85"* %24, %"class.llvm::SmallVectorImpl.85"* dereferenceable(48) %25) #3 - call void @_ZN4llvm12SMDiagnosticD2Ev(%"class.llvm::SMDiagnostic"* %ref.tmp) #3 - %26 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i, i64 0, i32 0 - call void @llvm.lifetime.start.p0i8(i64 1, i8* %26) #3 - %27 = bitcast i8* %arrayidx.i.i.i36 to %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"* - %cmp.i.i.i = icmp eq i8* %arrayidx.i.i.i36, bitcast ([0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE to i8*) + %24 = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %Err, i64 0, i32 9, i32 0 + %25 = getelementptr inbounds %"class.llvm::SMDiagnostic", ptr %ref.tmp, i64 0, i32 9, i32 0 + %call2.i.i42 = call dereferenceable(48) ptr @_ZN4llvm15SmallVectorImplINS_7SMFixItEEaSEOS2_(ptr %24, ptr dereferenceable(48) %25) #3 + call void @_ZN4llvm12SMDiagnosticD2Ev(ptr %ref.tmp) #3 + %26 = getelementptr inbounds %"class.std::allocator", ptr %ref.tmp.i.i, i64 0, i32 0 + call void @llvm.lifetime.start.p0(i64 1, ptr %26) #3 + %27 = bitcast ptr %arrayidx.i.i.i36 to ptr + %cmp.i.i.i = icmp eq ptr %arrayidx.i.i.i36, @_ZNSs4_Rep20_S_empty_rep_storageE br i1 %cmp.i.i.i, label %_ZNSsD1Ev.exit, label %if.then.i.i.i45, !prof !28 if.then.i.i.i45: ; preds = %_ZN4llvm12SMDiagnosticaSEOS0_.exit - %_M_refcount.i.i.i = getelementptr inbounds i8, i8* %8, i64 -8 - %28 = bitcast i8* %_M_refcount.i.i.i to i32* - br i1 icmp ne (i8* bitcast (i32 (i32*, void (i8*)*)* @__pthread_key_create to i8*), i8* null), label %if.then.i.i.i.i, label %if.else.i.i.i.i + %_M_refcount.i.i.i = getelementptr inbounds i8, ptr %8, i64 -8 + %28 = bitcast ptr %_M_refcount.i.i.i to ptr + br i1 icmp ne (ptr @__pthread_key_create, ptr null), label %if.then.i.i.i.i, label %if.else.i.i.i.i if.then.i.i.i.i: ; preds = %if.then.i.i.i45 - %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast = bitcast i32* %.atomicdst.i.i.i.i.i to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) - %29 = atomicrmw volatile add i32* %28, i32 -1 acq_rel - store i32 %29, i32* %.atomicdst.i.i.i.i.i, align 4 - %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i = load volatile i32, i32* %.atomicdst.i.i.i.i.i, align 4 - call void @llvm.lifetime.end.p0i8(i64 4, i8* %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) + %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast = bitcast ptr %.atomicdst.i.i.i.i.i to ptr + call void @llvm.lifetime.start.p0(i64 4, ptr %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) + %29 = atomicrmw volatile add ptr %28, i32 -1 acq_rel + store i32 %29, ptr %.atomicdst.i.i.i.i.i, align 4 + %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i = load volatile i32, ptr %.atomicdst.i.i.i.i.i, align 4 + call void @llvm.lifetime.end.p0(i64 4, ptr %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i if.else.i.i.i.i: ; preds = %if.then.i.i.i45 - %30 = load i32, i32* %28, align 4, !tbaa !29 + %30 = load i32, ptr %28, align 4, !tbaa !29 %add.i.i.i.i.i = add nsw i32 %30, -1 - store i32 %add.i.i.i.i.i, i32* %28, align 4, !tbaa !29 + store i32 %add.i.i.i.i.i, ptr %28, align 4, !tbaa !29 br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i _ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i: ; preds = %if.else.i.i.i.i, %if.then.i.i.i.i @@ -351,38 +351,38 @@ _ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i: ; preds = %if.else.i br i1 %cmp3.i.i.i, label %if.then4.i.i.i, label %_ZNSsD1Ev.exit if.then4.i.i.i: ; preds = %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i - call void @_ZNSs4_Rep10_M_destroyERKSaIcE(%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"* %27, %"class.std::allocator"* dereferenceable(1) %ref.tmp.i.i) #3 + call void @_ZNSs4_Rep10_M_destroyERKSaIcE(ptr %27, ptr dereferenceable(1) %ref.tmp.i.i) #3 br label %_ZNSsD1Ev.exit _ZNSsD1Ev.exit: ; preds = %_ZN4llvm12SMDiagnosticaSEOS0_.exit, %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i, %if.then4.i.i.i - call void @llvm.lifetime.end.p0i8(i64 1, i8* %26) #3 - %31 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i47, i64 0, i32 0 - call void @llvm.lifetime.start.p0i8(i64 1, i8* %31) #3 - %_M_p.i.i.i.i48 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %ref.tmp5, i64 0, i32 0, i32 0 - %32 = load i8*, i8** %_M_p.i.i.i.i48, align 8, !tbaa !1 - %arrayidx.i.i.i49 = getelementptr inbounds i8, i8* %32, i64 -24 - %33 = bitcast i8* %arrayidx.i.i.i49 to %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"* - %cmp.i.i.i50 = icmp eq i8* %arrayidx.i.i.i49, bitcast ([0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE to i8*) + call void @llvm.lifetime.end.p0(i64 1, ptr %26) #3 + %31 = getelementptr inbounds %"class.std::allocator", ptr %ref.tmp.i.i47, i64 0, i32 0 + call void @llvm.lifetime.start.p0(i64 1, ptr %31) #3 + %_M_p.i.i.i.i48 = getelementptr inbounds %"class.std::basic_string", ptr %ref.tmp5, i64 0, i32 0, i32 0 + %32 = load ptr, ptr %_M_p.i.i.i.i48, align 8, !tbaa !1 + %arrayidx.i.i.i49 = getelementptr inbounds i8, ptr %32, i64 -24 + %33 = bitcast ptr %arrayidx.i.i.i49 to ptr + %cmp.i.i.i50 = icmp eq ptr %arrayidx.i.i.i49, @_ZNSs4_Rep20_S_empty_rep_storageE br i1 %cmp.i.i.i50, label %_ZNSsD1Ev.exit62, label %if.then.i.i.i52, !prof !28 if.then.i.i.i52: ; preds = %_ZNSsD1Ev.exit - %_M_refcount.i.i.i51 = getelementptr inbounds i8, i8* %32, i64 -8 - %34 = bitcast i8* %_M_refcount.i.i.i51 to i32* - br i1 icmp ne (i8* bitcast (i32 (i32*, void (i8*)*)* @__pthread_key_create to i8*), i8* null), label %if.then.i.i.i.i55, label %if.else.i.i.i.i57 + %_M_refcount.i.i.i51 = getelementptr inbounds i8, ptr %32, i64 -8 + %34 = bitcast ptr %_M_refcount.i.i.i51 to ptr + br i1 icmp ne (ptr @__pthread_key_create, ptr null), label %if.then.i.i.i.i55, label %if.else.i.i.i.i57 if.then.i.i.i.i55: ; preds = %if.then.i.i.i52 - %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast = bitcast i32* %.atomicdst.i.i.i.i.i46 to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) - %35 = atomicrmw volatile add i32* %34, i32 -1 acq_rel - store i32 %35, i32* %.atomicdst.i.i.i.i.i46, align 4 - %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i54 = load volatile i32, i32* %.atomicdst.i.i.i.i.i46, align 4 - call void @llvm.lifetime.end.p0i8(i64 4, i8* %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) + %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast = bitcast ptr %.atomicdst.i.i.i.i.i46 to ptr + call void @llvm.lifetime.start.p0(i64 4, ptr %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) + %35 = atomicrmw volatile add ptr %34, i32 -1 acq_rel + store i32 %35, ptr %.atomicdst.i.i.i.i.i46, align 4 + %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i54 = load volatile i32, ptr %.atomicdst.i.i.i.i.i46, align 4 + call void @llvm.lifetime.end.p0(i64 4, ptr %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60 if.else.i.i.i.i57: ; preds = %if.then.i.i.i52 - %36 = load i32, i32* %34, align 4, !tbaa !29 + %36 = load i32, ptr %34, align 4, !tbaa !29 %add.i.i.i.i.i56 = add nsw i32 %36, -1 - store i32 %add.i.i.i.i.i56, i32* %34, align 4, !tbaa !29 + store i32 %add.i.i.i.i.i56, ptr %34, align 4, !tbaa !29 br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60 _ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60: ; preds = %if.else.i.i.i.i57, %if.then.i.i.i.i55 @@ -391,87 +391,87 @@ _ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60: ; preds = %if.else br i1 %cmp3.i.i.i59, label %if.then4.i.i.i61, label %_ZNSsD1Ev.exit62 if.then4.i.i.i61: ; preds = %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60 - call void @_ZNSs4_Rep10_M_destroyERKSaIcE(%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"* %33, %"class.std::allocator"* dereferenceable(1) %ref.tmp.i.i47) #3 + call void @_ZNSs4_Rep10_M_destroyERKSaIcE(ptr %33, ptr dereferenceable(1) %ref.tmp.i.i47) #3 br label %_ZNSsD1Ev.exit62 _ZNSsD1Ev.exit62: ; preds = %_ZNSsD1Ev.exit, %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60, %if.then4.i.i.i61 - call void @llvm.lifetime.end.p0i8(i64 1, i8* %31) #3 + call void @llvm.lifetime.end.p0(i64 1, ptr %31) #3 br label %cleanup cond.false.i.i: ; preds = %_ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit - call void @__assert_fail(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str1, i64 0, i64 0), i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str2, i64 0, i64 0), i32 zeroext 242, i8* getelementptr inbounds ([206 x i8], [206 x i8]* @__PRETTY_FUNCTION__._ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv, i64 0, i64 0)) #7 + call void @__assert_fail(ptr @.str1, ptr @.str2, i32 zeroext 242, ptr @__PRETTY_FUNCTION__._ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv) #7 unreachable _ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit: ; preds = %entry - %_M_head_impl.i.i.i.i.i = bitcast %"class.llvm::ErrorOr"* %FileOrErr to %"class.llvm::MemoryBuffer"** - %37 = load %"class.llvm::MemoryBuffer"*, %"class.llvm::MemoryBuffer"** %_M_head_impl.i.i.i.i.i, align 8, !tbaa !27 - %call9 = call %"class.llvm::Module"* @_ZN4llvm7ParseIREPNS_12MemoryBufferERNS_12SMDiagnosticERNS_11LLVMContextE(%"class.llvm::MemoryBuffer"* %37, %"class.llvm::SMDiagnostic"* dereferenceable(200) %Err, %"class.llvm::LLVMContext"* dereferenceable(8) %Context) + %_M_head_impl.i.i.i.i.i = bitcast ptr %FileOrErr to ptr + %37 = load ptr, ptr %_M_head_impl.i.i.i.i.i, align 8, !tbaa !27 + %call9 = call ptr @_ZN4llvm7ParseIREPNS_12MemoryBufferERNS_12SMDiagnosticERNS_11LLVMContextE(ptr %37, ptr dereferenceable(200) %Err, ptr dereferenceable(8) %Context) br label %cleanup cleanup: ; preds = %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit, %_ZNSsD1Ev.exit62 - %retval.0 = phi %"class.llvm::Module"* [ null, %_ZNSsD1Ev.exit62 ], [ %call9, %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit ] - %bf.load.i = load i8, i8* %HasError.i24, align 8 + %retval.0 = phi ptr [ null, %_ZNSsD1Ev.exit62 ], [ %call9, %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit ] + %bf.load.i = load i8, ptr %HasError.i24, align 8 %38 = and i8 %bf.load.i, 1 %bf.cast.i = icmp eq i8 %38, 0 br i1 %bf.cast.i, label %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv.exit.i, label %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEED2Ev.exit _ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv.exit.i: ; preds = %cleanup - %_M_head_impl.i.i.i.i.i.i = bitcast %"class.llvm::ErrorOr"* %FileOrErr to %"class.llvm::MemoryBuffer"** - %39 = load %"class.llvm::MemoryBuffer"*, %"class.llvm::MemoryBuffer"** %_M_head_impl.i.i.i.i.i.i, align 8, !tbaa !27 - %cmp.i.i = icmp eq %"class.llvm::MemoryBuffer"* %39, null + %_M_head_impl.i.i.i.i.i.i = bitcast ptr %FileOrErr to ptr + %39 = load ptr, ptr %_M_head_impl.i.i.i.i.i.i, align 8, !tbaa !27 + %cmp.i.i = icmp eq ptr %39, null br i1 %cmp.i.i, label %_ZNSt10unique_ptrIN4llvm12MemoryBufferESt14default_deleteIS1_EED2Ev.exit.i, label %_ZNKSt14default_deleteIN4llvm12MemoryBufferEEclEPS1_.exit.i.i _ZNKSt14default_deleteIN4llvm12MemoryBufferEEclEPS1_.exit.i.i: ; preds = %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv.exit.i - %40 = bitcast %"class.llvm::MemoryBuffer"* %39 to void (%"class.llvm::MemoryBuffer"*)*** - %vtable.i.i.i = load void (%"class.llvm::MemoryBuffer"*)**, void (%"class.llvm::MemoryBuffer"*)*** %40, align 8, !tbaa !11 - %vfn.i.i.i = getelementptr inbounds void (%"class.llvm::MemoryBuffer"*)*, void (%"class.llvm::MemoryBuffer"*)** %vtable.i.i.i, i64 1 - %41 = load void (%"class.llvm::MemoryBuffer"*)*, void (%"class.llvm::MemoryBuffer"*)** %vfn.i.i.i, align 8 - call void %41(%"class.llvm::MemoryBuffer"* %39) #3 + %40 = bitcast ptr %39 to ptr + %vtable.i.i.i = load ptr, ptr %40, align 8, !tbaa !11 + %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 + %41 = load ptr, ptr %vfn.i.i.i, align 8 + call void %41(ptr %39) #3 br label %_ZNSt10unique_ptrIN4llvm12MemoryBufferESt14default_deleteIS1_EED2Ev.exit.i _ZNSt10unique_ptrIN4llvm12MemoryBufferESt14default_deleteIS1_EED2Ev.exit.i: ; preds = %_ZNKSt14default_deleteIN4llvm12MemoryBufferEEclEPS1_.exit.i.i, %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv.exit.i - store %"class.llvm::MemoryBuffer"* null, %"class.llvm::MemoryBuffer"** %_M_head_impl.i.i.i.i.i.i, align 8, !tbaa !27 + store ptr null, ptr %_M_head_impl.i.i.i.i.i.i, align 8, !tbaa !27 br label %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEED2Ev.exit _ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEED2Ev.exit: ; preds = %cleanup, %_ZNSt10unique_ptrIN4llvm12MemoryBufferESt14default_deleteIS1_EED2Ev.exit.i - ret %"class.llvm::Module"* %retval.0 + ret ptr %retval.0 } ; Function Attrs: nounwind -declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #3 +declare void @llvm.lifetime.start.p0(i64, ptr nocapture) #3 ; Function Attrs: nounwind -declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #3 +declare void @llvm.lifetime.end.p0(i64, ptr nocapture) #3 ; Function Attrs: noreturn nounwind -declare void @__assert_fail(i8*, i8*, i32 zeroext, i8*) #4 +declare void @__assert_fail(ptr, ptr, i32 zeroext, ptr) #4 -declare dereferenceable(8) %"class.std::basic_string"* @_ZNSs6insertEmPKcm(%"class.std::basic_string"*, i64, i8*, i64) #1 +declare dereferenceable(8) ptr @_ZNSs6insertEmPKcm(ptr, i64, ptr, i64) #1 ; Function Attrs: nounwind -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1) #3 +declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i1) #3 ; Function Attrs: nounwind -declare void @_ZNSs4_Rep10_M_destroyERKSaIcE(%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"*, %"class.std::allocator"* dereferenceable(1)) #0 +declare void @_ZNSs4_Rep10_M_destroyERKSaIcE(ptr, ptr dereferenceable(1)) #0 ; Function Attrs: nounwind -declare extern_weak signext i32 @__pthread_key_create(i32*, void (i8*)*) #0 +declare extern_weak signext i32 @__pthread_key_create(ptr, ptr) #0 ; Function Attrs: nobuiltin nounwind -declare void @_ZdlPv(i8*) #6 +declare void @_ZdlPv(ptr) #6 -declare void @_ZNSsC1EPKcmRKSaIcE(%"class.std::basic_string"*, i8*, i64, %"class.std::allocator"* dereferenceable(1)) #1 +declare void @_ZNSsC1EPKcmRKSaIcE(ptr, ptr, i64, ptr dereferenceable(1)) #1 -declare hidden void @_ZN4llvm12SMDiagnosticD2Ev(%"class.llvm::SMDiagnostic"* readonly %this) unnamed_addr #2 align 2 +declare hidden void @_ZN4llvm12SMDiagnosticD2Ev(ptr readonly %this) unnamed_addr #2 align 2 -declare dereferenceable(48) %"class.llvm::SmallVectorImpl.85"* @_ZN4llvm15SmallVectorImplINS_7SMFixItEEaSEOS2_(%"class.llvm::SmallVectorImpl.85"* %this, %"class.llvm::SmallVectorImpl.85"* dereferenceable(48) %RHS) #0 align 2 +declare dereferenceable(48) ptr @_ZN4llvm15SmallVectorImplINS_7SMFixItEEaSEOS2_(ptr %this, ptr dereferenceable(48) %RHS) #0 align 2 -declare %"class.llvm::Module"* @_ZN4llvm7ParseIREPNS_12MemoryBufferERNS_12SMDiagnosticERNS_11LLVMContextE(%"class.llvm::MemoryBuffer"* %Buffer, %"class.llvm::SMDiagnostic"* dereferenceable(200) %Err, %"class.llvm::LLVMContext"* dereferenceable(8) %Context) #0 +declare ptr @_ZN4llvm7ParseIREPNS_12MemoryBufferERNS_12SMDiagnosticERNS_11LLVMContextE(ptr %Buffer, ptr dereferenceable(200) %Err, ptr dereferenceable(8) %Context) #0 -declare void @_ZNSs4swapERSs(%"class.std::basic_string"*, %"class.std::basic_string"* dereferenceable(8)) #1 +declare void @_ZNSs4swapERSs(ptr, ptr dereferenceable(8)) #1 ; Function Attrs: nounwind -declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) #3 +declare void @llvm.memset.p0.i64(ptr nocapture, i8, i64, i1) #3 attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } diff --git a/llvm/test/CodeGen/PowerPC/vsx-infl-copy1.ll b/llvm/test/CodeGen/PowerPC/vsx-infl-copy1.ll index 4033410..02aeeb2 100644 --- a/llvm/test/CodeGen/PowerPC/vsx-infl-copy1.ll +++ b/llvm/test/CodeGen/PowerPC/vsx-infl-copy1.ll @@ -6,7 +6,7 @@ target triple = "powerpc64-unknown-linux-gnu" @uc = external global [1024 x i32], align 4 ; Function Attrs: noinline nounwind -define <4 x i32> @_Z8example9Pj(<4 x i32>* %addr1, i64 %input1, i64 %input2) #0 { +define <4 x i32> @_Z8example9Pj(ptr %addr1, i64 %input1, i64 %input2) #0 { entry: br label %vector.body @@ -30,69 +30,69 @@ vector.body: ; preds = %vector.body, %entry %vec.phi28 = phi <4 x i32> [ zeroinitializer, %entry ], [ %51, %vector.body ] %vec.phi29 = phi <4 x i32> [ zeroinitializer, %entry ], [ %52, %vector.body ] %vec.phi30 = phi <4 x i32> [ zeroinitializer, %entry ], [ %53, %vector.body ] - %wide.load32 = load <4 x i32>, <4 x i32>* null, align 4 + %wide.load32 = load <4 x i32>, ptr null, align 4 %.sum82 = add i64 %index, 24 - %0 = getelementptr [1024 x i32], [1024 x i32]* @ub, i64 0, i64 %.sum82 - %1 = bitcast i32* %0 to <4 x i32>* - %wide.load36 = load <4 x i32>, <4 x i32>* %1, align 4 - %wide.load37 = load <4 x i32>, <4 x i32>* %addr1, align 4 + %0 = getelementptr [1024 x i32], ptr @ub, i64 0, i64 %.sum82 + %1 = bitcast ptr %0 to ptr + %wide.load36 = load <4 x i32>, ptr %1, align 4 + %wide.load37 = load <4 x i32>, ptr %addr1, align 4 %.sum84 = add i64 %index, 32 - %2 = getelementptr [1024 x i32], [1024 x i32]* @ub, i64 0, i64 %.sum84 - %3 = bitcast i32* %2 to <4 x i32>* - %wide.load38 = load <4 x i32>, <4 x i32>* %3, align 4 + %2 = getelementptr [1024 x i32], ptr @ub, i64 0, i64 %.sum84 + %3 = bitcast ptr %2 to ptr + %wide.load38 = load <4 x i32>, ptr %3, align 4 %.sum85 = add i64 %index, 36 - %4 = getelementptr [1024 x i32], [1024 x i32]* @ub, i64 0, i64 %.sum85 - %5 = bitcast i32* %4 to <4 x i32>* - %wide.load39 = load <4 x i32>, <4 x i32>* %5, align 4 - %6 = getelementptr [1024 x i32], [1024 x i32]* @ub, i64 0, i64 %input1 - %7 = bitcast i32* %6 to <4 x i32>* - %wide.load40 = load <4 x i32>, <4 x i32>* %7, align 4 + %4 = getelementptr [1024 x i32], ptr @ub, i64 0, i64 %.sum85 + %5 = bitcast ptr %4 to ptr + %wide.load39 = load <4 x i32>, ptr %5, align 4 + %6 = getelementptr [1024 x i32], ptr @ub, i64 0, i64 %input1 + %7 = bitcast ptr %6 to ptr + %wide.load40 = load <4 x i32>, ptr %7, align 4 %.sum87 = add i64 %index, 44 - %8 = getelementptr [1024 x i32], [1024 x i32]* @ub, i64 0, i64 %.sum87 - %9 = bitcast i32* %8 to <4 x i32>* - %wide.load41 = load <4 x i32>, <4 x i32>* %9, align 4 - %10 = getelementptr inbounds [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %index - %11 = bitcast i32* %10 to <4 x i32>* - %wide.load42 = load <4 x i32>, <4 x i32>* %11, align 4 + %8 = getelementptr [1024 x i32], ptr @ub, i64 0, i64 %.sum87 + %9 = bitcast ptr %8 to ptr + %wide.load41 = load <4 x i32>, ptr %9, align 4 + %10 = getelementptr inbounds [1024 x i32], ptr @uc, i64 0, i64 %index + %11 = bitcast ptr %10 to ptr + %wide.load42 = load <4 x i32>, ptr %11, align 4 %.sum8889 = or i64 %index, 4 - %12 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum8889 - %13 = bitcast i32* %12 to <4 x i32>* - %wide.load43 = load <4 x i32>, <4 x i32>* %13, align 4 + %12 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum8889 + %13 = bitcast ptr %12 to ptr + %wide.load43 = load <4 x i32>, ptr %13, align 4 %.sum9091 = or i64 %index, 8 - %14 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum9091 - %15 = bitcast i32* %14 to <4 x i32>* - %wide.load44 = load <4 x i32>, <4 x i32>* %15, align 4 + %14 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum9091 + %15 = bitcast ptr %14 to ptr + %wide.load44 = load <4 x i32>, ptr %15, align 4 %.sum94 = add i64 %index, 16 - %16 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum94 - %17 = bitcast i32* %16 to <4 x i32>* - %wide.load46 = load <4 x i32>, <4 x i32>* %17, align 4 + %16 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum94 + %17 = bitcast ptr %16 to ptr + %wide.load46 = load <4 x i32>, ptr %17, align 4 %.sum95 = add i64 %index, 20 - %18 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum95 - %19 = bitcast i32* %18 to <4 x i32>* - %wide.load47 = load <4 x i32>, <4 x i32>* %19, align 4 - %20 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %input2 - %21 = bitcast i32* %20 to <4 x i32>* - %wide.load48 = load <4 x i32>, <4 x i32>* %21, align 4 + %18 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum95 + %19 = bitcast ptr %18 to ptr + %wide.load47 = load <4 x i32>, ptr %19, align 4 + %20 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %input2 + %21 = bitcast ptr %20 to ptr + %wide.load48 = load <4 x i32>, ptr %21, align 4 %.sum97 = add i64 %index, 28 - %22 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum97 - %23 = bitcast i32* %22 to <4 x i32>* - %wide.load49 = load <4 x i32>, <4 x i32>* %23, align 4 + %22 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum97 + %23 = bitcast ptr %22 to ptr + %wide.load49 = load <4 x i32>, ptr %23, align 4 %.sum98 = add i64 %index, 32 - %24 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum98 - %25 = bitcast i32* %24 to <4 x i32>* - %wide.load50 = load <4 x i32>, <4 x i32>* %25, align 4 + %24 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum98 + %25 = bitcast ptr %24 to ptr + %wide.load50 = load <4 x i32>, ptr %25, align 4 %.sum99 = add i64 %index, 36 - %26 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum99 - %27 = bitcast i32* %26 to <4 x i32>* - %wide.load51 = load <4 x i32>, <4 x i32>* %27, align 4 + %26 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum99 + %27 = bitcast ptr %26 to ptr + %wide.load51 = load <4 x i32>, ptr %27, align 4 %.sum100 = add i64 %index, 40 - %28 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum100 - %29 = bitcast i32* %28 to <4 x i32>* - %wide.load52 = load <4 x i32>, <4 x i32>* %29, align 4 + %28 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum100 + %29 = bitcast ptr %28 to ptr + %wide.load52 = load <4 x i32>, ptr %29, align 4 %.sum101 = add i64 %index, 44 - %30 = getelementptr [1024 x i32], [1024 x i32]* @uc, i64 0, i64 %.sum101 - %31 = bitcast i32* %30 to <4 x i32>* - %wide.load53 = load <4 x i32>, <4 x i32>* %31, align 4 + %30 = getelementptr [1024 x i32], ptr @uc, i64 0, i64 %.sum101 + %31 = bitcast ptr %30 to ptr + %wide.load53 = load <4 x i32>, ptr %31, align 4 %32 = add <4 x i32> zeroinitializer, %vec.phi %33 = add <4 x i32> zeroinitializer, %vec.phi20 %34 = add <4 x i32> %wide.load32, %vec.phi21 diff --git a/llvm/test/CodeGen/PowerPC/vsx-infl-copy2.ll b/llvm/test/CodeGen/PowerPC/vsx-infl-copy2.ll index a38803f..04bbc2e 100644 --- a/llvm/test/CodeGen/PowerPC/vsx-infl-copy2.ll +++ b/llvm/test/CodeGen/PowerPC/vsx-infl-copy2.ll @@ -3,7 +3,7 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64-unknown-linux-gnu" ; Function Attrs: nounwind -define void @_Z28test_goto_loop_unroll_factorILi22EiEvPKT0_iPKc(i32* nocapture readonly %first) #0 { +define void @_Z28test_goto_loop_unroll_factorILi22EiEvPKT0_iPKc(ptr nocapture readonly %first) #0 { entry: br i1 false, label %loop2_start, label %if.end5 @@ -29,39 +29,39 @@ vector.body: ; preds = %vector.body, %loop_ %vec.phi70 = phi <4 x i32> [ %41, %vector.body ], [ zeroinitializer, %loop_start.preheader ] %vec.phi71 = phi <4 x i32> [ %42, %vector.body ], [ zeroinitializer, %loop_start.preheader ] %.sum = add i64 0, 4 - %wide.load72 = load <4 x i32>, <4 x i32>* null, align 4 + %wide.load72 = load <4 x i32>, ptr null, align 4 %.sum109 = add i64 0, 8 - %0 = getelementptr i32, i32* %first, i64 %.sum109 - %1 = bitcast i32* %0 to <4 x i32>* - %wide.load73 = load <4 x i32>, <4 x i32>* %1, align 4 + %0 = getelementptr i32, ptr %first, i64 %.sum109 + %1 = bitcast ptr %0 to ptr + %wide.load73 = load <4 x i32>, ptr %1, align 4 %.sum110 = add i64 0, 12 - %2 = getelementptr i32, i32* %first, i64 %.sum110 - %3 = bitcast i32* %2 to <4 x i32>* - %wide.load74 = load <4 x i32>, <4 x i32>* %3, align 4 + %2 = getelementptr i32, ptr %first, i64 %.sum110 + %3 = bitcast ptr %2 to ptr + %wide.load74 = load <4 x i32>, ptr %3, align 4 %.sum112 = add i64 0, 20 - %4 = getelementptr i32, i32* %first, i64 %.sum112 - %5 = bitcast i32* %4 to <4 x i32>* - %wide.load76 = load <4 x i32>, <4 x i32>* %5, align 4 + %4 = getelementptr i32, ptr %first, i64 %.sum112 + %5 = bitcast ptr %4 to ptr + %wide.load76 = load <4 x i32>, ptr %5, align 4 %.sum114 = add i64 0, 28 - %6 = getelementptr i32, i32* %first, i64 %.sum114 - %7 = bitcast i32* %6 to <4 x i32>* - %wide.load78 = load <4 x i32>, <4 x i32>* %7, align 4 + %6 = getelementptr i32, ptr %first, i64 %.sum114 + %7 = bitcast ptr %6 to ptr + %wide.load78 = load <4 x i32>, ptr %7, align 4 %.sum115 = add i64 0, 32 - %8 = getelementptr i32, i32* %first, i64 %.sum115 - %9 = bitcast i32* %8 to <4 x i32>* - %wide.load79 = load <4 x i32>, <4 x i32>* %9, align 4 + %8 = getelementptr i32, ptr %first, i64 %.sum115 + %9 = bitcast ptr %8 to ptr + %wide.load79 = load <4 x i32>, ptr %9, align 4 %.sum116 = add i64 0, 36 - %10 = getelementptr i32, i32* %first, i64 %.sum116 - %11 = bitcast i32* %10 to <4 x i32>* - %wide.load80 = load <4 x i32>, <4 x i32>* %11, align 4 + %10 = getelementptr i32, ptr %first, i64 %.sum116 + %11 = bitcast ptr %10 to ptr + %wide.load80 = load <4 x i32>, ptr %11, align 4 %.sum117 = add i64 0, 40 - %12 = getelementptr i32, i32* %first, i64 %.sum117 - %13 = bitcast i32* %12 to <4 x i32>* - %wide.load81 = load <4 x i32>, <4 x i32>* %13, align 4 + %12 = getelementptr i32, ptr %first, i64 %.sum117 + %13 = bitcast ptr %12 to ptr + %wide.load81 = load <4 x i32>, ptr %13, align 4 %.sum118 = add i64 0, 44 - %14 = getelementptr i32, i32* %first, i64 %.sum118 - %15 = bitcast i32* %14 to <4 x i32>* - %wide.load82 = load <4 x i32>, <4 x i32>* %15, align 4 + %14 = getelementptr i32, ptr %first, i64 %.sum118 + %15 = bitcast ptr %14 to ptr + %wide.load82 = load <4 x i32>, ptr %15, align 4 %16 = mul <4 x i32> %wide.load72, <i32 269850533, i32 269850533, i32 269850533, i32 269850533> %17 = mul <4 x i32> %wide.load73, <i32 269850533, i32 269850533, i32 269850533, i32 269850533> %18 = mul <4 x i32> %wide.load74, <i32 269850533, i32 269850533, i32 269850533, i32 269850533> |