aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/PowerPC
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2024-02-05 14:02:34 +0100
committerNikita Popov <npopov@redhat.com>2024-02-05 14:07:09 +0100
commitff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0 (patch)
treefbdc907161b38e2dec1d3c5bb9e5b2f7973c7416 /llvm/test/CodeGen/PowerPC
parent06f711a906be85e141bcce9a88ab304dc81e74ef (diff)
downloadllvm-ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0.zip
llvm-ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0.tar.gz
llvm-ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0.tar.bz2
[CodeGen] Convert tests to opaque pointers (NFC)
Diffstat (limited to 'llvm/test/CodeGen/PowerPC')
-rw-r--r--llvm/test/CodeGen/PowerPC/2007-11-04-CoalescerCrash.ll24
-rw-r--r--llvm/test/CodeGen/PowerPC/aix-alias-alignment-2.ll12
-rw-r--r--llvm/test/CodeGen/PowerPC/aix-alias-alignment.ll4
-rw-r--r--llvm/test/CodeGen/PowerPC/aix-complex.ll6
-rw-r--r--llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll4
-rw-r--r--llvm/test/CodeGen/PowerPC/block-placement.mir52
-rw-r--r--llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-R0-special-handling.mir30
-rw-r--r--llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir336
-rw-r--r--llvm/test/CodeGen/PowerPC/expand-foldable-isel.ll22
-rw-r--r--llvm/test/CodeGen/PowerPC/fast-isel-branch.ll14
-rw-r--r--llvm/test/CodeGen/PowerPC/lsr-insns-cost.ll46
-rw-r--r--llvm/test/CodeGen/PowerPC/ppc-TOC-stats.ll4
-rw-r--r--llvm/test/CodeGen/PowerPC/ppc32-selectcc-i64.ll18
-rw-r--r--llvm/test/CodeGen/PowerPC/preincprep-i64-check.ll80
-rw-r--r--llvm/test/CodeGen/PowerPC/preincprep-nontrans-crash.ll20
-rw-r--r--llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir46
-rw-r--r--llvm/test/CodeGen/PowerPC/sink-down-more-instructions-regpressure-high.mir286
-rw-r--r--llvm/test/CodeGen/PowerPC/sms-phi-1.ll10
-rw-r--r--llvm/test/CodeGen/PowerPC/sms-phi-3.ll22
-rw-r--r--llvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir22
-rw-r--r--llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll470
-rw-r--r--llvm/test/CodeGen/PowerPC/vsx-infl-copy1.ll102
-rw-r--r--llvm/test/CodeGen/PowerPC/vsx-infl-copy2.ll52
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>