[llvm] c604128 - [ThinLTO] Convert tests to opaque pointers (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 13 08:04:26 PST 2022
Author: Nikita Popov
Date: 2022-12-13T17:04:09+01:00
New Revision: c6041283f71e6943e96cfc926da7a2c02bc3ee32
URL: https://github.com/llvm/llvm-project/commit/c6041283f71e6943e96cfc926da7a2c02bc3ee32
DIFF: https://github.com/llvm/llvm-project/commit/c6041283f71e6943e96cfc926da7a2c02bc3ee32.diff
LOG: [ThinLTO] Convert tests to opaque pointers (NFC)
Added:
Modified:
llvm/test/ThinLTO/X86/Inputs/alias_resolution.ll
llvm/test/ThinLTO/X86/Inputs/distributed_import.ll
llvm/test/ThinLTO/X86/Inputs/distributed_indexes.ll
llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
llvm/test/ThinLTO/X86/alias_resolution.ll
llvm/test/ThinLTO/X86/cache-icall.ll
llvm/test/ThinLTO/X86/cfi-devirt.ll
llvm/test/ThinLTO/X86/devirt_promote_legacy.ll
llvm/test/ThinLTO/X86/empty-module.ll
llvm/test/ThinLTO/X86/funcimport.ll
llvm/test/ThinLTO/X86/import_opaque_type.ll
llvm/test/ThinLTO/X86/type_test_noindircall.ll
Removed:
################################################################################
diff --git a/llvm/test/ThinLTO/X86/Inputs/alias_resolution.ll b/llvm/test/ThinLTO/X86/Inputs/alias_resolution.ll
index 7425f23fd3f51..d8807a9300cb7 100644
--- a/llvm/test/ThinLTO/X86/Inputs/alias_resolution.ll
+++ b/llvm/test/ThinLTO/X86/Inputs/alias_resolution.ll
@@ -1,60 +1,60 @@
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
- at globalfuncAlias = alias void (...), bitcast (void ()* @globalfunc to void (...)*)
- at globalfuncWeakAlias = weak alias void (...), bitcast (void ()* @globalfunc to void (...)*)
- at globalfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @globalfunc to void (...)*)
- at globalfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @globalfunc to void (...)*)
- at globalfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @globalfunc to void (...)*)
+ at globalfuncAlias = alias void (...), ptr @globalfunc
+ at globalfuncWeakAlias = weak alias void (...), ptr @globalfunc
+ at globalfuncLinkonceAlias = linkonce alias void (...), ptr @globalfunc
+ at globalfuncWeakODRAlias = weak_odr alias void (...), ptr @globalfunc
+ at globalfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @globalfunc
define void @globalfunc() {
entry:
ret void
}
- at internalfuncAlias = alias void (...), bitcast (void ()* @internalfunc to void (...)*)
- at internalfuncWeakAlias = weak alias void (...), bitcast (void ()* @internalfunc to void (...)*)
- at internalfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @internalfunc to void (...)*)
- at internalfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @internalfunc to void (...)*)
- at internalfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @internalfunc to void (...)*)
+ at internalfuncAlias = alias void (...), ptr @internalfunc
+ at internalfuncWeakAlias = weak alias void (...), ptr @internalfunc
+ at internalfuncLinkonceAlias = linkonce alias void (...), ptr @internalfunc
+ at internalfuncWeakODRAlias = weak_odr alias void (...), ptr @internalfunc
+ at internalfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @internalfunc
define internal void @internalfunc() {
entry:
ret void
}
- at linkonceODRfuncAlias = alias void (...), bitcast (void ()* @linkonceODRfunc to void (...)*)
- at linkonceODRfuncWeakAlias = weak alias void (...), bitcast (void ()* @linkonceODRfunc to void (...)*)
- at linkonceODRfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @linkonceODRfunc to void (...)*)
- at linkonceODRfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @linkonceODRfunc to void (...)*)
- at linkonceODRfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @linkonceODRfunc to void (...)*)
+ at linkonceODRfuncAlias = alias void (...), ptr @linkonceODRfunc
+ at linkonceODRfuncWeakAlias = weak alias void (...), ptr @linkonceODRfunc
+ at linkonceODRfuncLinkonceAlias = linkonce alias void (...), ptr @linkonceODRfunc
+ at linkonceODRfuncWeakODRAlias = weak_odr alias void (...), ptr @linkonceODRfunc
+ at linkonceODRfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @linkonceODRfunc
define linkonce_odr void @linkonceODRfunc() {
entry:
ret void
}
- at weakODRfuncAlias = alias void (...), bitcast (void ()* @weakODRfunc to void (...)*)
- at weakODRfuncWeakAlias = weak alias void (...), bitcast (void ()* @weakODRfunc to void (...)*)
- at weakODRfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @weakODRfunc to void (...)*)
- at weakODRfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @weakODRfunc to void (...)*)
- at weakODRfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @weakODRfunc to void (...)*)
+ at weakODRfuncAlias = alias void (...), ptr @weakODRfunc
+ at weakODRfuncWeakAlias = weak alias void (...), ptr @weakODRfunc
+ at weakODRfuncLinkonceAlias = linkonce alias void (...), ptr @weakODRfunc
+ at weakODRfuncWeakODRAlias = weak_odr alias void (...), ptr @weakODRfunc
+ at weakODRfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @weakODRfunc
define weak_odr void @weakODRfunc() {
entry:
ret void
}
- at linkoncefuncAlias = alias void (...), bitcast (void ()* @linkoncefunc to void (...)*)
- at linkoncefuncWeakAlias = weak alias void (...), bitcast (void ()* @linkoncefunc to void (...)*)
- at linkoncefuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @linkoncefunc to void (...)*)
- at linkoncefuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @linkoncefunc to void (...)*)
- at linkoncefuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @linkoncefunc to void (...)*)
+ at linkoncefuncAlias = alias void (...), ptr @linkoncefunc
+ at linkoncefuncWeakAlias = weak alias void (...), ptr @linkoncefunc
+ at linkoncefuncLinkonceAlias = linkonce alias void (...), ptr @linkoncefunc
+ at linkoncefuncWeakODRAlias = weak_odr alias void (...), ptr @linkoncefunc
+ at linkoncefuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @linkoncefunc
define linkonce void @linkoncefunc() {
entry:
ret void
}
- at weakfuncAlias = alias void (...), bitcast (void ()* @weakfunc to void (...)*)
- at weakfuncWeakAlias = weak alias void (...), bitcast (void ()* @weakfunc to void (...)*)
- at weakfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @weakfunc to void (...)*)
- at weakfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @weakfunc to void (...)*)
- at weakfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @weakfunc to void (...)*)
+ at weakfuncAlias = alias void (...), ptr @weakfunc
+ at weakfuncWeakAlias = weak alias void (...), ptr @weakfunc
+ at weakfuncLinkonceAlias = linkonce alias void (...), ptr @weakfunc
+ at weakfuncWeakODRAlias = weak_odr alias void (...), ptr @weakfunc
+ at weakfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @weakfunc
define weak void @weakfunc() {
entry:
ret void
diff --git a/llvm/test/ThinLTO/X86/Inputs/distributed_import.ll b/llvm/test/ThinLTO/X86/Inputs/distributed_import.ll
index d7d9bb6789af2..c3fd358f87de3 100644
--- a/llvm/test/ThinLTO/X86/Inputs/distributed_import.ll
+++ b/llvm/test/ThinLTO/X86/Inputs/distributed_import.ll
@@ -4,11 +4,11 @@ target triple = "x86_64-unknown-linux-gnu"
@G = internal global i32 7
define i32 @g() {
entry:
- %0 = load i32, i32* @G
+ %0 = load i32, ptr @G
ret i32 %0
}
- at analias = alias void (...), bitcast (void ()* @aliasee to void (...)*)
+ at analias = alias void (...), ptr @aliasee
define void @aliasee() {
entry:
ret void
diff --git a/llvm/test/ThinLTO/X86/Inputs/distributed_indexes.ll b/llvm/test/ThinLTO/X86/Inputs/distributed_indexes.ll
index 65c3bb6116465..37b55839c12ce 100644
--- a/llvm/test/ThinLTO/X86/Inputs/distributed_indexes.ll
+++ b/llvm/test/ThinLTO/X86/Inputs/distributed_indexes.ll
@@ -5,7 +5,7 @@ entry:
ret void
}
- at analias = alias void (...), bitcast (void ()* @aliasee to void (...)*)
+ at analias = alias void (...), ptr @aliasee
define void @aliasee() {
entry:
ret void
diff --git a/llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll b/llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
index 5c452d58e8c0b..ecdaa727fb0df 100644
--- a/llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
+++ b/llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
@@ -1,15 +1,13 @@
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.11.0"
-%0 = type { i8 }
+%a = type { i8 }
-%a = type { %0 * }
-
-define void @bar(%a *) {
+define void @bar(%a) {
ret void
}
define void @baz() {
- call void @bar(%a *null)
+ call void @bar(%a undef)
ret void
}
diff --git a/llvm/test/ThinLTO/X86/alias_resolution.ll b/llvm/test/ThinLTO/X86/alias_resolution.ll
index 4649a88991864..4bd6ede357dfd 100644
--- a/llvm/test/ThinLTO/X86/alias_resolution.ll
+++ b/llvm/test/ThinLTO/X86/alias_resolution.ll
@@ -6,80 +6,80 @@
; There is no importing going on with this IR, but let's check the ODR resolution for compile time
-; NOTPROMOTED: @linkonceODRfuncAlias = alias void (...), bitcast (void ()* @linkonceODRfunc{{.*}} to void (...)*)
-; NOTPROMOTED: @linkonceODRfuncWeakAlias = weak alias void (...), bitcast (void ()* @linkonceODRfunc{{.*}} to void (...)*)
-; PROMOTE_MOD1: @linkonceODRfuncLinkonceAlias = weak alias void (...), bitcast (void ()* @linkonceODRfunc{{.*}} to void (...)*)
-; PROMOTE_MOD2: @linkonceODRfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @linkonceODRfunc{{.*}} to void (...)*)
-; PROMOTE_MOD1: @linkonceODRfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @linkonceODRfunc.mod1 to void (...)*)
-; PROMOTE_MOD2: @linkonceODRfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @linkonceODRfunc to void (...)*)
-; PROMOTE_MOD1: @linkonceODRfuncLinkonceODRAlias = weak_odr alias void (...), bitcast (void ()* @linkonceODRfunc.mod1 to void (...)*)
-; PROMOTE_MOD2: @linkonceODRfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @linkonceODRfunc to void (...)*)
+; NOTPROMOTED: @linkonceODRfuncAlias = alias void (...), ptr @linkonceODRfunc{{.*}}
+; NOTPROMOTED: @linkonceODRfuncWeakAlias = weak alias void (...), ptr @linkonceODRfunc{{.*}}
+; PROMOTE_MOD1: @linkonceODRfuncLinkonceAlias = weak alias void (...), ptr @linkonceODRfunc{{.*}}
+; PROMOTE_MOD2: @linkonceODRfuncLinkonceAlias = linkonce alias void (...), ptr @linkonceODRfunc{{.*}}
+; PROMOTE_MOD1: @linkonceODRfuncWeakODRAlias = weak_odr alias void (...), ptr @linkonceODRfunc.mod1
+; PROMOTE_MOD2: @linkonceODRfuncWeakODRAlias = weak_odr alias void (...), ptr @linkonceODRfunc
+; PROMOTE_MOD1: @linkonceODRfuncLinkonceODRAlias = weak_odr alias void (...), ptr @linkonceODRfunc.mod1
+; PROMOTE_MOD2: @linkonceODRfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @linkonceODRfunc
-; NOTPROMOTED: @weakODRfuncAlias = alias void (...), bitcast (void ()* @weakODRfunc{{.*}} to void (...)*)
-; NOTPROMOTED: @weakODRfuncWeakAlias = weak alias void (...), bitcast (void ()* @weakODRfunc{{.*}} to void (...)*)
-; PROMOTE_MOD1: @weakODRfuncLinkonceAlias = weak alias void (...), bitcast (void ()* @weakODRfunc{{.*}} to void (...)*)
-; PROMOTE_MOD2: @weakODRfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @weakODRfunc{{.*}} to void (...)*)
-; PROMOTE_MOD1: @weakODRfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @weakODRfunc.mod1 to void (...)*)
-; PROMOTE_MOD2: @weakODRfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @weakODRfunc to void (...)*)
-; PROMOTE_MOD1: @weakODRfuncLinkonceODRAlias = weak_odr alias void (...), bitcast (void ()* @weakODRfunc.mod1 to void (...)*)
-; PROMOTE_MOD2: @weakODRfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @weakODRfunc to void (...)*)
+; NOTPROMOTED: @weakODRfuncAlias = alias void (...), ptr @weakODRfunc{{.*}}
+; NOTPROMOTED: @weakODRfuncWeakAlias = weak alias void (...), ptr @weakODRfunc{{.*}}
+; PROMOTE_MOD1: @weakODRfuncLinkonceAlias = weak alias void (...), ptr @weakODRfunc{{.*}}
+; PROMOTE_MOD2: @weakODRfuncLinkonceAlias = linkonce alias void (...), ptr @weakODRfunc{{.*}}
+; PROMOTE_MOD1: @weakODRfuncWeakODRAlias = weak_odr alias void (...), ptr @weakODRfunc.mod1
+; PROMOTE_MOD2: @weakODRfuncWeakODRAlias = weak_odr alias void (...), ptr @weakODRfunc
+; PROMOTE_MOD1: @weakODRfuncLinkonceODRAlias = weak_odr alias void (...), ptr @weakODRfunc.mod1
+; PROMOTE_MOD2: @weakODRfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @weakODRfunc
-; NOTPROMOTED: @linkoncefuncAlias = alias void (...), bitcast (void ()* @linkoncefunc{{.*}} to void (...)*)
-; NOTPROMOTED: @linkoncefuncWeakAlias = weak alias void (...), bitcast (void ()* @linkoncefunc{{.*}} to void (...)*)
-; PROMOTE_MOD1: @linkoncefuncLinkonceAlias = weak alias void (...), bitcast (void ()* @linkoncefunc{{.*}} to void (...)*)
-; PROMOTE_MOD2: @linkoncefuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @linkoncefunc{{.*}} to void (...)*)
-; PROMOTE_MOD1: @linkoncefuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @linkoncefunc.mod1 to void (...)*)
-; PROMOTE_MOD2: @linkoncefuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @linkoncefunc to void (...)*)
-; PROMOTE_MOD1: @linkoncefuncLinkonceODRAlias = weak_odr alias void (...), bitcast (void ()* @linkoncefunc.mod1 to void (...)*)
-; PROMOTE_MOD2: @linkoncefuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @linkoncefunc to void (...)*)
+; NOTPROMOTED: @linkoncefuncAlias = alias void (...), ptr @linkoncefunc{{.*}}
+; NOTPROMOTED: @linkoncefuncWeakAlias = weak alias void (...), ptr @linkoncefunc{{.*}}
+; PROMOTE_MOD1: @linkoncefuncLinkonceAlias = weak alias void (...), ptr @linkoncefunc{{.*}}
+; PROMOTE_MOD2: @linkoncefuncLinkonceAlias = linkonce alias void (...), ptr @linkoncefunc{{.*}}
+; PROMOTE_MOD1: @linkoncefuncWeakODRAlias = weak_odr alias void (...), ptr @linkoncefunc.mod1
+; PROMOTE_MOD2: @linkoncefuncWeakODRAlias = weak_odr alias void (...), ptr @linkoncefunc
+; PROMOTE_MOD1: @linkoncefuncLinkonceODRAlias = weak_odr alias void (...), ptr @linkoncefunc.mod1
+; PROMOTE_MOD2: @linkoncefuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @linkoncefunc
-; NOTPROMOTED: @weakfuncAlias = alias void (...), bitcast (void ()* @weakfunc{{.*}} to void (...)*)
-; NOTPROMOTED: @weakfuncWeakAlias = weak alias void (...), bitcast (void ()* @weakfunc{{.*}} to void (...)*)
-; PROMOTE_MOD1: @weakfuncLinkonceAlias = weak alias void (...), bitcast (void ()* @weakfunc{{.*}} to void (...)*)
-; PROMOTE_MOD2: @weakfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @weakfunc{{.*}} to void (...)*)
+; NOTPROMOTED: @weakfuncAlias = alias void (...), ptr @weakfunc{{.*}}
+; NOTPROMOTED: @weakfuncWeakAlias = weak alias void (...), ptr @weakfunc{{.*}}
+; PROMOTE_MOD1: @weakfuncLinkonceAlias = weak alias void (...), ptr @weakfunc{{.*}}
+; PROMOTE_MOD2: @weakfuncLinkonceAlias = linkonce alias void (...), ptr @weakfunc{{.*}}
; FIXME: The "resolution" should turn one of these to linkonce_odr
-; PROMOTE_MOD1: @weakfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @weakfunc.mod1 to void (...)*)
-; PROMOTE_MOD2: @weakfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @weakfunc to void (...)*)
-; PROMOTE_MOD1: @weakfuncLinkonceODRAlias = weak_odr alias void (...), bitcast (void ()* @weakfunc.mod1 to void (...)*)
-; PROMOTE_MOD2: @weakfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @weakfunc to void (...)*)
+; PROMOTE_MOD1: @weakfuncWeakODRAlias = weak_odr alias void (...), ptr @weakfunc.mod1
+; PROMOTE_MOD2: @weakfuncWeakODRAlias = weak_odr alias void (...), ptr @weakfunc
+; PROMOTE_MOD1: @weakfuncLinkonceODRAlias = weak_odr alias void (...), ptr @weakfunc.mod1
+; PROMOTE_MOD2: @weakfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @weakfunc
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
- at linkonceODRfuncAlias = alias void (...), bitcast (void ()* @linkonceODRfunc.mod1 to void (...)*)
- at linkonceODRfuncWeakAlias = weak alias void (...), bitcast (void ()* @linkonceODRfunc.mod1 to void (...)*)
- at linkonceODRfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @linkonceODRfunc.mod1 to void (...)*)
- at linkonceODRfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @linkonceODRfunc.mod1 to void (...)*)
- at linkonceODRfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @linkonceODRfunc.mod1 to void (...)*)
+ at linkonceODRfuncAlias = alias void (...), ptr @linkonceODRfunc.mod1
+ at linkonceODRfuncWeakAlias = weak alias void (...), ptr @linkonceODRfunc.mod1
+ at linkonceODRfuncLinkonceAlias = linkonce alias void (...), ptr @linkonceODRfunc.mod1
+ at linkonceODRfuncWeakODRAlias = weak_odr alias void (...), ptr @linkonceODRfunc.mod1
+ at linkonceODRfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @linkonceODRfunc.mod1
define linkonce_odr void @linkonceODRfunc.mod1() {
entry:
ret void
}
- at weakODRfuncAlias = alias void (...), bitcast (void ()* @weakODRfunc.mod1 to void (...)*)
- at weakODRfuncWeakAlias = weak alias void (...), bitcast (void ()* @weakODRfunc.mod1 to void (...)*)
- at weakODRfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @weakODRfunc.mod1 to void (...)*)
- at weakODRfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @weakODRfunc.mod1 to void (...)*)
- at weakODRfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @weakODRfunc.mod1 to void (...)*)
+ at weakODRfuncAlias = alias void (...), ptr @weakODRfunc.mod1
+ at weakODRfuncWeakAlias = weak alias void (...), ptr @weakODRfunc.mod1
+ at weakODRfuncLinkonceAlias = linkonce alias void (...), ptr @weakODRfunc.mod1
+ at weakODRfuncWeakODRAlias = weak_odr alias void (...), ptr @weakODRfunc.mod1
+ at weakODRfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @weakODRfunc.mod1
define weak_odr void @weakODRfunc.mod1() {
entry:
ret void
}
- at linkoncefuncAlias = alias void (...), bitcast (void ()* @linkoncefunc.mod1 to void (...)*)
- at linkoncefuncWeakAlias = weak alias void (...), bitcast (void ()* @linkoncefunc.mod1 to void (...)*)
- at linkoncefuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @linkoncefunc.mod1 to void (...)*)
- at linkoncefuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @linkoncefunc.mod1 to void (...)*)
- at linkoncefuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @linkoncefunc.mod1 to void (...)*)
+ at linkoncefuncAlias = alias void (...), ptr @linkoncefunc.mod1
+ at linkoncefuncWeakAlias = weak alias void (...), ptr @linkoncefunc.mod1
+ at linkoncefuncLinkonceAlias = linkonce alias void (...), ptr @linkoncefunc.mod1
+ at linkoncefuncWeakODRAlias = weak_odr alias void (...), ptr @linkoncefunc.mod1
+ at linkoncefuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @linkoncefunc.mod1
define linkonce void @linkoncefunc.mod1() {
entry:
ret void
}
- at weakfuncAlias = alias void (...), bitcast (void ()* @weakfunc.mod1 to void (...)*)
- at weakfuncWeakAlias = weak alias void (...), bitcast (void ()* @weakfunc.mod1 to void (...)*)
- at weakfuncLinkonceAlias = linkonce alias void (...), bitcast (void ()* @weakfunc.mod1 to void (...)*)
- at weakfuncWeakODRAlias = weak_odr alias void (...), bitcast (void ()* @weakfunc.mod1 to void (...)*)
- at weakfuncLinkonceODRAlias = linkonce_odr alias void (...), bitcast (void ()* @weakfunc.mod1 to void (...)*)
+ at weakfuncAlias = alias void (...), ptr @weakfunc.mod1
+ at weakfuncWeakAlias = weak alias void (...), ptr @weakfunc.mod1
+ at weakfuncLinkonceAlias = linkonce alias void (...), ptr @weakfunc.mod1
+ at weakfuncWeakODRAlias = weak_odr alias void (...), ptr @weakfunc.mod1
+ at weakfuncLinkonceODRAlias = linkonce_odr alias void (...), ptr @weakfunc.mod1
define weak void @weakfunc.mod1() {
entry:
ret void
diff --git a/llvm/test/ThinLTO/X86/cache-icall.ll b/llvm/test/ThinLTO/X86/cache-icall.ll
index e3a3c66c1ee05..994d922ec5038 100644
--- a/llvm/test/ThinLTO/X86/cache-icall.ll
+++ b/llvm/test/ThinLTO/X86/cache-icall.ll
@@ -32,11 +32,10 @@
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"
-define i8* @_start(void ()* %p) !type !0 {
+define ptr @_start(ptr %p) !type !0 {
entry:
- %0 = bitcast void ()* %p to i8*
- %1 = tail call i1 @llvm.type.test(i8* %0, metadata !"_ZTSFvvE")
- br i1 %1, label %cont, label %trap
+ %0 = tail call i1 @llvm.type.test(ptr %p, metadata !"_ZTSFvvE")
+ br i1 %0, label %cont, label %trap
trap: ; preds = %entry
tail call void @llvm.trap()
@@ -44,10 +43,10 @@ trap: ; preds = %entry
cont: ; preds = %entry
tail call void %p()
- ret i8* bitcast (void ()* @f to i8*)
+ ret ptr @f
}
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
declare void @llvm.trap()
declare !type !1 void @f()
diff --git a/llvm/test/ThinLTO/X86/cfi-devirt.ll b/llvm/test/ThinLTO/X86/cfi-devirt.ll
index 78fad2f15ad0e..7df936c02a341 100644
--- a/llvm/test/ThinLTO/X86/cfi-devirt.ll
+++ b/llvm/test/ThinLTO/X86/cfi-devirt.ll
@@ -48,46 +48,43 @@
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
; Put declaration first to test handling of remarks when the first
; function has no basic blocks.
declare void @empty()
; CHECK-IR-LABEL: define i32 @test
-define i32 @test(%struct.A* %obj, i32 %a) {
+define i32 @test(ptr %obj, i32 %a) {
entry:
- %0 = bitcast %struct.A* %obj to i8**
- %vtable5 = load i8*, i8** %0
+ %vtable5 = load ptr, ptr %obj
- %1 = tail call { i8*, i1 } @llvm.type.checked.load(i8* %vtable5, i32 8, metadata !"_ZTS1A")
- %2 = extractvalue { i8*, i1 } %1, 1
- br i1 %2, label %cont, label %trap
+ %0 = tail call { ptr, i1 } @llvm.type.checked.load(ptr %vtable5, i32 8, metadata !"_ZTS1A")
+ %1 = extractvalue { ptr, i1 } %0, 1
+ br i1 %1, label %cont, label %trap
trap:
tail call void @llvm.trap()
unreachable
cont:
- %3 = extractvalue { i8*, i1 } %1, 0
- %4 = bitcast i8* %3 to i32 (%struct.A*, i32)*
+ %2 = extractvalue { ptr, i1 } %0, 0
; Check that the call was devirtualized.
; CHECK-IR: %call = tail call i32 @_ZN1A1nEi
- %call = tail call i32 %4(%struct.A* nonnull %obj, i32 %a)
- %vtable16 = load i8*, i8** %0
- %5 = tail call { i8*, i1 } @llvm.type.checked.load(i8* %vtable16, i32 0, metadata !"_ZTS1A")
- %6 = extractvalue { i8*, i1 } %5, 1
- br i1 %6, label %cont2, label %trap
+ %call = tail call i32 %2(ptr nonnull %obj, i32 %a)
+ %vtable16 = load ptr, ptr %obj
+ %3 = tail call { ptr, i1 } @llvm.type.checked.load(ptr %vtable16, i32 0, metadata !"_ZTS1A")
+ %4 = extractvalue { ptr, i1 } %3, 1
+ br i1 %4, label %cont2, label %trap
cont2:
- %7 = extractvalue { i8*, i1 } %5, 0
- %8 = bitcast i8* %7 to i32 (%struct.A*, i32)*
+ %5 = extractvalue { ptr, i1 } %3, 0
; Check that traps are conditional. Invalid TYPE_ID can cause
; unconditional traps.
@@ -95,18 +92,18 @@ cont2:
; We still have to call it as virtual.
; CHECK-IR: %call3 = tail call i32 %5
- %call3 = tail call i32 %8(%struct.A* nonnull %obj, i32 %call)
+ %call3 = tail call i32 %5(ptr nonnull %obj, i32 %call)
ret i32 %call3
}
; CHECK-IR-LABEL: ret i32
; CHECK-IR-LABEL: }
-declare { i8*, i1 } @llvm.type.checked.load(i8*, i32, metadata)
+declare { ptr, i1 } @llvm.type.checked.load(ptr, i32, metadata)
declare void @llvm.trap()
-declare i32 @_ZN1B1fEi(%struct.B* %this, i32 %a)
-declare i32 @_ZN1A1nEi(%struct.A* %this, i32 %a)
-declare i32 @_ZN1C1fEi(%struct.C* %this, i32 %a)
+declare i32 @_ZN1B1fEi(ptr %this, i32 %a)
+declare i32 @_ZN1A1nEi(ptr %this, i32 %a)
+declare i32 @_ZN1C1fEi(ptr %this, i32 %a)
!0 = !{i64 16, !"_ZTS1A"}
!1 = !{i64 16, !"_ZTS1B"}
diff --git a/llvm/test/ThinLTO/X86/devirt_promote_legacy.ll b/llvm/test/ThinLTO/X86/devirt_promote_legacy.ll
index 7216911a6bc66..9d7a40204ba82 100644
--- a/llvm/test/ThinLTO/X86/devirt_promote_legacy.ll
+++ b/llvm/test/ThinLTO/X86/devirt_promote_legacy.ll
@@ -25,23 +25,20 @@
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 }
; CHECK-IR1-LABEL: define i32 @test
-define i32 @test(%struct.A* %obj, i32 %a) {
+define i32 @test(ptr %obj, i32 %a) {
entry:
- %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")
call void @llvm.assume(i1 %p)
- %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
+ %fptrptr = getelementptr ptr, ptr %vtable, i32 1
+ %fptr1 = load ptr, ptr %fptrptr, align 8
; Check that the call was devirtualized.
- ; CHECK-IR1: = tail call i32 bitcast (void ()* @_ZN1A1nEi
- %call = tail call i32 %fptr1(%struct.A* nonnull %obj, i32 %a)
+ ; CHECK-IR1: = tail call i32 @_ZN1A1nEi
+ %call = tail call i32 %fptr1(ptr nonnull %obj, i32 %a)
ret i32 %call
}
@@ -52,7 +49,7 @@ entry:
; Check that the call was devirtualized.
; CHECK-IR2: = tail call i32 @_ZN1A1nEi
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
declare void @llvm.assume(i1)
attributes #0 = { noinline optnone }
diff --git a/llvm/test/ThinLTO/X86/empty-module.ll b/llvm/test/ThinLTO/X86/empty-module.ll
index 04bc0d5942e1a..4fff063ec3c9b 100644
--- a/llvm/test/ThinLTO/X86/empty-module.ll
+++ b/llvm/test/ThinLTO/X86/empty-module.ll
@@ -10,9 +10,9 @@
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"
- at foo = ifunc i32 (i32), i32 (i32)* ()* @foo_ifunc
+ at foo = ifunc i32 (i32), ptr @foo_ifunc
-define internal i32 (i32)* @foo_ifunc() {
+define internal ptr @foo_ifunc() {
entry:
- ret i32 (i32)* null
+ ret ptr null
}
diff --git a/llvm/test/ThinLTO/X86/funcimport.ll b/llvm/test/ThinLTO/X86/funcimport.ll
index cb75d55edf583..63a83b6a33b93 100644
--- a/llvm/test/ThinLTO/X86/funcimport.ll
+++ b/llvm/test/ThinLTO/X86/funcimport.ll
@@ -12,7 +12,7 @@
; EXPORTSTATIC-DAG: @staticvar.llvm.0 = hidden global
; Eventually @staticconstvar can be exported as a copy and not promoted
; EXPORTSTATIC-DAG: @staticconstvar.llvm.0 = hidden unnamed_addr constant
-; EXPORTSTATIC-DAG: @P.llvm.0 = hidden global void ()* null
+; EXPORTSTATIC-DAG: @P.llvm.0 = hidden global ptr null
; EXPORTSTATIC-DAG: define hidden i32 @staticfunc.llvm.0
; EXPORTSTATIC-DAG: define hidden void @staticfunc2.llvm.0
@@ -55,11 +55,11 @@ target triple = "x86_64-apple-macosx10.11.0"
@staticvar2 = internal global i32 1, align 4
@staticconstvar = internal unnamed_addr constant [2 x i32] [i32 10, i32 20], align 4
@commonvar = common global i32 0, align 4
- at P = internal global void ()* null, align 8
+ at P = internal global ptr null, align 8
- at weakalias = weak alias void (...), bitcast (void ()* @globalfunc1 to void (...)*)
- at analias = alias void (...), bitcast (void ()* @globalfunc2 to void (...)*)
- at linkoncealias = alias void (...), bitcast (void ()* @linkoncefunc to void (...)*)
+ at weakalias = weak alias void (...), ptr @globalfunc1
+ at analias = alias void (...), ptr @globalfunc2
+ at linkoncealias = alias void (...), ptr @linkoncefunc
define void @globalfunc1() #0 {
entry:
@@ -79,14 +79,14 @@ entry:
define i32 @referencestatics(i32 %i) #0 {
entry:
%i.addr = alloca i32, align 4
- store i32 %i, i32* %i.addr, align 4
+ store i32 %i, ptr %i.addr, align 4
%call = call i32 @staticfunc()
- %0 = load i32, i32* @staticvar, align 4
+ %0 = load i32, ptr @staticvar, align 4
%add = add nsw i32 %call, %0
- %1 = load i32, i32* %i.addr, align 4
+ %1 = load i32, ptr %i.addr, align 4
%idxprom = sext i32 %1 to i64
- %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* @staticconstvar, i64 0, i64 %idxprom
- %2 = load i32, i32* %arrayidx, align 4
+ %arrayidx = getelementptr inbounds [2 x i32], ptr @staticconstvar, i64 0, i64 %idxprom
+ %2 = load i32, ptr %arrayidx, align 4
%add1 = add nsw i32 %add, %2
ret i32 %add1
}
@@ -94,29 +94,29 @@ entry:
define i32 @referenceglobals(i32 %i) #0 {
entry:
%i.addr = alloca i32, align 4
- store i32 %i, i32* %i.addr, align 4
+ store i32 %i, ptr %i.addr, align 4
call void @globalfunc1()
- %0 = load i32, i32* @globalvar, align 4
+ %0 = load i32, ptr @globalvar, align 4
ret i32 %0
}
define i32 @referencecommon(i32 %i) #0 {
entry:
%i.addr = alloca i32, align 4
- store i32 %i, i32* %i.addr, align 4
- %0 = load i32, i32* @commonvar, align 4
+ store i32 %i, ptr %i.addr, align 4
+ %0 = load i32, ptr @commonvar, align 4
ret i32 %0
}
define void @setfuncptr() #0 {
entry:
- store void ()* @staticfunc2, void ()** @P, align 8
+ store ptr @staticfunc2, ptr @P, align 8
ret void
}
define void @callfuncptr() #0 {
entry:
- %0 = load void ()*, void ()** @P, align 8
+ %0 = load ptr, ptr @P, align 8
call void %0()
ret void
}
@@ -140,6 +140,6 @@ entry:
define internal void @staticfunc2() #0 {
entry:
- %0 = load i32, i32* @staticvar2, align 4
+ %0 = load i32, ptr @staticvar2, align 4
ret void
}
diff --git a/llvm/test/ThinLTO/X86/import_opaque_type.ll b/llvm/test/ThinLTO/X86/import_opaque_type.ll
index 0a49116a62a2e..ecb7b927bd8b6 100644
--- a/llvm/test/ThinLTO/X86/import_opaque_type.ll
+++ b/llvm/test/ThinLTO/X86/import_opaque_type.ll
@@ -10,18 +10,16 @@
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.11.0"
-; CHECK: %0 = type { i8 }
-%0 = type opaque
-
-%a = type { %0 * }
+; CHECK: %a = type { i8 }
+%a = type opaque
declare void @baz()
-define void @foo(%a *) {
+define void @foo(%a) {
call void @baz()
ret void
}
define i32 @main() {
- call void @foo(%a *null)
+ call void @foo(%a undef)
ret i32 0
}
diff --git a/llvm/test/ThinLTO/X86/type_test_noindircall.ll b/llvm/test/ThinLTO/X86/type_test_noindircall.ll
index 2e2f9f8565968..2d0faaa256023 100644
--- a/llvm/test/ThinLTO/X86/type_test_noindircall.ll
+++ b/llvm/test/ThinLTO/X86/type_test_noindircall.ll
@@ -23,31 +23,29 @@
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"
-%"class.llvm::vfs::File" = type { i32 (...)** }
+%"class.llvm::vfs::File" = type { ptr }
%"class.llvm::vfs::Status" = type <{ %"class.std::__cxx11::basic_string", %"class.llvm::sys::fs::UniqueID", %"struct.std::chrono::time_point", i32, i32, i64, i32, i32, i8, [7 x i8] }>
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider", i64, %union.anon }
-%"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* }
+%"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.llvm::sys::fs::UniqueID" = type { i64, i64 }
%"struct.std::chrono::time_point" = type { %"struct.std::chrono::duration" }
%"struct.std::chrono::duration" = type { i64 }
%"class.(anonymous namespace)::RealFile" = type { %"class.llvm::vfs::File", i32, [4 x i8], %"class.llvm::vfs::Status", %"class.std::__cxx11::basic_string" }
- at _ZTVN12_GLOBAL__N_18RealFileE = unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* null, i8* null, i8* bitcast (void (%"class.(anonymous namespace)::RealFile"*)* @_ZN12_GLOBAL__N_18RealFileD2Ev to i8*)] }, align 8, !type !74
+ at _ZTVN12_GLOBAL__N_18RealFileE = unnamed_addr constant { [3 x ptr] } { [3 x ptr] [ptr null, ptr null, ptr @_ZN12_GLOBAL__N_18RealFileD2Ev] }, align 8, !type !74
-define internal void @_ZN12_GLOBAL__N_18RealFileD2Ev(%"class.(anonymous namespace)::RealFile"* %this) unnamed_addr #0 align 2 {
+define internal void @_ZN12_GLOBAL__N_18RealFileD2Ev(ptr %this) unnamed_addr #0 align 2 {
entry:
-; CHECK-IR: %0 = getelementptr
- %0 = getelementptr %"class.(anonymous namespace)::RealFile", %"class.(anonymous namespace)::RealFile"* %this, i64 0, i32 0, i32 0
-; CHECK-IR-NEXT: store
- store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN12_GLOBAL__N_18RealFileE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %0, align 8
- %1 = tail call i1 @llvm.type.test(i8* bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN12_GLOBAL__N_18RealFileE, i64 0, inrange i32 0, i64 2) to i8*), metadata !"4$09c6cc733fc6accb91e5d7b87cb48f2d")
- tail call void @llvm.assume(i1 %1)
+; CHECK-IR: store
+ store ptr getelementptr inbounds ({ [3 x ptr] }, ptr @_ZTVN12_GLOBAL__N_18RealFileE, i64 0, inrange i32 0, i64 2), ptr %this, align 8
+ %0 = tail call i1 @llvm.type.test(ptr getelementptr inbounds ({ [3 x ptr] }, ptr @_ZTVN12_GLOBAL__N_18RealFileE, i64 0, inrange i32 0, i64 2), metadata !"4$09c6cc733fc6accb91e5d7b87cb48f2d")
+ tail call void @llvm.assume(i1 %0)
; CHECK-IR-NEXT: ret void
ret void
}
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
declare void @llvm.assume(i1)
; Make sure we don't inline or otherwise optimize out the direct calls.
More information about the llvm-commits
mailing list