[llvm] d3d7ba1 - [LowerTypeTests] Convert tests to opaque pointers (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 4 08:13:08 PST 2023
Author: Nikita Popov
Date: 2023-01-04T17:12:48+01:00
New Revision: d3d7ba12033f20dfbc8eb6c60954478cff0d0182
URL: https://github.com/llvm/llvm-project/commit/d3d7ba12033f20dfbc8eb6c60954478cff0d0182
DIFF: https://github.com/llvm/llvm-project/commit/d3d7ba12033f20dfbc8eb6c60954478cff0d0182.diff
LOG: [LowerTypeTests] Convert tests to opaque pointers (NFC)
Added:
Modified:
llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
llvm/test/Transforms/LowerTypeTests/align.ll
llvm/test/Transforms/LowerTypeTests/blockaddr-import.ll
llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll
llvm/test/Transforms/LowerTypeTests/blockaddress.ll
llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
llvm/test/Transforms/LowerTypeTests/constant.ll
llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll
llvm/test/Transforms/LowerTypeTests/external-global.ll
llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
llvm/test/Transforms/LowerTypeTests/function-ext.ll
llvm/test/Transforms/LowerTypeTests/function-weak.ll
llvm/test/Transforms/LowerTypeTests/function.ll
llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll
llvm/test/Transforms/LowerTypeTests/import-alias.ll
llvm/test/Transforms/LowerTypeTests/import-icall.ll
llvm/test/Transforms/LowerTypeTests/import-unsat.ll
llvm/test/Transforms/LowerTypeTests/import.ll
llvm/test/Transforms/LowerTypeTests/layout.ll
llvm/test/Transforms/LowerTypeTests/nocfivalue.ll
llvm/test/Transforms/LowerTypeTests/nonstring.ll
llvm/test/Transforms/LowerTypeTests/pr25902.ll
llvm/test/Transforms/LowerTypeTests/pr48245.ll
llvm/test/Transforms/LowerTypeTests/section.ll
llvm/test/Transforms/LowerTypeTests/simple.ll
llvm/test/Transforms/LowerTypeTests/simplify.ll
llvm/test/Transforms/LowerTypeTests/simplify_phi.ll
llvm/test/Transforms/LowerTypeTests/single-offset.ll
llvm/test/Transforms/LowerTypeTests/unnamed.ll
llvm/test/Transforms/LowerTypeTests/unsat.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll b/llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
index 162772c3e80dd..139df60a7b916 100644
--- a/llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
+++ b/llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
@@ -4,9 +4,9 @@
target datalayout = "e-p:64:64"
- at 0 = private unnamed_addr constant [2 x void (...)*] [void (...)* bitcast (void ()* @f to void (...)*), void (...)* bitcast (void ()* @g to void (...)*)], align 16
+ at 0 = private unnamed_addr constant [2 x ptr] [ptr @f, ptr @g], align 16
-; AARCH64: @f = alias void (), void ()* @[[JT:.*]]
+; AARCH64: @f = alias void (), ptr @[[JT:.*]]
define void @f() !type !0 {
ret void
@@ -18,10 +18,10 @@ define internal void @g() !type !0 {
!0 = !{i32 0, !"typeid1"}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+define i1 @foo(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/align.ll b/llvm/test/Transforms/LowerTypeTests/align.ll
index 6b780bd51d078..7028209b39b67 100644
--- a/llvm/test/Transforms/LowerTypeTests/align.ll
+++ b/llvm/test/Transforms/LowerTypeTests/align.ll
@@ -8,9 +8,9 @@ target datalayout = "e-p:32:32"
!0 = !{i32 0, !"typeid1"}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+define i1 @foo(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/blockaddr-import.ll b/llvm/test/Transforms/LowerTypeTests/blockaddr-import.ll
index 9ca887b2d6fc8..38d98f951bf2b 100644
--- a/llvm/test/Transforms/LowerTypeTests/blockaddr-import.ll
+++ b/llvm/test/Transforms/LowerTypeTests/blockaddr-import.ll
@@ -3,14 +3,14 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux"
-declare i1 @llvm.type.test(i8*, metadata) #1
+declare i1 @llvm.type.test(ptr, metadata) #1
declare !type !11 i32 @o(...)
define hidden void @m() #0 !type !3 {
entry:
br label %n
n:
- %call = tail call i32 (i8*, ...) bitcast (i32 (...)* @o to i32 (i8*, ...)*)(i8* blockaddress(@m, %n)) #4
+ %call = tail call i32 (ptr, ...) @o(ptr blockaddress(@m, %n)) #4
; Make sure that blockaddress refers to the new function, m.cfi
; CHECK: define hidden void @m.cfi()
; CHECK: blockaddress(@m.cfi, %n)
diff --git a/llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll b/llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll
index a34400a472657..51a2a59365434 100644
--- a/llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll
+++ b/llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll
@@ -1,23 +1,23 @@
; RUN: opt -S %s -passes=lowertypetests | FileCheck %s
-; CHECK: @badfileops = internal global %struct.f { void ()* @bad_f, void ()* @bad_f }
-; CHECK: @bad_f = internal alias void (), void ()* @.cfi.jumptable
+; CHECK: @badfileops = internal global %struct.f { ptr @bad_f, ptr @bad_f }
+; CHECK: @bad_f = internal alias void (), ptr @.cfi.jumptable
; CHECK: define internal void @bad_f.cfi() !type !0 {
; CHECK-NEXT: ret void
target triple = "x86_64-unknown-linux"
-%struct.f = type { void ()*, void ()* }
- at badfileops = internal global %struct.f { void ()* @bad_f, void ()* @bad_f }, align 8
+%struct.f = type { ptr, ptr }
+ at badfileops = internal global %struct.f { ptr @bad_f, ptr @bad_f }, align 8
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
define internal void @bad_f() !type !1 {
ret void
}
define internal fastcc void @do_f() unnamed_addr !type !2 {
- %1 = tail call i1 @llvm.type.test(i8* undef, metadata !"_ZTSFiP4fileP3uioP5ucrediP6threadE"), !nosanitize !3
+ %1 = tail call i1 @llvm.type.test(ptr undef, metadata !"_ZTSFiP4fileP3uioP5ucrediP6threadE"), !nosanitize !3
ret void
}
diff --git a/llvm/test/Transforms/LowerTypeTests/blockaddress.ll b/llvm/test/Transforms/LowerTypeTests/blockaddress.ll
index 6860c2631faeb..39740bb8a17be 100644
--- a/llvm/test/Transforms/LowerTypeTests/blockaddress.ll
+++ b/llvm/test/Transforms/LowerTypeTests/blockaddress.ll
@@ -1,27 +1,27 @@
; RUN: opt -S %s -passes=lowertypetests | FileCheck %s
-; CHECK: define hidden i8* @f2.cfi() !type !0 {
+; CHECK: define hidden ptr @f2.cfi() !type !0 {
; CHECK-NEXT: br label %b
; CHECK: b:
-; CHECK-NEXT: ret i8* blockaddress(@f2.cfi, %b)
+; CHECK-NEXT: ret ptr blockaddress(@f2.cfi, %b)
; CHECK-NEXT: }
target triple = "x86_64-unknown-linux"
define void @f1() {
entry:
- %0 = call i1 @llvm.type.test(i8* bitcast (i8* ()* @f2 to i8*), metadata !"_ZTSFvP3bioE")
+ %0 = call i1 @llvm.type.test(ptr @f2, metadata !"_ZTSFvP3bioE")
ret void
}
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
-define i8* @f2() !type !5 {
+define ptr @f2() !type !5 {
br label %b
b:
- ret i8* blockaddress(@f2, %b)
+ ret ptr blockaddress(@f2, %b)
}
!5 = !{i64 0, !"_ZTSFvP3bioE"}
diff --git a/llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll b/llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
index d00701c45a5f2..a684527313e67 100644
--- a/llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
+++ b/llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
@@ -20,19 +20,17 @@ entry:
declare !type !3 !type !4 extern_weak i32 @extern_weak()
declare !type !3 !type !4 i32 @extern_decl()
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
define hidden i32 @main(i32 %argc) {
entry:
%cmp.i = icmp sgt i32 %argc, 1
- %fptr1 = select i1 %cmp.i, i32 ()* @local_func1, i32 ()* @local_func2
- %fptr2 = select i1 %cmp.i, i32 ()* @extern_weak, i32 ()* @extern_decl
- %0 = bitcast i32 ()* %fptr1 to i8*
- %1 = tail call i1 @llvm.type.test(i8* nonnull %0, metadata !"_ZTSFivE")
+ %fptr1 = select i1 %cmp.i, ptr @local_func1, ptr @local_func2
+ %fptr2 = select i1 %cmp.i, ptr @extern_weak, ptr @extern_decl
+ %0 = tail call i1 @llvm.type.test(ptr nonnull %fptr1, metadata !"_ZTSFivE")
%call2 = tail call i32 %fptr1()
- %2 = bitcast i32 ()* %fptr2 to i8*
- %3 = tail call i1 @llvm.type.test(i8* %2, metadata !"_ZTSFivE")
+ %1 = tail call i1 @llvm.type.test(ptr %fptr2, metadata !"_ZTSFivE")
%call4 = tail call i32 %fptr2()
%call5 = tail call i32 @extern_decl()
@@ -55,10 +53,10 @@ entry:
; FULL: define hidden i32 @local_func3(i32 %i)
; Indirect references to local_func1 and local_func2 must to through jump table
-; FULL: %fptr1 = select i1 %cmp.i, i32 ()* @local_func1, i32 ()* @local_func2
+; FULL: %fptr1 = select i1 %cmp.i, ptr @local_func1, ptr @local_func2
; Indirect references to extern_weak and extern_decl must go through jump table
-; FULL: %fptr2 = select i1 %cmp.i, i32 ()* select (i1 icmp ne (i32 ()* @extern_weak, i32 ()* null), i32 ()* bitcast ([8 x i8]* getelementptr inbounds ([4 x [8 x i8]], [4 x [8 x i8]]* bitcast (void ()* @.cfi.jumptable to [4 x [8 x i8]]*), i64 0, i64 2) to i32 ()*), i32 ()* null), i32 ()* bitcast ([8 x i8]* getelementptr inbounds ([4 x [8 x i8]], [4 x [8 x i8]]* bitcast (void ()* @.cfi.jumptable to [4 x [8 x i8]]*), i64 0, i64 3) to i32 ()*)
+; FULL: %fptr2 = select i1 %cmp.i, ptr select (i1 icmp ne (ptr @extern_weak, ptr null), ptr getelementptr inbounds ([4 x [8 x i8]], ptr @.cfi.jumptable, i64 0, i64 2), ptr null), ptr getelementptr inbounds ([4 x [8 x i8]], ptr @.cfi.jumptable, i64 0, i64 3)
; Direct calls to extern_weak and extern_decl should go to original names
; FULL: %call5 = tail call i32 @extern_decl()
@@ -81,10 +79,10 @@ entry:
; THIN: define hidden i32 @local_func3.cfi(i32 %i){{.*}}
; Indirect references to local_func1 and local_func2 must to through jump table
-; THIN: %fptr1 = select i1 %cmp.i, i32 ()* @local_func1, i32 ()* @local_func2
+; THIN: %fptr1 = select i1 %cmp.i, ptr @local_func1, ptr @local_func2
; Indirect references to extern_weak and extern_decl must go through jump table
-; THIN: %fptr2 = select i1 %cmp.i, i32 ()* select (i1 icmp ne (i32 ()* @extern_weak, i32 ()* null), i32 ()* @extern_weak.cfi_jt, i32 ()* null), i32 ()* @extern_decl.cfi_jt
+; THIN: %fptr2 = select i1 %cmp.i, ptr select (i1 icmp ne (ptr @extern_weak, ptr null), ptr @extern_weak.cfi_jt, ptr null), ptr @extern_decl.cfi_jt
; Direct calls to extern_weak and extern_decl should go to original names
; THIN: %call5 = tail call i32 @extern_decl()
diff --git a/llvm/test/Transforms/LowerTypeTests/constant.ll b/llvm/test/Transforms/LowerTypeTests/constant.ll
index e4cdf04e0f959..5ac96bf0e3c94 100644
--- a/llvm/test/Transforms/LowerTypeTests/constant.ll
+++ b/llvm/test/Transforms/LowerTypeTests/constant.ll
@@ -8,25 +8,25 @@ target datalayout = "e-p:32:32"
!0 = !{i32 0, !"typeid1"}
!1 = !{i32 4, !"typeid1"}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
; CHECK: @foo(
define i1 @foo() {
; CHECK: ret i1 true
- %x = call i1 @llvm.type.test(i8* bitcast (i32* @a to i8*), metadata !"typeid1")
+ %x = call i1 @llvm.type.test(ptr @a, metadata !"typeid1")
ret i1 %x
}
; CHECK: @bar(
define i1 @bar() {
; CHECK: ret i1 true
- %x = call i1 @llvm.type.test(i8* bitcast (i32* getelementptr ([2 x i32], [2 x i32]* @b, i32 0, i32 1) to i8*), metadata !"typeid1")
+ %x = call i1 @llvm.type.test(ptr getelementptr ([2 x i32], ptr @b, i32 0, i32 1), metadata !"typeid1")
ret i1 %x
}
; CHECK: @baz(
define i1 @baz() {
; CHECK-NOT: ret i1 true
- %x = call i1 @llvm.type.test(i8* bitcast (i32* getelementptr ([2 x i32], [2 x i32]* @b, i32 0, i32 0) to i8*), metadata !"typeid1")
+ %x = call i1 @llvm.type.test(ptr @b, metadata !"typeid1")
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll b/llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll
index 46df86b0cc892..3cf4d447605da 100644
--- a/llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll
+++ b/llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll
@@ -4,59 +4,56 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-grtev4-linux-gnu"
-%struct.A = type { i32 (...)** }
+%struct.A = type { ptr }
%struct.B = type { %struct.A }
%struct.C = type { %struct.A }
- at _ZTV1B = constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.B*, i32)* @_ZN1B1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !1
- at _ZTV1C = constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.C*, i32)* @_ZN1C1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !2
+ at _ZTV1B = constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1B1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !1
+ at _ZTV1C = constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1C1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !2
; CHECK-LABEL: define i32 @test
-define i32 @test(%struct.A* %obj, i32 %a, i32 %b) {
+define i32 @test(ptr %obj, i32 %a, i32 %b) {
entry:
%tobool.not = icmp eq i32 %a, 0
br i1 %tobool.not, label %if.else, label %if.then
if.then:
- %0 = bitcast %struct.A* %obj to i8***
- %vtable = load i8**, i8*** %0
- %1 = bitcast i8** %vtable to i8*
- %p = call i1 @llvm.type.test(i8* %1, metadata !"_ZTS1A")
+ %vtable = load ptr, ptr %obj
+ %p = call i1 @llvm.type.test(ptr %vtable, metadata !"_ZTS1A")
; CHECK-NOT: @llvm.type.test
- %fptrptr = getelementptr i8*, i8** %vtable, i32 1
- %2 = bitcast i8** %fptrptr to i32 (%struct.A*, i32)**
- %fptr1 = load i32 (%struct.A*, i32)*, i32 (%struct.A*, i32)** %2, align 8
- %call = tail call i32 %fptr1(%struct.A* nonnull %obj, i32 %a)
+ %fptrptr = getelementptr ptr, ptr %vtable, i32 1
+ %fptr1 = load ptr, ptr %fptrptr, align 8
+ %call = tail call i32 %fptr1(ptr nonnull %obj, i32 %a)
br label %if.end
if.else:
- %3 = icmp ne i32 %b, 0
+ %0 = icmp ne i32 %b, 0
br label %if.end
if.end:
- %4 = phi i1 [ %3, %if.else ], [ %p, %if.then ]
- call void @llvm.assume(i1 %4)
+ %1 = phi i1 [ %0, %if.else ], [ %p, %if.then ]
+ call void @llvm.assume(i1 %1)
; Still have the assume, but the type test target replaced with true.
-; CHECK: %4 = phi i1 [ %3, %if.else ], [ true, %if.then ]
-; CHECK: call void @llvm.assume(i1 %4)
+; CHECK: %1 = phi i1 [ %0, %if.else ], [ true, %if.then ]
+; CHECK: call void @llvm.assume(i1 %1)
ret i32 0
}
; CHECK-LABEL: ret i32
; CHECK-LABEL: }
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
declare void @llvm.assume(i1)
-define i32 @_ZN1B1fEi(%struct.B* %this, i32 %a) #0 {
+define i32 @_ZN1B1fEi(ptr %this, i32 %a) #0 {
ret i32 0;
}
-define i32 @_ZN1A1nEi(%struct.A* %this, i32 %a) #0 {
+define i32 @_ZN1A1nEi(ptr %this, i32 %a) #0 {
ret i32 0;
}
-define i32 @_ZN1C1fEi(%struct.C* %this, i32 %a) #0 {
+define i32 @_ZN1C1fEi(ptr %this, i32 %a) #0 {
ret i32 0;
}
diff --git a/llvm/test/Transforms/LowerTypeTests/external-global.ll b/llvm/test/Transforms/LowerTypeTests/external-global.ll
index 081c8beb1b72a..37d680e6b6cc8 100644
--- a/llvm/test/Transforms/LowerTypeTests/external-global.ll
+++ b/llvm/test/Transforms/LowerTypeTests/external-global.ll
@@ -7,7 +7,7 @@ target triple = "x86_64-scei-ps4"
@dipsy = external constant i8, !type !0
define void @tinkywinky() {
- store i8* @dipsy, i8** undef
+ store ptr @dipsy, ptr undef
ret void
}
diff --git a/llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll b/llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
index bbcd9183aad9d..32f91b1481194 100644
--- a/llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
+++ b/llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
@@ -22,9 +22,9 @@ define void @h2() "target-features"="-thumb-mode" !type !1 {
ret void
}
-declare void @takeaddr(void()*, void()*, void()*, void()*, void()*)
+declare void @takeaddr(ptr, ptr, ptr, ptr, ptr)
define void @addrtaken() {
- call void @takeaddr(void()* @f1, void()* @g1, void()* @f2, void()* @g2, void()* @h2)
+ call void @takeaddr(ptr @f1, ptr @g1, ptr @f2, ptr @g2, ptr @h2)
ret void
}
@@ -33,13 +33,13 @@ define void @addrtaken() {
; CHECK: define private void {{.*}} #[[AT:.*]] align 4 {
; CHECK-NEXT: entry:
-; CHECK-NEXT: call void asm sideeffect "b.w $0\0Ab.w $1\0A", "s,s"(void ()* @f1.cfi, void ()* @g1.cfi)
+; CHECK-NEXT: call void asm sideeffect "b.w $0\0Ab.w $1\0A", "s,s"(ptr @f1.cfi, ptr @g1.cfi)
; CHECK-NEXT: unreachable
; CHECK-NEXT: }
; CHECK: define private void {{.*}} #[[AA:.*]] align 4 {
; CHECK-NEXT: entry:
-; CHECK-NEXT: call void asm sideeffect "b $0\0Ab $1\0Ab $2\0A", "s,s,s"(void ()* @f2.cfi, void ()* @g2.cfi, void ()* @h2.cfi)
+; CHECK-NEXT: call void asm sideeffect "b $0\0Ab $1\0Ab $2\0A", "s,s,s"(ptr @f2.cfi, ptr @g2.cfi, ptr @h2.cfi)
; CHECK-NEXT: unreachable
; CHECK-NEXT: }
diff --git a/llvm/test/Transforms/LowerTypeTests/function-disjoint.ll b/llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
index 31df752da624b..92281e274adf0 100644
--- a/llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
+++ b/llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
@@ -5,11 +5,11 @@
target datalayout = "e-p:64:64"
-; X64: @f = alias void (), void ()* @[[JT0:.*]]
-; X64: @g = alias void (), void ()* @[[JT1:.*]]
+; X64: @f = alias void (), ptr @[[JT0:.*]]
+; X64: @g = alias void (), ptr @[[JT1:.*]]
; WASM32: private constant [0 x i8] zeroinitializer
- at 0 = private unnamed_addr constant [2 x void ()*] [void ()* @f, void ()* @g], align 16
+ at 0 = private unnamed_addr constant [2 x ptr] [ptr @f, ptr @g], align 16
; X64: define hidden void @f.cfi()
; WASM32: define void @f() !type !{{[0-9]+}} !wasm.index ![[I0:[0-9]+]]
@@ -26,24 +26,24 @@ define void @g() !type !1 {
!0 = !{i32 0, !"typeid1"}
!1 = !{i32 0, !"typeid2"}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- ; X64: icmp eq i64 {{.*}}, ptrtoint (void ()* @[[JT0]] to i64)
- ; WASM32: icmp eq i64 {{.*}}, ptrtoint (i8* getelementptr (i8, i8* null, i64 1) to i64)
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
- ; X64: icmp eq i64 {{.*}}, ptrtoint (void ()* @[[JT1]] to i64)
- ; WASM32: icmp eq i64 {{.*}}, ptrtoint (i8* getelementptr (i8, i8* null, i64 2) to i64)
- %y = call i1 @llvm.type.test(i8* %p, metadata !"typeid2")
+define i1 @foo(ptr %p) {
+ ; X64: icmp eq i64 {{.*}}, ptrtoint (ptr @[[JT0]] to i64)
+ ; WASM32: icmp eq i64 {{.*}}, ptrtoint (ptr getelementptr (i8, ptr null, i64 1) to i64)
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
+ ; X64: icmp eq i64 {{.*}}, ptrtoint (ptr @[[JT1]] to i64)
+ ; WASM32: icmp eq i64 {{.*}}, ptrtoint (ptr getelementptr (i8, ptr null, i64 2) to i64)
+ %y = call i1 @llvm.type.test(ptr %p, metadata !"typeid2")
%z = add i1 %x, %y
ret i1 %z
}
; X64: define private void @[[JT0]]() #{{.*}} align 8 {
-; X64: call void asm sideeffect "jmp ${0:c}@plt\0Aint3\0Aint3\0Aint3\0A", "s"(void ()* @f.cfi)
+; X64: call void asm sideeffect "jmp ${0:c}@plt\0Aint3\0Aint3\0Aint3\0A", "s"(ptr @f.cfi)
; X64: define private void @[[JT1]]() #{{.*}} align 8 {
-; X64: call void asm sideeffect "jmp ${0:c}@plt\0Aint3\0Aint3\0Aint3\0A", "s"(void ()* @g.cfi)
+; X64: call void asm sideeffect "jmp ${0:c}@plt\0Aint3\0Aint3\0Aint3\0A", "s"(ptr @g.cfi)
; WASM32: ![[I0]] = !{i64 1}
; WASM32: ![[I1]] = !{i64 2}
diff --git a/llvm/test/Transforms/LowerTypeTests/function-ext.ll b/llvm/test/Transforms/LowerTypeTests/function-ext.ll
index 25edb2e4dcbe0..9f0247365371e 100644
--- a/llvm/test/Transforms/LowerTypeTests/function-ext.ll
+++ b/llvm/test/Transforms/LowerTypeTests/function-ext.ll
@@ -12,30 +12,30 @@ declare !type !0 void @foo1()
declare !type !1 void @foo2()
; CHECK-LABEL: @bar
-define i1 @bar(i8* %ptr) {
+define i1 @bar(ptr %ptr) {
; CHECK: %[[ICMP:[0-9]+]] = icmp eq
; CHECK: ret i1 %[[ICMP]]
- %p = call i1 @llvm.type.test(i8* %ptr, metadata !"type1")
+ %p = call i1 @llvm.type.test(ptr %ptr, metadata !"type1")
ret i1 %p
}
; CHECK-LABEL: @baz
-define i1 @baz(i8* %ptr) {
+define i1 @baz(ptr %ptr) {
; CHECK: ret i1 false
- %p = call i1 @llvm.type.test(i8* %ptr, metadata !"type2")
+ %p = call i1 @llvm.type.test(ptr %ptr, metadata !"type2")
ret i1 %p
}
; CHECK-LABEL: @addrtaken
-define void()* @addrtaken() {
- ; X64: ret void ()* @[[JT:.*]]
- ret void()* @foo1
+define ptr @addrtaken() {
+ ; X64: ret ptr @[[JT:.*]]
+ ret ptr @foo1
}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
!0 = !{i64 0, !"type1"}
!1 = !{i64 0, !"type2"}
; X64: define private void @[[JT]]() #{{.*}} align {{.*}} {
-; X64: call void asm sideeffect "jmp ${0:c}@plt\0Aint3\0Aint3\0Aint3\0A", "s"(void ()* @foo1)
+; X64: call void asm sideeffect "jmp ${0:c}@plt\0Aint3\0Aint3\0Aint3\0A", "s"(ptr @foo1)
diff --git a/llvm/test/Transforms/LowerTypeTests/function-weak.ll b/llvm/test/Transforms/LowerTypeTests/function-weak.ll
index 56d5af5f61520..670c0fc7475e8 100644
--- a/llvm/test/Transforms/LowerTypeTests/function-weak.ll
+++ b/llvm/test/Transforms/LowerTypeTests/function-weak.ll
@@ -8,24 +8,24 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
-; CHECK: @x = global void ()* null, align 8
- at x = global void ()* @f, align 8
+; CHECK: @x = global ptr null, align 8
+ at x = global ptr @f, align 8
-; CHECK: @x2 = global void ()* null, align 8
- at x2 = global void ()* @f, align 8
+; CHECK: @x2 = global ptr null, align 8
+ at x2 = global ptr @f, align 8
-; CHECK: @x3 = internal global void ()* null, align 8
- at x3 = internal constant void ()* @f, align 8
+; CHECK: @x3 = internal global ptr null, align 8
+ at x3 = internal constant ptr @f, align 8
; f + addend
-; CHECK: @x4 = global void ()* null, align 8
- at x4 = global void ()* bitcast (i8* getelementptr (i8, i8* bitcast (void ()* @f to i8*), i64 42) to void ()*), align 8
+; CHECK: @x4 = global ptr null, align 8
+ at x4 = global ptr getelementptr (i8, ptr @f, i64 42), align 8
; aggregate initializer
-; CHECK: @s = global { void ()*, void ()*, i32 } zeroinitializer, align 8
- at s = global { void ()*, void ()*, i32 } { void ()* @f, void ()* @f, i32 42 }, align 8
+; CHECK: @s = global { ptr, ptr, i32 } zeroinitializer, align 8
+ at s = global { ptr, ptr, i32 } { ptr @f, ptr @f, i32 42 }, align 8
-; CHECK: @llvm.global_ctors = appending global {{.*}}{ i32 0, void ()* @__cfi_global_var_init
+; CHECK: @llvm.global_ctors = appending global {{.*}}{ i32 0, ptr @__cfi_global_var_init
; CHECK: declare !type !0 extern_weak void @f()
declare !type !0 extern_weak void @f()
@@ -33,8 +33,8 @@ declare !type !0 extern_weak void @f()
; CHECK: define zeroext i1 @check_f()
define zeroext i1 @check_f() {
entry:
-; CHECK: ret i1 icmp ne (void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT:.*]], void ()* null), void ()* null)
- ret i1 icmp ne (void ()* @f, void ()* null)
+; CHECK: ret i1 icmp ne (ptr select (i1 icmp ne (ptr @f, ptr null), ptr @[[JT:.*]], ptr null), ptr null)
+ ret i1 icmp ne (ptr @f, ptr null)
}
; CHECK: define void @call_f() {
@@ -45,10 +45,10 @@ entry:
ret void
}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+define i1 @foo(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
ret i1 %x
}
@@ -58,11 +58,11 @@ define i1 @foo(i8* %p) {
; CHECK: define internal void @__cfi_global_var_init() section ".text.startup" {
; CHECK-NEXT: entry:
-; CHECK-NEXT: store void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], void ()* null), void ()** @x, align 8
-; CHECK-NEXT: store void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], void ()* null), void ()** @x2, align 8
-; CHECK-NEXT: store void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], void ()* null), void ()** @x3, align 8
-; CHECK-NEXT: store void ()* bitcast (i8* getelementptr (i8, i8* bitcast (void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], void ()* null) to i8*), i64 42) to void ()*), void ()** @x4, align 8
-; CHECK-NEXT: store { void ()*, void ()*, i32 } { void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], void ()* null), void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], void ()* null), i32 42 }, { void ()*, void ()*, i32 }* @s, align 8
+; CHECK-NEXT: store ptr select (i1 icmp ne (ptr @f, ptr null), ptr @[[JT]], ptr null), ptr @x, align 8
+; CHECK-NEXT: store ptr select (i1 icmp ne (ptr @f, ptr null), ptr @[[JT]], ptr null), ptr @x2, align 8
+; CHECK-NEXT: store ptr select (i1 icmp ne (ptr @f, ptr null), ptr @[[JT]], ptr null), ptr @x3, align 8
+; CHECK-NEXT: store ptr getelementptr (i8, ptr select (i1 icmp ne (ptr @f, ptr null), ptr @[[JT]], ptr null), i64 42), ptr @x4, align 8
+; CHECK-NEXT: store { ptr, ptr, i32 } { ptr select (i1 icmp ne (ptr @f, ptr null), ptr @[[JT]], ptr null), ptr select (i1 icmp ne (ptr @f, ptr null), ptr @[[JT]], ptr null), i32 42 }, ptr @s, align 8
; CHECK-NEXT: ret void
; CHECK-NEXT: }
diff --git a/llvm/test/Transforms/LowerTypeTests/function.ll b/llvm/test/Transforms/LowerTypeTests/function.ll
index 944c4ee2b5d53..e472dadd99339 100644
--- a/llvm/test/Transforms/LowerTypeTests/function.ll
+++ b/llvm/test/Transforms/LowerTypeTests/function.ll
@@ -14,18 +14,18 @@
target datalayout = "e-p:64:64"
-; NATIVE: @0 = private unnamed_addr constant [2 x void (...)*] [void (...)* bitcast (void ()* @f to void (...)*), void (...)* bitcast (void ()* @g to void (...)*)], align 16
- at 0 = private unnamed_addr constant [2 x void (...)*] [void (...)* bitcast (void ()* @f to void (...)*), void (...)* bitcast (void ()* @g to void (...)*)], align 16
+; NATIVE: @0 = private unnamed_addr constant [2 x ptr] [ptr @f, ptr @g], align 16
+ at 0 = private unnamed_addr constant [2 x ptr] [ptr @f, ptr @g], align 16
; NATIVE: private constant [0 x i8] zeroinitializer
; WASM32: private constant [0 x i8] zeroinitializer
-; NATIVE: @f = alias void (), void ()* @[[JT:.*]]
+; NATIVE: @f = alias void (), ptr @[[JT:.*]]
-; X86: @g = internal alias void (), bitcast ([8 x i8]* getelementptr inbounds ([2 x [8 x i8]], [2 x [8 x i8]]* bitcast (void ()* @[[JT]] to [2 x [8 x i8]]*), i64 0, i64 1) to void ()*)
-; ARM: @g = internal alias void (), bitcast ([4 x i8]* getelementptr inbounds ([2 x [4 x i8]], [2 x [4 x i8]]* bitcast (void ()* @[[JT]] to [2 x [4 x i8]]*), i64 0, i64 1) to void ()*)
-; THUMB: @g = internal alias void (), bitcast ([4 x i8]* getelementptr inbounds ([2 x [4 x i8]], [2 x [4 x i8]]* bitcast (void ()* @[[JT]] to [2 x [4 x i8]]*), i64 0, i64 1) to void ()*)
-; RISCV: @g = internal alias void (), bitcast ([8 x i8]* getelementptr inbounds ([2 x [8 x i8]], [2 x [8 x i8]]* bitcast (void ()* @[[JT]] to [2 x [8 x i8]]*), i64 0, i64 1) to void ()*)
+; X86: @g = internal alias void (), getelementptr inbounds ([2 x [8 x i8]], ptr @[[JT]], i64 0, i64 1)
+; ARM: @g = internal alias void (), getelementptr inbounds ([2 x [4 x i8]], ptr @[[JT]], i64 0, i64 1)
+; THUMB: @g = internal alias void (), getelementptr inbounds ([2 x [4 x i8]], ptr @[[JT]], i64 0, i64 1)
+; RISCV: @g = internal alias void (), getelementptr inbounds ([2 x [8 x i8]], ptr @[[JT]], i64 0, i64 1)
; NATIVE: define hidden void @f.cfi()
; WASM32: define void @f() !type !{{[0-9]+}} !wasm.index ![[I0:[0-9]+]]
@@ -41,13 +41,13 @@ define internal void @g() !type !0 {
!0 = !{i32 0, !"typeid1"}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- ; NATIVE: sub i64 {{.*}}, ptrtoint (void ()* @[[JT]] to i64)
- ; WASM32: sub i64 {{.*}}, ptrtoint (i8* getelementptr (i8, i8* null, i64 1) to i64)
+define i1 @foo(ptr %p) {
+ ; NATIVE: sub i64 {{.*}}, ptrtoint (ptr @[[JT]] to i64)
+ ; WASM32: sub i64 {{.*}}, ptrtoint (ptr getelementptr (i8, ptr null, i64 1) to i64)
; WASM32: icmp ule i64 {{.*}}, 1
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
ret i1 %x
}
@@ -75,7 +75,7 @@ define i1 @foo(i8* %p) {
; RISCV: tail $0 at plt
; RISCV-SAME: tail $1 at plt
-; NATIVE-SAME: "s,s"(void ()* @f.cfi, void ()* @g.cfi)
+; NATIVE-SAME: "s,s"(ptr @f.cfi, ptr @g.cfi)
; X86-LINUX: attributes #[[ATTR]] = { naked nounwind }
; X86-WIN32: attributes #[[ATTR]] = { nounwind }
diff --git a/llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll b/llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll
index 094c69d12e3be..f67e0b1711652 100644
--- a/llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll
+++ b/llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll
@@ -4,10 +4,10 @@ target datalayout = "e-p:64:64"
target triple = "x86_64-unknown-linux"
; CHECK: @0 = private constant { i32, [0 x i8], i32 } { i32 1, [0 x i8] zeroinitializer, i32 2 }
-; CHECK: @g1 = alias i32, getelementptr inbounds ({ i32, [0 x i8], i32 }, { i32, [0 x i8], i32 }* @0, i32 0, i32 0)
-; CHECK: @g2 = alias i32, getelementptr inbounds ({ i32, [0 x i8], i32 }, { i32, [0 x i8], i32 }* @0, i32 0, i32 2)
-; CHECK: @f1 = alias void (), void ()* @.cfi.jumptable
-; CHECK: @f2 = alias void (), bitcast ([8 x i8]* getelementptr inbounds ([2 x [8 x i8]], [2 x [8 x i8]]* bitcast (void ()* @.cfi.jumptable to [2 x [8 x i8]]*), i64 0, i64 1) to void ()*)
+; CHECK: @g1 = alias i32, ptr @0
+; CHECK: @g2 = alias i32, getelementptr inbounds ({ i32, [0 x i8], i32 }, ptr @0, i32 0, i32 2)
+; CHECK: @f1 = alias void (), ptr @.cfi.jumptable
+; CHECK: @f2 = alias void (), getelementptr inbounds ([2 x [8 x i8]], ptr @.cfi.jumptable, i64 0, i64 1)
@g1 = constant i32 1
@g2 = constant i32 2
@@ -23,21 +23,21 @@ define void @f2() {
declare void @g1f()
declare void @g2f()
-define void @jt2(i8* nest, ...) {
+define void @jt2(ptr nest, ...) {
musttail call void (...) @llvm.icall.branch.funnel(
- i8* %0,
- i32* @g1, void ()* @g1f,
- i32* @g2, void ()* @g2f,
+ ptr %0,
+ ptr @g1, ptr @g1f,
+ ptr @g2, ptr @g2f,
...
)
ret void
}
-define void @jt3(i8* nest, ...) {
+define void @jt3(ptr nest, ...) {
musttail call void (...) @llvm.icall.branch.funnel(
- i8* %0,
- void ()* @f1, void ()* @f1,
- void ()* @f2, void ()* @f2,
+ ptr %0,
+ ptr @f1, ptr @f1,
+ ptr @f2, ptr @f2,
...
)
ret void
diff --git a/llvm/test/Transforms/LowerTypeTests/import-alias.ll b/llvm/test/Transforms/LowerTypeTests/import-alias.ll
index 5d83fc59d6a0a..6eb5a5dfc8fd2 100644
--- a/llvm/test/Transforms/LowerTypeTests/import-alias.ll
+++ b/llvm/test/Transforms/LowerTypeTests/import-alias.ll
@@ -3,15 +3,15 @@
; Check that the definitions for @f and @f_alias are removed from this module
; but @g_alias remains.
;
-; CHECK: @g_alias = alias void (), void ()* @g
+; CHECK: @g_alias = alias void (), ptr @g
; CHECK: define hidden void @f.cfi
; CHECK: declare void @f()
; CHECK: declare void @f_alias()
target triple = "x86_64-unknown-linux"
- at f_alias = alias void (), void ()* @f
- at g_alias = alias void (), void ()* @g
+ at f_alias = alias void (), ptr @f
+ at g_alias = alias void (), ptr @g
; Definition moved to the merged module
define void @f() {
diff --git a/llvm/test/Transforms/LowerTypeTests/import-icall.ll b/llvm/test/Transforms/LowerTypeTests/import-icall.ll
index 80e7db036c6f9..e5ff5beccb061 100644
--- a/llvm/test/Transforms/LowerTypeTests/import-icall.ll
+++ b/llvm/test/Transforms/LowerTypeTests/import-icall.ll
@@ -3,10 +3,10 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at llvm.used = appending global [1 x i8*] [i8* bitcast (i8* ()* @local_decl to i8*)], section "llvm.metadata"
- at llvm.compiler.used = appending global [1 x i8*] [i8* bitcast (i8* ()* @local_decl to i8*)], section "llvm.metadata"
+ at llvm.used = appending global [1 x ptr] [ptr @local_decl], section "llvm.metadata"
+ at llvm.compiler.used = appending global [1 x ptr] [ptr @local_decl], section "llvm.metadata"
- at local_decl_alias = alias i8* (), i8* ()* @local_decl
+ at local_decl_alias = alias ptr (), ptr @local_decl
define i8 @local_a() {
call void @external()
@@ -24,15 +24,15 @@ define i8 @use_b() {
ret i8 %x
}
-define i8* @local_decl() {
- call i8* @local_decl()
- ret i8* bitcast (i8* ()* @local_decl to i8*)
+define ptr @local_decl() {
+ call ptr @local_decl()
+ ret ptr @local_decl
}
declare void @external()
declare extern_weak void @external_weak()
-; CHECK: @local_decl_alias = alias i8* (), i8* ()* @local_decl
+; CHECK: @local_decl_alias = alias ptr (), ptr @local_decl
; CHECK: define hidden i8 @local_a.cfi() {
; CHECK-NEXT: call void @external()
@@ -44,9 +44,9 @@ declare extern_weak void @external_weak()
; CHECK: define internal i8 @local_b() {
; CHECK-NEXT: call i8 @local_a()
-; CHECK: define i8* @local_decl()
-; CHECK-NEXT: call i8* @local_decl()
-; CHECK-NEXT: ret i8* bitcast (i8* ()* @local_decl.cfi_jt to i8*)
+; CHECK: define ptr @local_decl()
+; CHECK-NEXT: call ptr @local_decl()
+; CHECK-NEXT: ret ptr @local_decl.cfi_jt
; CHECK: declare void @external()
; CHECK: declare extern_weak void @external_weak()
diff --git a/llvm/test/Transforms/LowerTypeTests/import-unsat.ll b/llvm/test/Transforms/LowerTypeTests/import-unsat.ll
index 76111f2cb2ca0..76afe68d21891 100644
--- a/llvm/test/Transforms/LowerTypeTests/import-unsat.ll
+++ b/llvm/test/Transforms/LowerTypeTests/import-unsat.ll
@@ -19,10 +19,10 @@
target datalayout = "e-p:32:32"
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+define i1 @foo(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
; CHECK: ret i1 false
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/import.ll b/llvm/test/Transforms/LowerTypeTests/import.ll
index 14117733cd199..812c0619a169a 100644
--- a/llvm/test/Transforms/LowerTypeTests/import.ll
+++ b/llvm/test/Transforms/LowerTypeTests/import.ll
@@ -3,7 +3,7 @@
target datalayout = "e-p:64:64"
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
; CHECK-DAG: @__typeid_single_global_addr = external hidden global [0 x i8]
; CHECK-DAG: @__typeid_inline6_global_addr = external hidden global [0 x i8]
@@ -31,104 +31,104 @@ declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
; X86-DAG: @__typeid_allones7_align = external hidden global [0 x i8], !absolute_symbol !0
; X86-DAG: @__typeid_allones7_size_m1 = external hidden global [0 x i8], !absolute_symbol !5
-; CHECK: define i1 @allones7(i8* [[p:%.*]])
-define i1 @allones7(i8* %p) {
- ; CHECK-NEXT: [[pi:%.*]] = ptrtoint i8* [[p]] to i64
- ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint ([0 x i8]* @__typeid_allones7_global_addr to i64)
- ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint ([0 x i8]* @__typeid_allones7_align to i8) to i64)
- ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint ([0 x i8]* @__typeid_allones7_align to i8)) to i64)
+; CHECK: define i1 @allones7(ptr [[p:%.*]])
+define i1 @allones7(ptr %p) {
+ ; CHECK-NEXT: [[pi:%.*]] = ptrtoint ptr [[p]] to i64
+ ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint (ptr @__typeid_allones7_global_addr to i64)
+ ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint (ptr @__typeid_allones7_align to i8) to i64)
+ ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint (ptr @__typeid_allones7_align to i8)) to i64)
; ARM-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], 1
; ARM-NEXT: [[shl:%.*]] = shl i64 [[sub]], 63
; CHECK-NEXT: [[or:%.*]] = or i64 [[lshr]], [[shl]]
- ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint ([0 x i8]* @__typeid_allones7_size_m1 to i64)
+ ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint (ptr @__typeid_allones7_size_m1 to i64)
; ARM-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], 42
; CHECK-NEXT: ret i1 [[ule]]
- %x = call i1 @llvm.type.test(i8* %p, metadata !"allones7")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"allones7")
ret i1 %x
}
-; CHECK: define i1 @allones32(i8* [[p:%.*]])
-define i1 @allones32(i8* %p) {
- ; CHECK-NEXT: [[pi:%.*]] = ptrtoint i8* [[p]] to i64
- ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint ([0 x i8]* @__typeid_allones32_global_addr to i64)
- ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint ([0 x i8]* @__typeid_allones32_align to i8) to i64)
- ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint ([0 x i8]* @__typeid_allones32_align to i8)) to i64)
+; CHECK: define i1 @allones32(ptr [[p:%.*]])
+define i1 @allones32(ptr %p) {
+ ; CHECK-NEXT: [[pi:%.*]] = ptrtoint ptr [[p]] to i64
+ ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint (ptr @__typeid_allones32_global_addr to i64)
+ ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint (ptr @__typeid_allones32_align to i8) to i64)
+ ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint (ptr @__typeid_allones32_align to i8)) to i64)
; ARM-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], 2
; ARM-NEXT: [[shl:%.*]] = shl i64 [[sub]], 62
; CHECK-NEXT: [[or:%.*]] = or i64 [[lshr]], [[shl]]
- ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint ([0 x i8]* @__typeid_allones32_size_m1 to i64)
+ ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint (ptr @__typeid_allones32_size_m1 to i64)
; ARM-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], 12345
; CHECK-NEXT: ret i1 [[ule]]
- %x = call i1 @llvm.type.test(i8* %p, metadata !"allones32")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"allones32")
ret i1 %x
}
-; CHECK: define i1 @bytearray7(i8* [[p:%.*]])
-define i1 @bytearray7(i8* %p) {
- ; CHECK-NEXT: [[pi:%.*]] = ptrtoint i8* [[p]] to i64
- ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint ([0 x i8]* @__typeid_bytearray7_global_addr to i64)
- ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint ([0 x i8]* @__typeid_bytearray7_align to i8) to i64)
- ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint ([0 x i8]* @__typeid_bytearray7_align to i8)) to i64)
+; CHECK: define i1 @bytearray7(ptr [[p:%.*]])
+define i1 @bytearray7(ptr %p) {
+ ; CHECK-NEXT: [[pi:%.*]] = ptrtoint ptr [[p]] to i64
+ ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint (ptr @__typeid_bytearray7_global_addr to i64)
+ ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint (ptr @__typeid_bytearray7_align to i8) to i64)
+ ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint (ptr @__typeid_bytearray7_align to i8)) to i64)
; ARM-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], 3
; ARM-NEXT: [[shl:%.*]] = shl i64 [[sub]], 61
; CHECK-NEXT: [[or:%.*]] = or i64 [[lshr]], [[shl]]
- ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint ([0 x i8]* @__typeid_bytearray7_size_m1 to i64)
+ ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint (ptr @__typeid_bytearray7_size_m1 to i64)
; ARM-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], 43
; CHECK-NEXT: br i1 [[ule]], label %[[t:.*]], label %[[f:.*]]
; CHECK: [[t]]:
- ; CHECK-NEXT: [[gep:%.*]] = getelementptr i8, i8* getelementptr inbounds ([0 x i8], [0 x i8]* @__typeid_bytearray7_byte_array, i32 0, i32 0), i64 [[or]]
- ; CHECK-NEXT: [[load:%.*]] = load i8, i8* [[gep]]
- ; X86-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint ([0 x i8]* @__typeid_bytearray7_bit_mask to i8)
- ; ARM-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint (i8* inttoptr (i64 64 to i8*) to i8)
+ ; CHECK-NEXT: [[gep:%.*]] = getelementptr i8, ptr @__typeid_bytearray7_byte_array, i64 [[or]]
+ ; CHECK-NEXT: [[load:%.*]] = load i8, ptr [[gep]]
+ ; X86-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint (ptr @__typeid_bytearray7_bit_mask to i8)
+ ; ARM-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint (ptr inttoptr (i64 64 to ptr) to i8)
; CHECK-NEXT: [[ne:%.*]] = icmp ne i8 [[and]], 0
; CHECK-NEXT: br label %[[f]]
; CHECK: [[f]]:
; CHECK-NEXT: [[phi:%.*]] = phi i1 [ false, %0 ], [ [[ne]], %[[t]] ]
; CHECK-NEXT: ret i1 [[phi]]
- %x = call i1 @llvm.type.test(i8* %p, metadata !"bytearray7")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"bytearray7")
ret i1 %x
}
-; CHECK: define i1 @bytearray32(i8* [[p:%.*]])
-define i1 @bytearray32(i8* %p) {
- ; CHECK-NEXT: [[pi:%.*]] = ptrtoint i8* [[p]] to i64
- ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint ([0 x i8]* @__typeid_bytearray32_global_addr to i64)
- ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint ([0 x i8]* @__typeid_bytearray32_align to i8) to i64)
- ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint ([0 x i8]* @__typeid_bytearray32_align to i8)) to i64)
+; CHECK: define i1 @bytearray32(ptr [[p:%.*]])
+define i1 @bytearray32(ptr %p) {
+ ; CHECK-NEXT: [[pi:%.*]] = ptrtoint ptr [[p]] to i64
+ ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint (ptr @__typeid_bytearray32_global_addr to i64)
+ ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint (ptr @__typeid_bytearray32_align to i8) to i64)
+ ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint (ptr @__typeid_bytearray32_align to i8)) to i64)
; ARM-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], 4
; ARM-NEXT: [[shl:%.*]] = shl i64 [[sub]], 60
; CHECK-NEXT: [[or:%.*]] = or i64 [[lshr]], [[shl]]
- ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint ([0 x i8]* @__typeid_bytearray32_size_m1 to i64)
+ ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint (ptr @__typeid_bytearray32_size_m1 to i64)
; ARM-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], 12346
; CHECK-NEXT: br i1 [[ule]], label %[[t:.*]], label %[[f:.*]]
; CHECK: [[t]]:
- ; CHECK-NEXT: [[gep:%.*]] = getelementptr i8, i8* getelementptr inbounds ([0 x i8], [0 x i8]* @__typeid_bytearray32_byte_array, i32 0, i32 0), i64 [[or]]
- ; CHECK-NEXT: [[load:%.*]] = load i8, i8* [[gep]]
- ; X86-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint ([0 x i8]* @__typeid_bytearray32_bit_mask to i8)
- ; ARM-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint (i8* inttoptr (i64 128 to i8*) to i8)
+ ; CHECK-NEXT: [[gep:%.*]] = getelementptr i8, ptr @__typeid_bytearray32_byte_array, i64 [[or]]
+ ; CHECK-NEXT: [[load:%.*]] = load i8, ptr [[gep]]
+ ; X86-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint (ptr @__typeid_bytearray32_bit_mask to i8)
+ ; ARM-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint (ptr inttoptr (i64 128 to ptr) to i8)
; CHECK-NEXT: [[ne:%.*]] = icmp ne i8 [[and]], 0
; CHECK-NEXT: br label %[[f]]
; CHECK: [[f]]:
; CHECK-NEXT: [[phi:%.*]] = phi i1 [ false, %0 ], [ [[ne]], %[[t]] ]
; CHECK-NEXT: ret i1 [[phi]]
- %x = call i1 @llvm.type.test(i8* %p, metadata !"bytearray32")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"bytearray32")
ret i1 %x
}
-; CHECK: define i1 @inline5(i8* [[p:%.*]])
-define i1 @inline5(i8* %p) {
- ; CHECK-NEXT: [[pi:%.*]] = ptrtoint i8* [[p]] to i64
- ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint ([0 x i8]* @__typeid_inline5_global_addr to i64)
- ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint ([0 x i8]* @__typeid_inline5_align to i8) to i64)
- ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint ([0 x i8]* @__typeid_inline5_align to i8)) to i64)
+; CHECK: define i1 @inline5(ptr [[p:%.*]])
+define i1 @inline5(ptr %p) {
+ ; CHECK-NEXT: [[pi:%.*]] = ptrtoint ptr [[p]] to i64
+ ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint (ptr @__typeid_inline5_global_addr to i64)
+ ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint (ptr @__typeid_inline5_align to i8) to i64)
+ ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint (ptr @__typeid_inline5_align to i8)) to i64)
; ARM-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], 5
; ARM-NEXT: [[shl:%.*]] = shl i64 [[sub]], 59
; CHECK-NEXT: [[or:%.*]] = or i64 [[lshr]], [[shl]]
- ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint ([0 x i8]* @__typeid_inline5_size_m1 to i64)
+ ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint (ptr @__typeid_inline5_size_m1 to i64)
; ARM-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], 31
; CHECK-NEXT: br i1 [[ule]], label %[[t:.*]], label %[[f:.*]]
@@ -136,7 +136,7 @@ define i1 @inline5(i8* %p) {
; CHECK-NEXT: [[trunc:%.*]] = trunc i64 [[or]] to i32
; CHECK-NEXT: [[and:%.*]] = and i32 [[trunc]], 31
; CHECK-NEXT: [[shl2:%.*]] = shl i32 1, [[and]]
- ; X86-NEXT: [[and2:%.*]] = and i32 ptrtoint ([0 x i8]* @__typeid_inline5_inline_bits to i32), [[shl2]]
+ ; X86-NEXT: [[and2:%.*]] = and i32 ptrtoint (ptr @__typeid_inline5_inline_bits to i32), [[shl2]]
; ARM-NEXT: [[and2:%.*]] = and i32 123, [[shl2]]
; CHECK-NEXT: [[ne:%.*]] = icmp ne i32 [[and2]], 0
; CHECK-NEXT: br label %[[f]]
@@ -144,27 +144,27 @@ define i1 @inline5(i8* %p) {
; CHECK: [[f]]:
; CHECK-NEXT: [[phi:%.*]] = phi i1 [ false, %0 ], [ [[ne]], %[[t]] ]
; CHECK-NEXT: ret i1 [[phi]]
- %x = call i1 @llvm.type.test(i8* %p, metadata !"inline5")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"inline5")
ret i1 %x
}
-; CHECK: define i1 @inline6(i8* [[p:%.*]])
-define i1 @inline6(i8* %p) {
- ; CHECK-NEXT: [[pi:%.*]] = ptrtoint i8* [[p]] to i64
- ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint ([0 x i8]* @__typeid_inline6_global_addr to i64)
- ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint ([0 x i8]* @__typeid_inline6_align to i8) to i64)
- ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint ([0 x i8]* @__typeid_inline6_align to i8)) to i64)
+; CHECK: define i1 @inline6(ptr [[p:%.*]])
+define i1 @inline6(ptr %p) {
+ ; CHECK-NEXT: [[pi:%.*]] = ptrtoint ptr [[p]] to i64
+ ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint (ptr @__typeid_inline6_global_addr to i64)
+ ; X86-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint (ptr @__typeid_inline6_align to i8) to i64)
+ ; X86-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint (ptr @__typeid_inline6_align to i8)) to i64)
; ARM-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], 6
; ARM-NEXT: [[shl:%.*]] = shl i64 [[sub]], 58
; CHECK-NEXT: [[or:%.*]] = or i64 [[lshr]], [[shl]]
- ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint ([0 x i8]* @__typeid_inline6_size_m1 to i64)
+ ; X86-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint (ptr @__typeid_inline6_size_m1 to i64)
; ARM-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], 63
; CHECK-NEXT: br i1 [[ule]], label %[[t:.*]], label %[[f:.*]]
; CHECK: [[t]]:
; CHECK-NEXT: [[and:%.*]] = and i64 [[or]], 63
; CHECK-NEXT: [[shl2:%.*]] = shl i64 1, [[and]]
- ; X86-NEXT: [[and2:%.*]] = and i64 ptrtoint ([0 x i8]* @__typeid_inline6_inline_bits to i64), [[shl2]]
+ ; X86-NEXT: [[and2:%.*]] = and i64 ptrtoint (ptr @__typeid_inline6_inline_bits to i64), [[shl2]]
; ARM-NEXT: [[and2:%.*]] = and i64 1000000000000, [[shl2]]
; CHECK-NEXT: [[ne:%.*]] = icmp ne i64 [[and2]], 0
; CHECK-NEXT: br label %[[f]]
@@ -172,16 +172,16 @@ define i1 @inline6(i8* %p) {
; CHECK: [[f]]:
; CHECK-NEXT: [[phi:%.*]] = phi i1 [ false, %0 ], [ [[ne]], %[[t]] ]
; CHECK-NEXT: ret i1 [[phi]]
- %x = call i1 @llvm.type.test(i8* %p, metadata !"inline6")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"inline6")
ret i1 %x
}
-; CHECK: define i1 @single(i8* [[p:%.*]])
-define i1 @single(i8* %p) {
- ; CHECK-NEXT: [[pi:%.*]] = ptrtoint i8* [[p]] to i64
- ; CHECK-NEXT: [[eq:%.*]] = icmp eq i64 [[pi]], ptrtoint ([0 x i8]* @__typeid_single_global_addr to i64)
+; CHECK: define i1 @single(ptr [[p:%.*]])
+define i1 @single(ptr %p) {
+ ; CHECK-NEXT: [[pi:%.*]] = ptrtoint ptr [[p]] to i64
+ ; CHECK-NEXT: [[eq:%.*]] = icmp eq i64 [[pi]], ptrtoint (ptr @__typeid_single_global_addr to i64)
; CHECK-NEXT: ret i1 [[eq]]
- %x = call i1 @llvm.type.test(i8* %p, metadata !"single")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"single")
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/layout.ll b/llvm/test/Transforms/LowerTypeTests/layout.ll
index 51d36de6bf3bd..d5a71d78aca4c 100644
--- a/llvm/test/Transforms/LowerTypeTests/layout.ll
+++ b/llvm/test/Transforms/LowerTypeTests/layout.ll
@@ -17,11 +17,11 @@ target datalayout = "e-p:32:32"
!1 = !{i32 0, !"typeid2"}
!2 = !{i32 0, !"typeid3"}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
define void @foo() {
- %x = call i1 @llvm.type.test(i8* undef, metadata !"typeid1")
- %y = call i1 @llvm.type.test(i8* undef, metadata !"typeid2")
- %z = call i1 @llvm.type.test(i8* undef, metadata !"typeid3")
+ %x = call i1 @llvm.type.test(ptr undef, metadata !"typeid1")
+ %y = call i1 @llvm.type.test(ptr undef, metadata !"typeid2")
+ %z = call i1 @llvm.type.test(ptr undef, metadata !"typeid3")
ret void
}
diff --git a/llvm/test/Transforms/LowerTypeTests/nocfivalue.ll b/llvm/test/Transforms/LowerTypeTests/nocfivalue.ll
index 8af25b5cc0447..33868d541d456 100644
--- a/llvm/test/Transforms/LowerTypeTests/nocfivalue.ll
+++ b/llvm/test/Transforms/LowerTypeTests/nocfivalue.ll
@@ -3,8 +3,8 @@
target datalayout = "e-p:64:64"
target triple = "x86_64-unknown-linux-gnu"
-; CHECK: @a = global [6 x void ()*] [void ()* no_cfi @f1, void ()* @.cfi.jumptable, void ()* bitcast ([8 x i8]* getelementptr inbounds ([3 x [8 x i8]], [3 x [8 x i8]]* bitcast (void ()* @.cfi.jumptable to [3 x [8 x i8]]*), i64 0, i64 1) to void ()*), void ()* no_cfi @f2, void ()* @f3, void ()* no_cfi @f3.cfi]
- at a = global [6 x void ()*] [void ()* no_cfi @f1, void ()* @f1, void ()* @f2, void ()* no_cfi @f2, void ()* @f3, void ()* no_cfi @f3]
+; CHECK: @a = global [6 x ptr] [ptr no_cfi @f1, ptr @.cfi.jumptable, ptr getelementptr inbounds ([3 x [8 x i8]], ptr @.cfi.jumptable, i64 0, i64 1), ptr no_cfi @f2, ptr @f3, ptr no_cfi @f3.cfi]
+ at a = global [6 x ptr] [ptr no_cfi @f1, ptr @f1, ptr @f2, ptr no_cfi @f2, ptr @f3, ptr no_cfi @f3]
; CHECK: define void @f1()
define void @f1() !type !0 {
@@ -21,10 +21,10 @@ define void @f3() #0 !type !0 {
ret void
}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+define i1 @foo(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/nonstring.ll b/llvm/test/Transforms/LowerTypeTests/nonstring.ll
index cfae7aca7e94a..ff8cc52d48344 100644
--- a/llvm/test/Transforms/LowerTypeTests/nonstring.ll
+++ b/llvm/test/Transforms/LowerTypeTests/nonstring.ll
@@ -15,18 +15,18 @@ target datalayout = "e-p:32:32"
!2 = distinct !{}
!3 = distinct !{}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
; CHECK-LABEL: @foo
-define i1 @foo(i8* %p) {
- ; CHECK: icmp eq i32 {{.*}}, ptrtoint ({ i32 }* @[[ANAME]] to i32)
- %x = call i1 @llvm.type.test(i8* %p, metadata !2)
+define i1 @foo(ptr %p) {
+ ; CHECK: icmp eq i32 {{.*}}, ptrtoint (ptr @[[ANAME]] to i32)
+ %x = call i1 @llvm.type.test(ptr %p, metadata !2)
ret i1 %x
}
; CHECK-LABEL: @bar
-define i1 @bar(i8* %p) {
- ; CHECK: icmp eq i32 {{.*}}, ptrtoint ({ [2 x i32] }* @[[BNAME]] to i32)
- %x = call i1 @llvm.type.test(i8* %p, metadata !3)
+define i1 @bar(ptr %p) {
+ ; CHECK: icmp eq i32 {{.*}}, ptrtoint (ptr @[[BNAME]] to i32)
+ %x = call i1 @llvm.type.test(ptr %p, metadata !3)
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/pr25902.ll b/llvm/test/Transforms/LowerTypeTests/pr25902.ll
index 2bd010c0deab7..c5fa7b0e64aa2 100644
--- a/llvm/test/Transforms/LowerTypeTests/pr25902.ll
+++ b/llvm/test/Transforms/LowerTypeTests/pr25902.ll
@@ -1,10 +1,9 @@
; PR25902: gold plugin crash.
; RUN: opt -mtriple=i686-pc -S -passes=lowertypetests < %s
-define void @f(void ()* %p) {
+define void @f(ptr %p) {
entry:
- %a = bitcast void ()* %p to i8*, !nosanitize !1
- %b = call i1 @llvm.type.test(i8* %a, metadata !"_ZTSFvvE"), !nosanitize !1
+ %b = call i1 @llvm.type.test(ptr %p, metadata !"_ZTSFvvE"), !nosanitize !1
ret void
}
@@ -13,7 +12,7 @@ entry:
ret void
}
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
!0 = !{i64 0, !"_ZTSFvvE"}
!1 = !{}
diff --git a/llvm/test/Transforms/LowerTypeTests/pr48245.ll b/llvm/test/Transforms/LowerTypeTests/pr48245.ll
index 592ecee15063b..144296ab5cd7c 100644
--- a/llvm/test/Transforms/LowerTypeTests/pr48245.ll
+++ b/llvm/test/Transforms/LowerTypeTests/pr48245.ll
@@ -9,39 +9,37 @@ source_filename = "pr48245.cpp"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
-%struct.Foo = type { i32 (...)** }
+%struct.Foo = type { ptr }
; Check that the vtable was not turned into an alias to a rewritten private
; global.
; CHECK: @_ZTV3Foo = dso_local unnamed_addr constant
- at _ZTV3Foo = dso_local unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTI3Foo to i8*), i8* bitcast (i32 (%struct.Foo*)* @_ZN3Foo2f1Ev to i8*), i8* bitcast (i32 (%struct.Foo*)* @_ZN3Foo2f2Ev to i8*)] }, align 8, !type !0, !type !1, !type !2
+ at _ZTV3Foo = dso_local unnamed_addr constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr @_ZTI3Foo, ptr @_ZN3Foo2f1Ev, ptr @_ZN3Foo2f2Ev] }, align 8, !type !0, !type !1, !type !2
- at _ZTVN10__cxxabiv117__class_type_infoE = external dso_local global i8*
+ at _ZTVN10__cxxabiv117__class_type_infoE = external dso_local global ptr
@_ZTS3Foo = dso_local constant [5 x i8] c"3Foo\00", align 1
- at _ZTI3Foo = dso_local constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @_ZTS3Foo, i32 0, i32 0) }, align 8
- at b = dso_local local_unnamed_addr global %struct.Foo* null, align 8
+ at _ZTI3Foo = dso_local constant { ptr, ptr } { ptr getelementptr inbounds (ptr, ptr @_ZTVN10__cxxabiv117__class_type_infoE, i64 2), ptr @_ZTS3Foo }, align 8
+ at b = dso_local local_unnamed_addr global ptr null, align 8
define dso_local i32 @main() local_unnamed_addr {
entry:
- %0 = load %struct.Foo*, %struct.Foo** @b, align 8
- %1 = bitcast %struct.Foo* %0 to i32 (%struct.Foo*)***
- %vtable.i = load i32 (%struct.Foo*)**, i32 (%struct.Foo*)*** %1, align 8
- %2 = bitcast i32 (%struct.Foo*)** %vtable.i to i8*
+ %0 = load ptr, ptr @b, align 8
+ %vtable.i = load ptr, ptr %0, align 8
; Check that the type test was not lowered.
; CHECK: tail call i1 @llvm.type.test
- %3 = tail call i1 @llvm.type.test(i8* %2, metadata !"_ZTS3Foo")
+ %1 = tail call i1 @llvm.type.test(ptr %vtable.i, metadata !"_ZTS3Foo")
- tail call void @llvm.assume(i1 %3)
- %4 = load i32 (%struct.Foo*)*, i32 (%struct.Foo*)** %vtable.i, align 8
- %call.i = tail call i32 %4(%struct.Foo* nonnull dereferenceable(8) %0)
+ tail call void @llvm.assume(i1 %1)
+ %2 = load ptr, ptr %vtable.i, align 8
+ %call.i = tail call i32 %2(ptr nonnull dereferenceable(8) %0)
ret i32 %call.i
}
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
declare void @llvm.assume(i1 noundef)
-declare dso_local i32 @_ZN3Foo2f1Ev(%struct.Foo* nocapture nonnull readnone dereferenceable(8) %this) unnamed_addr
-declare dso_local i32 @_ZN3Foo2f2Ev(%struct.Foo* nocapture nonnull readnone dereferenceable(8) %this) unnamed_addr
+declare dso_local i32 @_ZN3Foo2f1Ev(ptr nocapture nonnull readnone dereferenceable(8) %this) unnamed_addr
+declare dso_local i32 @_ZN3Foo2f2Ev(ptr nocapture nonnull readnone dereferenceable(8) %this) unnamed_addr
!0 = !{i64 16, !"_ZTS3Foo"}
!1 = !{i64 16, !"_ZTSM3FooFivE.virtual"}
diff --git a/llvm/test/Transforms/LowerTypeTests/section.ll b/llvm/test/Transforms/LowerTypeTests/section.ll
index ab8f1b96edb4a..d0d3c212c826e 100644
--- a/llvm/test/Transforms/LowerTypeTests/section.ll
+++ b/llvm/test/Transforms/LowerTypeTests/section.ll
@@ -5,7 +5,7 @@
target triple = "x86_64-unknown-linux-gnu"
-; CHECK: @f = alias void (), void ()* @[[JT:.*]]
+; CHECK: @f = alias void (), ptr @[[JT:.*]]
; CHECK: define hidden void @f.cfi() section "xxx"
define void @f() section "xxx" !type !0 {
@@ -15,12 +15,12 @@ entry:
define i1 @g() {
entry:
- %0 = call i1 @llvm.type.test(i8* bitcast (void ()* @f to i8*), metadata !"_ZTSFvE")
+ %0 = call i1 @llvm.type.test(ptr @f, metadata !"_ZTSFvE")
ret i1 %0
}
; CHECK: define private void @[[JT]]() #{{.*}} align {{.*}} {
-declare i1 @llvm.type.test(i8*, metadata) nounwind readnone
+declare i1 @llvm.type.test(ptr, metadata) nounwind readnone
!0 = !{i64 0, !"_ZTSFvE"}
diff --git a/llvm/test/Transforms/LowerTypeTests/simple.ll b/llvm/test/Transforms/LowerTypeTests/simple.ll
index 1aebed04aae11..c7ba3777b25d8 100644
--- a/llvm/test/Transforms/LowerTypeTests/simple.ll
+++ b/llvm/test/Transforms/LowerTypeTests/simple.ll
@@ -30,84 +30,78 @@ target datalayout = "e-p:32:32"
; Offset 0, 4 byte alignment
!2 = !{i32 0, !"typeid3"}
-; CHECK: @bits_use{{[0-9]*}} = private alias i8, i8* @bits{{[0-9]*}}
-; CHECK: @bits_use.{{[0-9]*}} = private alias i8, i8* @bits{{[0-9]*}}
-; CHECK: @bits_use.{{[0-9]*}} = private alias i8, i8* @bits{{[0-9]*}}
+; CHECK: @bits_use{{[0-9]*}} = private alias i8, ptr @bits{{[0-9]*}}
+; CHECK: @bits_use.{{[0-9]*}} = private alias i8, ptr @bits{{[0-9]*}}
+; CHECK: @bits_use.{{[0-9]*}} = private alias i8, ptr @bits{{[0-9]*}}
-; CHECK: @a = alias i32, getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 0)
-; CHECK: @b = hidden alias [63 x i32], getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 2)
-; CHECK: @c = protected alias i32, getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 4)
-; CHECK: @d = alias [2 x i32], getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 6)
+; CHECK: @a = alias i32, ptr [[G]]
+; CHECK: @b = hidden alias [63 x i32], getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, ptr [[G]], i32 0, i32 2)
+; CHECK: @c = protected alias i32, getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, ptr [[G]], i32 0, i32 4)
+; CHECK: @d = alias [2 x i32], getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, ptr [[G]], i32 0, i32 6)
-; CHECK: @bits{{[0-9]*}} = private alias i8, getelementptr inbounds ([68 x i8], [68 x i8]* [[BA]], i32 0, i32 0)
-; CHECK: @bits.{{[0-9]*}} = private alias i8, getelementptr inbounds ([68 x i8], [68 x i8]* [[BA]], i32 0, i32 0)
+; CHECK: @bits{{[0-9]*}} = private alias i8, ptr [[BA]]
+; CHECK: @bits.{{[0-9]*}} = private alias i8, ptr [[BA]]
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-; CHECK: @foo(i32* [[A0:%[^ ]*]])
-define i1 @foo(i32* %p) {
+; CHECK: @foo(ptr [[A0:%[^ ]*]])
+define i1 @foo(ptr %p) {
; CHECK-NOT: llvm.type.test
- ; CHECK: [[R0:%[^ ]*]] = bitcast i32* [[A0]] to i8*
- %pi8 = bitcast i32* %p to i8*
- ; CHECK: [[R1:%[^ ]*]] = ptrtoint i8* [[R0]] to i32
- ; CHECK: [[R2:%[^ ]*]] = sub i32 [[R1]], ptrtoint ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]] to i32)
+ ; CHECK: [[R1:%[^ ]*]] = ptrtoint ptr %p to i32
+ ; CHECK: [[R2:%[^ ]*]] = sub i32 [[R1]], ptrtoint (ptr [[G]] to i32)
; CHECK: [[R3:%[^ ]*]] = lshr i32 [[R2]], 2
; CHECK: [[R4:%[^ ]*]] = shl i32 [[R2]], 30
; CHECK: [[R5:%[^ ]*]] = or i32 [[R3]], [[R4]]
; CHECK: [[R6:%[^ ]*]] = icmp ule i32 [[R5]], 67
; CHECK: br i1 [[R6]]
- ; CHECK: [[R8:%[^ ]*]] = getelementptr i8, i8* @bits_use.{{[0-9]*}}, i32 [[R5]]
- ; CHECK: [[R9:%[^ ]*]] = load i8, i8* [[R8]]
+ ; CHECK: [[R8:%[^ ]*]] = getelementptr i8, ptr @bits_use.{{[0-9]*}}, i32 [[R5]]
+ ; CHECK: [[R9:%[^ ]*]] = load i8, ptr [[R8]]
; CHECK: [[R10:%[^ ]*]] = and i8 [[R9]], 1
; CHECK: [[R11:%[^ ]*]] = icmp ne i8 [[R10]], 0
; CHECK: [[R16:%[^ ]*]] = phi i1 [ false, {{%[^ ]*}} ], [ [[R11]], {{%[^ ]*}} ]
- %x = call i1 @llvm.type.test(i8* %pi8, metadata !"typeid1")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
; CHECK-NOT: llvm.type.test
- %y = call i1 @llvm.type.test(i8* %pi8, metadata !"typeid1")
+ %y = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
; CHECK: ret i1 [[R16]]
ret i1 %x
}
-; CHECK: @bar(i32* [[B0:%[^ ]*]])
-define i1 @bar(i32* %p) {
- ; CHECK: [[S0:%[^ ]*]] = bitcast i32* [[B0]] to i8*
- %pi8 = bitcast i32* %p to i8*
- ; CHECK: [[S1:%[^ ]*]] = ptrtoint i8* [[S0]] to i32
- ; CHECK: [[S2:%[^ ]*]] = sub i32 [[S1]], ptrtoint (i8* getelementptr (i8, i8* bitcast ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]] to i8*), i32 4) to i32)
+; CHECK: @bar(ptr [[B0:%[^ ]*]])
+define i1 @bar(ptr %p) {
+ ; CHECK: [[S1:%[^ ]*]] = ptrtoint ptr %p to i32
+ ; CHECK: [[S2:%[^ ]*]] = sub i32 [[S1]], ptrtoint (ptr getelementptr (i8, ptr [[G]], i32 4) to i32)
; CHECK: [[S3:%[^ ]*]] = lshr i32 [[S2]], 8
; CHECK: [[S4:%[^ ]*]] = shl i32 [[S2]], 24
; CHECK: [[S5:%[^ ]*]] = or i32 [[S3]], [[S4]]
; CHECK: [[S6:%[^ ]*]] = icmp ule i32 [[S5]], 1
- %x = call i1 @llvm.type.test(i8* %pi8, metadata !"typeid2")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid2")
; CHECK: ret i1 [[S6]]
ret i1 %x
}
-; CHECK: @baz(i32* [[C0:%[^ ]*]])
-define i1 @baz(i32* %p) {
- ; CHECK: [[T0:%[^ ]*]] = bitcast i32* [[C0]] to i8*
- %pi8 = bitcast i32* %p to i8*
- ; CHECK: [[T1:%[^ ]*]] = ptrtoint i8* [[T0]] to i32
- ; CHECK: [[T2:%[^ ]*]] = sub i32 [[T1]], ptrtoint ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]] to i32)
+; CHECK: @baz(ptr [[C0:%[^ ]*]])
+define i1 @baz(ptr %p) {
+ ; CHECK: [[T1:%[^ ]*]] = ptrtoint ptr %p to i32
+ ; CHECK: [[T2:%[^ ]*]] = sub i32 [[T1]], ptrtoint (ptr [[G]] to i32)
; CHECK: [[T3:%[^ ]*]] = lshr i32 [[T2]], 2
; CHECK: [[T4:%[^ ]*]] = shl i32 [[T2]], 30
; CHECK: [[T5:%[^ ]*]] = or i32 [[T3]], [[T4]]
; CHECK: [[T6:%[^ ]*]] = icmp ule i32 [[T5]], 65
; CHECK: br i1 [[T6]]
- ; CHECK: [[T8:%[^ ]*]] = getelementptr i8, i8* @bits_use{{(\.[0-9]*)?}}, i32 [[T5]]
- ; CHECK: [[T9:%[^ ]*]] = load i8, i8* [[T8]]
+ ; CHECK: [[T8:%[^ ]*]] = getelementptr i8, ptr @bits_use{{(\.[0-9]*)?}}, i32 [[T5]]
+ ; CHECK: [[T9:%[^ ]*]] = load i8, ptr [[T8]]
; CHECK: [[T10:%[^ ]*]] = and i8 [[T9]], 2
; CHECK: [[T11:%[^ ]*]] = icmp ne i8 [[T10]], 0
; CHECK: [[T16:%[^ ]*]] = phi i1 [ false, {{%[^ ]*}} ], [ [[T11]], {{%[^ ]*}} ]
- %x = call i1 @llvm.type.test(i8* %pi8, metadata !"typeid3")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid3")
; CHECK: ret i1 [[T16]]
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/simplify.ll b/llvm/test/Transforms/LowerTypeTests/simplify.ll
index 1ddb5eaeac315..87eaed5a51f24 100644
--- a/llvm/test/Transforms/LowerTypeTests/simplify.ll
+++ b/llvm/test/Transforms/LowerTypeTests/simplify.ll
@@ -3,22 +3,22 @@
target datalayout = "e-p:64:64"
target triple = "x86_64-unknown-linux"
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-; CHECK: define i1 @bytearray7(i8* [[p:%.*]])
-define i1 @bytearray7(i8* %p) {
- ; CHECK-NEXT: [[pi:%.*]] = ptrtoint i8* [[p]] to i64
- ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint ([0 x i8]* @__typeid_bytearray7_global_addr to i64)
- ; CHECK-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint ([0 x i8]* @__typeid_bytearray7_align to i8) to i64)
- ; CHECK-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint ([0 x i8]* @__typeid_bytearray7_align to i8)) to i64)
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
+
+; CHECK: define i1 @bytearray7(ptr [[p:%.*]])
+define i1 @bytearray7(ptr %p) {
+ ; CHECK-NEXT: [[pi:%.*]] = ptrtoint ptr [[p]] to i64
+ ; CHECK-NEXT: [[sub:%.*]] = sub i64 [[pi]], ptrtoint (ptr @__typeid_bytearray7_global_addr to i64)
+ ; CHECK-NEXT: [[lshr:%.*]] = lshr i64 [[sub]], zext (i8 ptrtoint (ptr @__typeid_bytearray7_align to i8) to i64)
+ ; CHECK-NEXT: [[shl:%.*]] = shl i64 [[sub]], zext (i8 sub (i8 64, i8 ptrtoint (ptr @__typeid_bytearray7_align to i8)) to i64)
; CHECK-NEXT: [[or:%.*]] = or i64 [[lshr]], [[shl]]
- ; CHECK-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint ([0 x i8]* @__typeid_bytearray7_size_m1 to i64)
+ ; CHECK-NEXT: [[ule:%.*]] = icmp ule i64 [[or]], ptrtoint (ptr @__typeid_bytearray7_size_m1 to i64)
; CHECK-NEXT: br i1 [[ule]], label %[[t1:.*]], label %[[f:.*]]
; CHECK: [[t1]]:
- ; CHECK-NEXT: [[gep:%.*]] = getelementptr i8, i8* getelementptr inbounds ([0 x i8], [0 x i8]* @__typeid_bytearray7_byte_array, i32 0, i32 0), i64 [[or]]
- ; CHECK-NEXT: [[load:%.*]] = load i8, i8* [[gep]]
- ; CHECK-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint ([0 x i8]* @__typeid_bytearray7_bit_mask to i8)
+ ; CHECK-NEXT: [[gep:%.*]] = getelementptr i8, ptr @__typeid_bytearray7_byte_array, i64 [[or]]
+ ; CHECK-NEXT: [[load:%.*]] = load i8, ptr [[gep]]
+ ; CHECK-NEXT: [[and:%.*]] = and i8 [[load]], ptrtoint (ptr @__typeid_bytearray7_bit_mask to i8)
; CHECK-NEXT: [[ne:%.*]] = icmp ne i8 [[and]], 0
; CHECK-NEXT: br i1 [[ne]], label %[[t:.*]], label %[[f:.*]]
@@ -27,7 +27,7 @@ define i1 @bytearray7(i8* %p) {
; CHECK: [[f]]:
; CHECK-NEXT: ret i1 false
- %x = call i1 @llvm.type.test(i8* %p, metadata !"bytearray7")
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"bytearray7")
br i1 %x, label %t, label %f
t:
diff --git a/llvm/test/Transforms/LowerTypeTests/simplify_phi.ll b/llvm/test/Transforms/LowerTypeTests/simplify_phi.ll
index 0dd16eb1a199a..4764f06fd80dc 100644
--- a/llvm/test/Transforms/LowerTypeTests/simplify_phi.ll
+++ b/llvm/test/Transforms/LowerTypeTests/simplify_phi.ll
@@ -3,11 +3,11 @@
target datalayout = "e-p:64:64"
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-; CHECK: define i1 @bytearray7(i8* [[p:%.*]])
-define i1 @bytearray7(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"bytearray7")
+; CHECK: define i1 @bytearray7(ptr [[p:%.*]])
+define i1 @bytearray7(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"bytearray7")
br i1 %x, label %t, label %f
t:
diff --git a/llvm/test/Transforms/LowerTypeTests/single-offset.ll b/llvm/test/Transforms/LowerTypeTests/single-offset.ll
index c7945da3ebf84..0f302286e5702 100644
--- a/llvm/test/Transforms/LowerTypeTests/single-offset.ll
+++ b/llvm/test/Transforms/LowerTypeTests/single-offset.ll
@@ -10,28 +10,28 @@ target datalayout = "e-p:32:32"
!1 = !{i32 0, !"typeid2"}
!2 = !{i32 0, !"typeid3"}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-; CHECK: @foo(i8* [[A0:%[^ ]*]])
-define i1 @foo(i8* %p) {
- ; CHECK: [[R0:%[^ ]*]] = ptrtoint i8* [[A0]] to i32
- ; CHECK: [[R1:%[^ ]*]] = icmp eq i32 [[R0]], ptrtoint ({ i32, [0 x i8], i32 }* [[G]] to i32)
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid2")
+; CHECK: @foo(ptr [[A0:%[^ ]*]])
+define i1 @foo(ptr %p) {
+ ; CHECK: [[R0:%[^ ]*]] = ptrtoint ptr [[A0]] to i32
+ ; CHECK: [[R1:%[^ ]*]] = icmp eq i32 [[R0]], ptrtoint (ptr [[G]] to i32)
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid2")
; CHECK: ret i1 [[R1]]
ret i1 %x
}
-; CHECK: @bar(i8* [[B0:%[^ ]*]])
-define i1 @bar(i8* %p) {
- ; CHECK: [[S0:%[^ ]*]] = ptrtoint i8* [[B0]] to i32
- ; CHECK: [[S1:%[^ ]*]] = icmp eq i32 [[S0]], ptrtoint (i8* getelementptr (i8, i8* bitcast ({ i32, [0 x i8], i32 }* [[G]] to i8*), i32 4) to i32)
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid3")
+; CHECK: @bar(ptr [[B0:%[^ ]*]])
+define i1 @bar(ptr %p) {
+ ; CHECK: [[S0:%[^ ]*]] = ptrtoint ptr [[B0]] to i32
+ ; CHECK: [[S1:%[^ ]*]] = icmp eq i32 [[S0]], ptrtoint (ptr getelementptr (i8, ptr [[G]], i32 4) to i32)
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid3")
; CHECK: ret i1 [[S1]]
ret i1 %x
}
; CHECK: @x(
-define i1 @x(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+define i1 @x(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/unnamed.ll b/llvm/test/Transforms/LowerTypeTests/unnamed.ll
index c5b3cc8c4666f..7d9ba084ff738 100644
--- a/llvm/test/Transforms/LowerTypeTests/unnamed.ll
+++ b/llvm/test/Transforms/LowerTypeTests/unnamed.ll
@@ -10,9 +10,9 @@ target datalayout = "e-p:32:32"
!0 = !{i32 0, !"typeid1"}
!1 = !{i32 4, !"typeid1"}
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+define i1 @foo(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
ret i1 %x
}
diff --git a/llvm/test/Transforms/LowerTypeTests/unsat.ll b/llvm/test/Transforms/LowerTypeTests/unsat.ll
index 9a743f6b2a1a8..0c414a1214bc6 100644
--- a/llvm/test/Transforms/LowerTypeTests/unsat.ll
+++ b/llvm/test/Transforms/LowerTypeTests/unsat.ll
@@ -2,10 +2,10 @@
target datalayout = "e-p:32:32"
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+define i1 @foo(ptr %p) {
+ %x = call i1 @llvm.type.test(ptr %p, metadata !"typeid1")
; CHECK: ret i1 false
ret i1 %x
}
More information about the llvm-commits
mailing list