[llvm] 3a05e01 - [DebugInfo] Convert tests to opaque pointers (NFC)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 6 13:02:44 PST 2024
Author: Fangrui Song
Date: 2024-02-06T13:02:38-08:00
New Revision: 3a05e01d1a76984fe1532bd237edbbb7ed9db6ea
URL: https://github.com/llvm/llvm-project/commit/3a05e01d1a76984fe1532bd237edbbb7ed9db6ea
DIFF: https://github.com/llvm/llvm-project/commit/3a05e01d1a76984fe1532bd237edbbb7ed9db6ea.diff
LOG: [DebugInfo] Convert tests to opaque pointers (NFC)
Link: https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322
Added:
Modified:
llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
llvm/test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir
llvm/test/DebugInfo/AArch64/fallthrough-branch.ll
llvm/test/DebugInfo/AArch64/frameindices.ll
llvm/test/DebugInfo/AArch64/machine-outliner.ll
llvm/test/DebugInfo/ARM/cfi-eof-prologue.mir
llvm/test/DebugInfo/ARM/machine-cp-updates-dbg-reg.mir
llvm/test/DebugInfo/COFF/function-options.ll
llvm/test/DebugInfo/COFF/global_rust.ll
llvm/test/DebugInfo/COFF/nrvo.ll
llvm/test/DebugInfo/COFF/thunk.ll
llvm/test/DebugInfo/COFF/type-quals.ll
llvm/test/DebugInfo/COFF/types-basic.ll
llvm/test/DebugInfo/COFF/types-cvarargs.ll
llvm/test/DebugInfo/COFF/types-data-members.ll
llvm/test/DebugInfo/COFF/vftables.ll
llvm/test/DebugInfo/COFF/virtual-methods.ll
llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll
llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll
llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll
llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll
llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll
llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll
llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll
llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll
llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll
llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll
llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll
llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll
llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll
llvm/test/DebugInfo/Generic/licm-hoist-intrinsic-debug-loc.ll
llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
llvm/test/DebugInfo/MSP430/dwarf-basics.ll
llvm/test/DebugInfo/MSP430/fp-vla-callee-saved.ll
llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
llvm/test/DebugInfo/X86/PR37234.ll
llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_at_return.mir
llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_still_clobbers.mir
llvm/test/DebugInfo/X86/debug-info-blocks.ll
llvm/test/DebugInfo/X86/debug-loc-asan.mir
llvm/test/DebugInfo/X86/debug-loc-frame.ll
llvm/test/DebugInfo/X86/debug-loc-offset.mir
llvm/test/DebugInfo/X86/dw_op_minus.mir
llvm/test/DebugInfo/X86/empty-and-one-elem-array.ll
llvm/test/DebugInfo/X86/fragment-offset-order.ll
llvm/test/DebugInfo/X86/global-sra-struct-part-overlap-segment.ll
llvm/test/DebugInfo/X86/linkage-name.ll
llvm/test/DebugInfo/X86/live-debug-values-constprop.mir
llvm/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
llvm/test/DebugInfo/X86/location-range-inlined-xblock.mir
llvm/test/DebugInfo/X86/location-range.mir
llvm/test/DebugInfo/X86/pr19307.mir
llvm/test/DebugInfo/X86/prolog-params.mir
llvm/test/DebugInfo/X86/single-location-inlined-param.mir
llvm/test/DebugInfo/X86/single-location-interrupted-scope.mir
llvm/test/DebugInfo/X86/single-location.mir
llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll
llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll
llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll
llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll
llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll
Removed:
################################################################################
diff --git a/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir b/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
index 1b7159d5f07525..be3d1c0007998a 100644
--- a/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
+++ b/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
@@ -39,85 +39,85 @@
target triple = "arm64-apple-ios"
%0 = type opaque
- %struct._class_t = type { %struct._class_t*, %struct._class_t*, %struct._objc_cache*, i8* (i8*, i8*)**, %struct._class_ro_t* }
+ %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
%struct._objc_cache = type opaque
- %struct._class_ro_t = type { i32, i32, i32, i8*, i8*, %struct.__method_list_t*, %struct._objc_protocol_list*, %struct._ivar_list_t*, i8*, %struct._prop_list_t* }
+ %struct._class_ro_t = type { i32, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%struct.__method_list_t = type { i32, i32, [0 x %struct._objc_method] }
- %struct._objc_method = type { i8*, i8*, i8* }
- %struct._objc_protocol_list = type { i64, [0 x %struct._protocol_t*] }
- %struct._protocol_t = type { i8*, i8*, %struct._objc_protocol_list*, %struct.__method_list_t*, %struct.__method_list_t*, %struct.__method_list_t*, %struct.__method_list_t*, %struct._prop_list_t*, i32, i32, i8**, i8*, %struct._prop_list_t* }
+ %struct._objc_method = type { ptr, ptr, ptr }
+ %struct._objc_protocol_list = type { i64, [0 x ptr] }
+ %struct._protocol_t = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, ptr, ptr }
%struct._ivar_list_t = type { i32, i32, [0 x %struct._ivar_t] }
- %struct._ivar_t = type { i32*, i8*, i8*, i32, i32 }
+ %struct._ivar_t = type { ptr, ptr, ptr, i32, i32 }
%struct._prop_list_t = type { i32, i32, [0 x %struct._prop_t] }
- %struct._prop_t = type { i8*, i8* }
+ %struct._prop_t = type { ptr, ptr }
%struct.CGSize = type { double, double }
@"OBJC_CLASS_$_Object" = external global %struct._class_t
- @"OBJC_CLASSLIST_REFERENCES_$_" = private global %struct._class_t* @"OBJC_CLASS_$_Object", section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8
+ @"OBJC_CLASSLIST_REFERENCES_$_" = private global ptr @"OBJC_CLASS_$_Object", section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [6 x i8] c"alloc\00", section "__TEXT,__objc_methname,cstring_literals", align 1
- @OBJC_SELECTOR_REFERENCES_ = private externally_initialized global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @OBJC_METH_VAR_NAME_, i32 0, i32 0), section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 8
+ @OBJC_SELECTOR_REFERENCES_ = private externally_initialized global ptr @OBJC_METH_VAR_NAME_, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 8
@OBJC_METH_VAR_NAME_.1 = private unnamed_addr constant [14 x i8] c"initWithSize:\00", section "__TEXT,__objc_methname,cstring_literals", align 1
- @OBJC_SELECTOR_REFERENCES_.2 = private externally_initialized global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @OBJC_METH_VAR_NAME_.1, i32 0, i32 0), section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 8
+ @OBJC_SELECTOR_REFERENCES_.2 = private externally_initialized global ptr @OBJC_METH_VAR_NAME_.1, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 8
@OBJC_METH_VAR_NAME_.3 = private unnamed_addr constant [9 x i8] c"aMessage\00", section "__TEXT,__objc_methname,cstring_literals", align 1
- @OBJC_SELECTOR_REFERENCES_.4 = private externally_initialized global i8* getelementptr inbounds ([9 x i8], [9 x i8]* @OBJC_METH_VAR_NAME_.3, i32 0, i32 0), section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 8
+ @OBJC_SELECTOR_REFERENCES_.4 = private externally_initialized global ptr @OBJC_METH_VAR_NAME_.3, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 8
@_objc_empty_cache = external global %struct._objc_cache
- @"OBJC_CLASS_$_MyObject" = global %struct._class_t { %struct._class_t* @"OBJC_METACLASS_$_MyObject", %struct._class_t* null, %struct._objc_cache* @_objc_empty_cache, i8* (i8*, i8*)** null, %struct._class_ro_t* @"\01l_OBJC_CLASS_RO_$_MyObject" }, section "__DATA, __objc_data", align 8
- @"OBJC_METACLASS_$_MyObject" = global %struct._class_t { %struct._class_t* @"OBJC_METACLASS_$_MyObject", %struct._class_t* @"OBJC_CLASS_$_MyObject", %struct._objc_cache* @_objc_empty_cache, i8* (i8*, i8*)** null, %struct._class_ro_t* @"\01l_OBJC_METACLASS_RO_$_MyObject" }, section "__DATA, __objc_data", align 8
+ @"OBJC_CLASS_$_MyObject" = global %struct._class_t { ptr @"OBJC_METACLASS_$_MyObject", ptr null, ptr @_objc_empty_cache, ptr null, ptr @"\01l_OBJC_CLASS_RO_$_MyObject" }, section "__DATA, __objc_data", align 8
+ @"OBJC_METACLASS_$_MyObject" = global %struct._class_t { ptr @"OBJC_METACLASS_$_MyObject", ptr @"OBJC_CLASS_$_MyObject", ptr @_objc_empty_cache, ptr null, ptr @"\01l_OBJC_METACLASS_RO_$_MyObject" }, section "__DATA, __objc_data", align 8
@OBJC_CLASS_NAME_ = private unnamed_addr constant [9 x i8] c"MyObject\00", section "__TEXT,__objc_classname,cstring_literals", align 1
@OBJC_METH_VAR_NAME_.5 = private unnamed_addr constant [12 x i8] c"doWithSize:\00", section "__TEXT,__objc_methname,cstring_literals", align 1
@OBJC_METH_VAR_TYPE_ = private unnamed_addr constant [21 x i8] c"@32 at 0:8{CGSize=dd}16\00", section "__TEXT,__objc_methtype,cstring_literals", align 1
- @"\01l_OBJC_$_CLASS_METHODS_MyObject" = private global { i32, i32, [1 x %struct._objc_method] } { i32 24, i32 1, [1 x %struct._objc_method] [%struct._objc_method { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @OBJC_METH_VAR_NAME_.5, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @OBJC_METH_VAR_TYPE_, i32 0, i32 0), i8* bitcast (i8* (i8*, i8*, [2 x double])* @"\01+[MyObject doWithSize:]" to i8*) }] }, section "__DATA, __objc_const", align 8
- @"\01l_OBJC_METACLASS_RO_$_MyObject" = private global %struct._class_ro_t { i32 131, i32 40, i32 40, i8* null, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @OBJC_CLASS_NAME_, i32 0, i32 0), %struct.__method_list_t* bitcast ({ i32, i32, [1 x %struct._objc_method] }* @"\01l_OBJC_$_CLASS_METHODS_MyObject" to %struct.__method_list_t*), %struct._objc_protocol_list* null, %struct._ivar_list_t* null, i8* null, %struct._prop_list_t* null }, section "__DATA, __objc_const", align 8
- @"\01l_OBJC_CLASS_RO_$_MyObject" = private global %struct._class_ro_t { i32 130, i32 0, i32 0, i8* null, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @OBJC_CLASS_NAME_, i32 0, i32 0), %struct.__method_list_t* null, %struct._objc_protocol_list* null, %struct._ivar_list_t* null, i8* null, %struct._prop_list_t* null }, section "__DATA, __objc_const", align 8
- @"OBJC_LABEL_CLASS_$" = private global [1 x i8*] [i8* bitcast (%struct._class_t* @"OBJC_CLASS_$_MyObject" to i8*)], section "__DATA, __objc_classlist, regular, no_dead_strip", align 8
- @llvm.compiler.used = appending global [12 x i8*] [i8* bitcast (%struct._class_t** @"OBJC_CLASSLIST_REFERENCES_$_" to i8*), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @OBJC_METH_VAR_NAME_, i32 0, i32 0), i8* bitcast (i8** @OBJC_SELECTOR_REFERENCES_ to i8*), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @OBJC_METH_VAR_NAME_.1, i32 0, i32 0), i8* bitcast (i8** @OBJC_SELECTOR_REFERENCES_.2 to i8*), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @OBJC_METH_VAR_NAME_.3, i32 0, i32 0), i8* bitcast (i8** @OBJC_SELECTOR_REFERENCES_.4 to i8*), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @OBJC_CLASS_NAME_, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @OBJC_METH_VAR_NAME_.5, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @OBJC_METH_VAR_TYPE_, i32 0, i32 0), i8* bitcast ({ i32, i32, [1 x %struct._objc_method] }* @"\01l_OBJC_$_CLASS_METHODS_MyObject" to i8*), i8* bitcast ([1 x i8*]* @"OBJC_LABEL_CLASS_$" to i8*)], section "llvm.metadata"
- @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 1, void ()* @asan.module_ctor, i8* null }]
+ @"\01l_OBJC_$_CLASS_METHODS_MyObject" = private global { i32, i32, [1 x %struct._objc_method] } { i32 24, i32 1, [1 x %struct._objc_method] [%struct._objc_method { ptr @OBJC_METH_VAR_NAME_.5, ptr @OBJC_METH_VAR_TYPE_, ptr @"\01+[MyObject doWithSize:]" }] }, section "__DATA, __objc_const", align 8
+ @"\01l_OBJC_METACLASS_RO_$_MyObject" = private global %struct._class_ro_t { i32 131, i32 40, i32 40, ptr null, ptr @OBJC_CLASS_NAME_, ptr @"\01l_OBJC_$_CLASS_METHODS_MyObject", ptr null, ptr null, ptr null, ptr null }, section "__DATA, __objc_const", align 8
+ @"\01l_OBJC_CLASS_RO_$_MyObject" = private global %struct._class_ro_t { i32 130, i32 0, i32 0, ptr null, ptr @OBJC_CLASS_NAME_, ptr null, ptr null, ptr null, ptr null, ptr null }, section "__DATA, __objc_const", align 8
+ @"OBJC_LABEL_CLASS_$" = private global [1 x ptr] [ptr @"OBJC_CLASS_$_MyObject"], section "__DATA, __objc_classlist, regular, no_dead_strip", align 8
+ @llvm.compiler.used = appending global [12 x ptr] [ptr @"OBJC_CLASSLIST_REFERENCES_$_", ptr @OBJC_METH_VAR_NAME_, ptr @OBJC_SELECTOR_REFERENCES_, ptr @OBJC_METH_VAR_NAME_.1, ptr @OBJC_SELECTOR_REFERENCES_.2, ptr @OBJC_METH_VAR_NAME_.3, ptr @OBJC_SELECTOR_REFERENCES_.4, ptr @OBJC_CLASS_NAME_, ptr @OBJC_METH_VAR_NAME_.5, ptr @OBJC_METH_VAR_TYPE_, ptr @"\01l_OBJC_$_CLASS_METHODS_MyObject", ptr @"OBJC_LABEL_CLASS_$"], section "llvm.metadata"
+ @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 1, ptr @asan.module_ctor, ptr null }]
@__asan_shadow_memory_dynamic_address = external global i64
@___asan_gen_ = private unnamed_addr constant [34 x i8] c"2 32 16 9 imageSize 64 8 6 object\00", align 1
- @__stack_chk_guard = external global i8*
+ @__stack_chk_guard = external global ptr
; Function Attrs: noinline sanitize_address ssp uwtable
- define internal i8* @"\01+[MyObject doWithSize:]"(i8* %self, i8* %_cmd, [2 x double] %imageSize.coerce) #0 !dbg !14 {
+ define internal ptr @"\01+[MyObject doWithSize:]"(ptr %self, ptr %_cmd, [2 x double] %imageSize.coerce) #0 !dbg !14 {
entry:
- %StackGuardSlot = alloca i8*
- %0 = call i8* @llvm.stackguard()
- call void @llvm.stackprotector(i8* %0, i8** %StackGuardSlot)
- %1 = load i64, i64* @__asan_shadow_memory_dynamic_address
- %self.addr = alloca i8*, align 8
- %_cmd.addr = alloca i8*, align 8
+ %StackGuardSlot = alloca ptr
+ %0 = call ptr @llvm.stackguard()
+ call void @llvm.stackprotector(ptr %0, ptr %StackGuardSlot)
+ %1 = load i64, ptr @__asan_shadow_memory_dynamic_address
+ %self.addr = alloca ptr, align 8
+ %_cmd.addr = alloca ptr, align 8
%MyAlloca = alloca [96 x i8], align 32, !dbg !35
- %2 = ptrtoint [96 x i8]* %MyAlloca to i64, !dbg !35
+ %2 = ptrtoint ptr %MyAlloca to i64, !dbg !35
%3 = add i64 %2, 32, !dbg !35
- %4 = inttoptr i64 %3 to %struct.CGSize*, !dbg !35
+ %4 = inttoptr i64 %3 to ptr, !dbg !35
%5 = add i64 %2, 64, !dbg !35
- %6 = inttoptr i64 %5 to %0**, !dbg !35
- %7 = inttoptr i64 %2 to i64*, !dbg !35
- store i64 1102416563, i64* %7, !dbg !35
+ %6 = inttoptr i64 %5 to ptr, !dbg !35
+ %7 = inttoptr i64 %2 to ptr, !dbg !35
+ store i64 1102416563, ptr %7, !dbg !35
%8 = add i64 %2, 8, !dbg !35
- %9 = inttoptr i64 %8 to i64*, !dbg !35
- store i64 ptrtoint ([34 x i8]* @___asan_gen_ to i64), i64* %9, !dbg !35
+ %9 = inttoptr i64 %8 to ptr, !dbg !35
+ store i64 ptrtoint (ptr @___asan_gen_ to i64), ptr %9, !dbg !35
%10 = add i64 %2, 16, !dbg !35
- %11 = inttoptr i64 %10 to i64*, !dbg !35
- store i64 ptrtoint (i8* (i8*, i8*, [2 x double])* @"\01+[MyObject doWithSize:]" to i64), i64* %11, !dbg !35
+ %11 = inttoptr i64 %10 to ptr, !dbg !35
+ store i64 ptrtoint (ptr @"\01+[MyObject doWithSize:]" to i64), ptr %11, !dbg !35
%12 = lshr i64 %2, 3, !dbg !35
%13 = add i64 %12, %1, !dbg !35
%14 = add i64 %13, 0, !dbg !35
- %15 = inttoptr i64 %14 to i64*, !dbg !35
- store i64 -940689368107847183, i64* %15, align 1, !dbg !35
+ %15 = inttoptr i64 %14 to ptr, !dbg !35
+ store i64 -940689368107847183, ptr %15, align 1, !dbg !35
%16 = add i64 %13, 9, !dbg !35
- %17 = inttoptr i64 %16 to i16*, !dbg !35
- store i16 -3085, i16* %17, align 1, !dbg !35
+ %17 = inttoptr i64 %16 to ptr, !dbg !35
+ store i16 -3085, ptr %17, align 1, !dbg !35
%18 = add i64 %13, 11, !dbg !35
- %19 = inttoptr i64 %18 to i8*, !dbg !35
- store i8 -13, i8* %19, align 1, !dbg !35
- call void @llvm.dbg.declare(metadata %struct.CGSize* %4, metadata !36, metadata !DIExpression(DW_OP_deref)), !dbg !37
- call void @llvm.dbg.declare(metadata %0** %6, metadata !38, metadata !DIExpression(DW_OP_deref)), !dbg !44
- %20 = bitcast %struct.CGSize* %4 to [2 x double]*
- %21 = ptrtoint [2 x double]* %20 to i64
+ %19 = inttoptr i64 %18 to ptr, !dbg !35
+ store i8 -13, ptr %19, align 1, !dbg !35
+ call void @llvm.dbg.declare(metadata ptr %4, metadata !36, metadata !DIExpression(DW_OP_deref)), !dbg !37
+ call void @llvm.dbg.declare(metadata ptr %6, metadata !38, metadata !DIExpression(DW_OP_deref)), !dbg !44
+ %20 = bitcast ptr %4 to ptr
+ %21 = ptrtoint ptr %20 to i64
%22 = lshr i64 %21, 3
%23 = add i64 %22, %1
- %24 = inttoptr i64 %23 to i16*
- %25 = load i16, i16* %24
+ %24 = inttoptr i64 %23 to ptr
+ %25 = load i16, ptr %24
%26 = icmp ne i16 %25, 0
br i1 %26, label %27, label %28
@@ -127,50 +127,50 @@
unreachable
; <label>:28: ; preds = %entry
- store [2 x double] %imageSize.coerce, [2 x double]* %20, align 8
- store i8* %self, i8** %self.addr, align 8
- call void @llvm.dbg.declare(metadata i8** %self.addr, metadata !45, metadata !DIExpression()), !dbg !47
- store i8* %_cmd, i8** %_cmd.addr, align 8
- call void @llvm.dbg.declare(metadata i8** %_cmd.addr, metadata !48, metadata !DIExpression()), !dbg !47
- %29 = load %struct._class_t*, %struct._class_t** @"OBJC_CLASSLIST_REFERENCES_$_", align 8, !dbg !50
- %lshr1 = lshr i64 ptrtoint (i8** @OBJC_SELECTOR_REFERENCES_ to i64), 3, !dbg !50
+ store [2 x double] %imageSize.coerce, ptr %20, align 8
+ store ptr %self, ptr %self.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %self.addr, metadata !45, metadata !DIExpression()), !dbg !47
+ store ptr %_cmd, ptr %_cmd.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %_cmd.addr, metadata !48, metadata !DIExpression()), !dbg !47
+ %29 = load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_", align 8, !dbg !50
+ %lshr1 = lshr i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_ to i64), 3, !dbg !50
%30 = add i64 %lshr1, %1, !dbg !50
- %31 = inttoptr i64 %30 to i8*, !dbg !50
- %32 = load i8, i8* %31, !dbg !50
+ %31 = inttoptr i64 %30 to ptr, !dbg !50
+ %32 = load i8, ptr %31, !dbg !50
%33 = icmp ne i8 %32, 0, !dbg !50
br i1 %33, label %34, label %35, !dbg !50
; <label>:34: ; preds = %28
- call void @__asan_report_load8(i64 ptrtoint (i8** @OBJC_SELECTOR_REFERENCES_ to i64)), !dbg !50
+ call void @__asan_report_load8(i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_ to i64)), !dbg !50
call void asm sideeffect "", ""(), !dbg !50
unreachable, !dbg !50
; <label>:35: ; preds = %28
- %36 = load i8*, i8** @OBJC_SELECTOR_REFERENCES_, align 8, !dbg !50, !invariant.load !2
- %37 = bitcast %struct._class_t* %29 to i8*, !dbg !50
- %call = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %37, i8* %36), !dbg !50
- %38 = bitcast i8* %call to %0*, !dbg !50
- %lshr2 = lshr i64 ptrtoint (i8** @OBJC_SELECTOR_REFERENCES_.2 to i64), 3, !dbg !51
+ %36 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_, align 8, !dbg !50, !invariant.load !2
+ %37 = bitcast ptr %29 to ptr, !dbg !50
+ %call = call ptr @objc_msgSend(ptr %37, ptr %36), !dbg !50
+ %38 = bitcast ptr %call to ptr, !dbg !50
+ %lshr2 = lshr i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_.2 to i64), 3, !dbg !51
%39 = add i64 %lshr2, %1, !dbg !51
- %40 = inttoptr i64 %39 to i8*, !dbg !51
- %41 = load i8, i8* %40, !dbg !51
+ %40 = inttoptr i64 %39 to ptr, !dbg !51
+ %41 = load i8, ptr %40, !dbg !51
%42 = icmp ne i8 %41, 0, !dbg !51
br i1 %42, label %43, label %44, !dbg !51
; <label>:43: ; preds = %35
- call void @__asan_report_load8(i64 ptrtoint (i8** @OBJC_SELECTOR_REFERENCES_.2 to i64)), !dbg !51
+ call void @__asan_report_load8(i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_.2 to i64)), !dbg !51
call void asm sideeffect "", ""(), !dbg !51
unreachable, !dbg !51
; <label>:44: ; preds = %35
- %45 = load i8*, i8** @OBJC_SELECTOR_REFERENCES_.2, align 8, !dbg !51, !invariant.load !2
- %46 = bitcast %0* %38 to i8*, !dbg !51
- %47 = bitcast %struct.CGSize* %4 to [2 x double]*, !dbg !51
- %48 = ptrtoint [2 x double]* %47 to i64, !dbg !51
+ %45 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.2, align 8, !dbg !51, !invariant.load !2
+ %46 = bitcast ptr %38 to ptr, !dbg !51
+ %47 = bitcast ptr %4 to ptr, !dbg !51
+ %48 = ptrtoint ptr %47 to i64, !dbg !51
%49 = lshr i64 %48, 3, !dbg !51
%50 = add i64 %49, %1, !dbg !51
- %51 = inttoptr i64 %50 to i16*, !dbg !51
- %52 = load i16, i16* %51, !dbg !51
+ %51 = inttoptr i64 %50 to ptr, !dbg !51
+ %52 = load i16, ptr %51, !dbg !51
%53 = icmp ne i16 %52, 0, !dbg !51
br i1 %53, label %54, label %55, !dbg !51
@@ -180,14 +180,14 @@
unreachable, !dbg !51
; <label>:55: ; preds = %44
- %56 = load [2 x double], [2 x double]* %47, align 8, !dbg !51
- %call1 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, [2 x double])*)(i8* %46, i8* %45, [2 x double] %56), !dbg !51
- %57 = bitcast i8* %call1 to %0*, !dbg !51
- %58 = ptrtoint %0** %6 to i64, !dbg !44
+ %56 = load [2 x double], ptr %47, align 8, !dbg !51
+ %call1 = call ptr @objc_msgSend(ptr %46, ptr %45, [2 x double] %56), !dbg !51
+ %57 = bitcast ptr %call1 to ptr, !dbg !51
+ %58 = ptrtoint ptr %6 to i64, !dbg !44
%59 = lshr i64 %58, 3, !dbg !44
%60 = add i64 %59, %1, !dbg !44
- %61 = inttoptr i64 %60 to i8*, !dbg !44
- %62 = load i8, i8* %61, !dbg !44
+ %61 = inttoptr i64 %60 to ptr, !dbg !44
+ %62 = load i8, ptr %61, !dbg !44
%63 = icmp ne i8 %62, 0, !dbg !44
br i1 %63, label %64, label %65, !dbg !44
@@ -197,46 +197,46 @@
unreachable, !dbg !44
; <label>:65: ; preds = %55
- store %0* %57, %0** %6, align 8, !dbg !44
- %66 = load %0*, %0** %6, align 8, !dbg !52
- %lshr3 = lshr i64 ptrtoint (i8** @OBJC_SELECTOR_REFERENCES_.4 to i64), 3, !dbg !53
+ store ptr %57, ptr %6, align 8, !dbg !44
+ %66 = load ptr, ptr %6, align 8, !dbg !52
+ %lshr3 = lshr i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_.4 to i64), 3, !dbg !53
%67 = add i64 %lshr3, %1, !dbg !53
- %68 = inttoptr i64 %67 to i8*, !dbg !53
- %69 = load i8, i8* %68, !dbg !53
+ %68 = inttoptr i64 %67 to ptr, !dbg !53
+ %69 = load i8, ptr %68, !dbg !53
%70 = icmp ne i8 %69, 0, !dbg !53
br i1 %70, label %71, label %72, !dbg !53
; <label>:71: ; preds = %65
- call void @__asan_report_load8(i64 ptrtoint (i8** @OBJC_SELECTOR_REFERENCES_.4 to i64)), !dbg !53
+ call void @__asan_report_load8(i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_.4 to i64)), !dbg !53
call void asm sideeffect "", ""(), !dbg !53
unreachable, !dbg !53
; <label>:72: ; preds = %65
- %73 = load i8*, i8** @OBJC_SELECTOR_REFERENCES_.4, align 8, !dbg !53, !invariant.load !2
- %74 = bitcast %0* %66 to i8*, !dbg !53
- %call2 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %74, i8* %73), !dbg !53
+ %73 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.4, align 8, !dbg !53, !invariant.load !2
+ %74 = bitcast ptr %66 to ptr, !dbg !53
+ %call2 = call ptr @objc_msgSend(ptr %74, ptr %73), !dbg !53
call void asm sideeffect "mov\09fp, fp\09\09; marker for objc_retainAutoreleaseReturnValue", ""(), !dbg !53
- %75 = call i8* @objc_retainAutoreleasedReturnValue(i8* %call2) #3, !dbg !53
- %76 = bitcast %0** %6 to i8**, !dbg !54
- call void @objc_storeStrong(i8** %76, i8* null) #3, !dbg !54
- %77 = tail call i8* @objc_autoreleaseReturnValue(i8* %75) #3, !dbg !54
- store i64 1172321806, i64* %7, !dbg !54
+ %75 = call ptr @objc_retainAutoreleasedReturnValue(ptr %call2) #3, !dbg !53
+ %76 = bitcast ptr %6 to ptr, !dbg !54
+ call void @objc_storeStrong(ptr %76, ptr null) #3, !dbg !54
+ %77 = tail call ptr @objc_autoreleaseReturnValue(ptr %75) #3, !dbg !54
+ store i64 1172321806, ptr %7, !dbg !54
%78 = add i64 %13, 0, !dbg !54
- %79 = inttoptr i64 %78 to i64*, !dbg !54
- store i64 0, i64* %79, align 1, !dbg !54
+ %79 = inttoptr i64 %78 to ptr, !dbg !54
+ store i64 0, ptr %79, align 1, !dbg !54
%80 = add i64 %13, 9, !dbg !54
- %81 = inttoptr i64 %80 to i16*, !dbg !54
- store i16 0, i16* %81, align 1, !dbg !54
+ %81 = inttoptr i64 %80 to ptr, !dbg !54
+ store i16 0, ptr %81, align 1, !dbg !54
%82 = add i64 %13, 11, !dbg !54
- %83 = inttoptr i64 %82 to i8*, !dbg !54
- store i8 0, i8* %83, align 1, !dbg !54
- %84 = call i8* @llvm.stackguard()
- %85 = load volatile i8*, i8** %StackGuardSlot
- %86 = icmp eq i8* %84, %85
+ %83 = inttoptr i64 %82 to ptr, !dbg !54
+ store i8 0, ptr %83, align 1, !dbg !54
+ %84 = call ptr @llvm.stackguard()
+ %85 = load volatile ptr, ptr %StackGuardSlot
+ %86 = icmp eq ptr %84, %85
br i1 %86, label %SP_return, label %CallStackCheckFailBlk, !prof !55
SP_return: ; preds = %72
- ret i8* %77, !dbg !54
+ ret ptr %77, !dbg !54
CallStackCheckFailBlk: ; preds = %72
call void @__stack_chk_fail(), !dbg !47
@@ -247,13 +247,13 @@
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: nonlazybind
- declare i8* @objc_msgSend(i8*, i8*, ...) #2
+ declare ptr @objc_msgSend(ptr, ptr, ...) #2
- declare i8* @objc_retainAutoreleasedReturnValue(i8* returned)
+ declare ptr @objc_retainAutoreleasedReturnValue(ptr returned)
- declare void @objc_storeStrong(i8**, i8*)
+ declare void @objc_storeStrong(ptr, ptr)
- declare i8* @objc_autoreleaseReturnValue(i8* returned)
+ declare ptr @objc_autoreleaseReturnValue(ptr returned)
define internal void @asan.module_ctor() {
call void @__asan_init()
@@ -274,10 +274,10 @@
declare void @__asan_report_store16(i64)
; Function Attrs: nounwind
- declare void @llvm.stackprotector(i8*, i8**) #3
+ declare void @llvm.stackprotector(ptr, ptr) #3
; Function Attrs: nounwind
- declare i8* @llvm.stackguard() #3
+ declare ptr @llvm.stackguard() #3
declare void @__stack_chk_fail()
diff --git a/llvm/test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir b/llvm/test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir
index 364cafaab8972d..54dc9360d5b498 100644
--- a/llvm/test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir
+++ b/llvm/test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir
@@ -24,7 +24,7 @@
}
declare void @llvm.dbg.value(metadata, metadata, metadata) #0
- declare void @llvm.stackprotector(i8*, i8**) #1
+ declare void @llvm.stackprotector(ptr, ptr) #1
attributes #0 = { nounwind readnone speculatable }
attributes #1 = { nounwind }
diff --git a/llvm/test/DebugInfo/AArch64/fallthrough-branch.ll b/llvm/test/DebugInfo/AArch64/fallthrough-branch.ll
index c224a75cf14106..a049e3629e87df 100644
--- a/llvm/test/DebugInfo/AArch64/fallthrough-branch.ll
+++ b/llvm/test/DebugInfo/AArch64/fallthrough-branch.ll
@@ -7,9 +7,9 @@ target triple = "arm64-apple-macosx11.0.0"
define swiftcc void @"$s1t1f1bySb_tF"(i1 %0) !dbg !35 {
%2 = alloca i1, align 8
- %3 = bitcast i1* %2 to i8*
- call void @llvm.memset.p0i8.i64(i8* align 8 %3, i8 0, i64 1, i1 false)
- store i1 %0, i1* %2, align 8, !dbg !37
+ %3 = bitcast ptr %2 to ptr
+ call void @llvm.memset.p0.i64(ptr align 8 %3, i8 0, i64 1, i1 false)
+ store i1 %0, ptr %2, align 8, !dbg !37
; CHECK: B %[[BB4:bb\.[0-9]+]], debug-location !{{[0-9]+}}
br i1 %0, label %4, label %5, !dbg !38
@@ -28,7 +28,7 @@ define swiftcc void @"$s1t1f1bySb_tF"(i1 %0) !dbg !35 {
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn writeonly
-declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #1
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #1
attributes #1 = { argmemonly nofree nosync nounwind willreturn writeonly }
!llvm.module.flags = !{!6, !7, !14}
diff --git a/llvm/test/DebugInfo/AArch64/frameindices.ll b/llvm/test/DebugInfo/AArch64/frameindices.ll
index d0080afa9085a6..31a2b65e540b5e 100644
--- a/llvm/test/DebugInfo/AArch64/frameindices.ll
+++ b/llvm/test/DebugInfo/AArch64/frameindices.ll
@@ -37,23 +37,23 @@ source_filename = "test/DebugInfo/AArch64/frameindices.ll"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-apple-ios"
-%struct.A = type { i8, i8*, i8 }
+%struct.A = type { i8, ptr, i8 }
%struct.B = type { i8 }
@a = global i64 0, align 8, !dbg !0
- at b = global i32* null, align 8, !dbg !4
+ at b = global ptr null, align 8, !dbg !4
-define void @_Z3f131A(%struct.A* nocapture readonly %p1) !dbg !32 {
+define void @_Z3f131A(ptr nocapture readonly %p1) !dbg !32 {
entry:
%agg.tmp = alloca %struct.A, align 8
- tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !36, metadata !37), !dbg !38
- %0 = load i64, i64* @a, align 8, !dbg !39, !tbaa !40
- %call = tail call noalias i8* @_Znwm(i64 %0) #4, !dbg !44
- store i8* %call, i8** bitcast (i32** @b to i8**), align 8, !dbg !45, !tbaa !46
- %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp, i64 0, i32 0, !dbg !48
- %2 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !48
- call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %1, i8* align 8 %2, i64 24, i1 false), !dbg !48, !tbaa.struct !49
- call void @_Z2f91A(%struct.A* %agg.tmp), !dbg !52
+ tail call void @llvm.dbg.declare(metadata ptr %p1, metadata !36, metadata !37), !dbg !38
+ %0 = load i64, ptr @a, align 8, !dbg !39, !tbaa !40
+ %call = tail call noalias ptr @_Znwm(i64 %0) #4, !dbg !44
+ store ptr %call, ptr @b, align 8, !dbg !45, !tbaa !46
+ %1 = getelementptr inbounds %struct.A, ptr %agg.tmp, i64 0, i32 0, !dbg !48
+ %2 = getelementptr inbounds %struct.A, ptr %p1, i64 0, i32 0, !dbg !48
+ call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1, ptr align 8 %2, i64 24, i1 false), !dbg !48, !tbaa.struct !49
+ call void @_Z2f91A(ptr %agg.tmp), !dbg !52
ret void, !dbg !53
}
@@ -61,95 +61,95 @@ entry:
declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
; Function Attrs: nobuiltin
-declare noalias i8* @_Znwm(i64) #1
+declare noalias ptr @_Znwm(i64) #1
-declare void @_Z2f91A(%struct.A*)
+declare void @_Z2f91A(ptr)
; Function Attrs: argmemonly nounwind
-declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i1) #2
+declare void @llvm.memcpy.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1) #2
-define void @_Z3f111A(%struct.A* nocapture readonly %p1) !dbg !54 {
+define void @_Z3f111A(ptr nocapture readonly %p1) !dbg !54 {
entry:
%agg.tmp.i = alloca %struct.A, align 8
- tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !56, metadata !37), !dbg !57
- %0 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !58
- %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i, i64 0, i32 0, !dbg !59
- call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !59
- %2 = load i64, i64* @a, align 8, !dbg !61, !tbaa !40
- %call.i = tail call noalias i8* @_Znwm(i64 %2) #4, !dbg !62
- store i8* %call.i, i8** bitcast (i32** @b to i8**), align 8, !dbg !63, !tbaa !46
- call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %1, i8* align 8 %0, i64 24, i1 false), !dbg !64
- call void @_Z2f91A(%struct.A* %agg.tmp.i), !dbg !65
- call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !66
+ tail call void @llvm.dbg.declare(metadata ptr %p1, metadata !56, metadata !37), !dbg !57
+ %0 = getelementptr inbounds %struct.A, ptr %p1, i64 0, i32 0, !dbg !58
+ %1 = getelementptr inbounds %struct.A, ptr %agg.tmp.i, i64 0, i32 0, !dbg !59
+ call void @llvm.lifetime.start(i64 24, ptr %1), !dbg !59
+ %2 = load i64, ptr @a, align 8, !dbg !61, !tbaa !40
+ %call.i = tail call noalias ptr @_Znwm(i64 %2) #4, !dbg !62
+ store ptr %call.i, ptr @b, align 8, !dbg !63, !tbaa !46
+ call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1, ptr align 8 %0, i64 24, i1 false), !dbg !64
+ call void @_Z2f91A(ptr %agg.tmp.i), !dbg !65
+ call void @llvm.lifetime.end(i64 24, ptr %1), !dbg !66
ret void, !dbg !67
}
-define void @_Z3f16v() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !dbg !68 {
+define void @_Z3f16v() personality ptr @__gxx_personality_v0 !dbg !68 {
entry:
%agg.tmp.i.i = alloca %struct.A, align 8
%d = alloca %struct.B, align 8
%agg.tmp.sroa.2 = alloca [15 x i8], align 1
%agg.tmp.sroa.4 = alloca [7 x i8], align 1
- tail call void @llvm.dbg.declare(metadata [15 x i8]* %agg.tmp.sroa.2, metadata !56, metadata !74), !dbg !75
- tail call void @llvm.dbg.declare(metadata [7 x i8]* %agg.tmp.sroa.4, metadata !56, metadata !77), !dbg !75
- tail call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !72, metadata !37), !dbg !78
- %0 = load i64, i64* @a, align 8, !dbg !79, !tbaa !40
- tail call void @llvm.dbg.value(metadata %struct.B* %d, metadata !73, metadata !37), !dbg !80
- %call = call %struct.B* @_ZN1BC1El(%struct.B* %d, i64 %0), !dbg !80
+ tail call void @llvm.dbg.declare(metadata ptr %agg.tmp.sroa.2, metadata !56, metadata !74), !dbg !75
+ tail call void @llvm.dbg.declare(metadata ptr %agg.tmp.sroa.4, metadata !56, metadata !77), !dbg !75
+ tail call void @llvm.dbg.declare(metadata ptr undef, metadata !72, metadata !37), !dbg !78
+ %0 = load i64, ptr @a, align 8, !dbg !79, !tbaa !40
+ tail call void @llvm.dbg.value(metadata ptr %d, metadata !73, metadata !37), !dbg !80
+ %call = call ptr @_ZN1BC1El(ptr %d, i64 %0), !dbg !80
call void @llvm.dbg.value(metadata i8 1, metadata !72, metadata !81), !dbg !78
call void @llvm.dbg.value(metadata i8 1, metadata !72, metadata !82), !dbg !78
call void @llvm.dbg.value(metadata i8 1, metadata !56, metadata !81), !dbg !75
call void @llvm.dbg.value(metadata i8 1, metadata !56, metadata !82), !dbg !75
- call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !56, metadata !37), !dbg !75
- %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 0, !dbg !83
- call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !83
- %2 = load i64, i64* @a, align 8, !dbg !85, !tbaa !40
- %call.i.i5 = invoke noalias i8* @_Znwm(i64 %2) #4
+ call void @llvm.dbg.declare(metadata ptr undef, metadata !56, metadata !37), !dbg !75
+ %1 = getelementptr inbounds %struct.A, ptr %agg.tmp.i.i, i64 0, i32 0, !dbg !83
+ call void @llvm.lifetime.start(i64 24, ptr %1), !dbg !83
+ %2 = load i64, ptr @a, align 8, !dbg !85, !tbaa !40
+ %call.i.i5 = invoke noalias ptr @_Znwm(i64 %2) #4
to label %call.i.i.noexc unwind label %lpad, !dbg !86
call.i.i.noexc: ; preds = %entry
- %agg.tmp.sroa.4.17..sroa_idx = getelementptr inbounds [7 x i8], [7 x i8]* %agg.tmp.sroa.4, i64 0, i64 0, !dbg !87
- %agg.tmp.sroa.2.1..sroa_idx = getelementptr inbounds [15 x i8], [15 x i8]* %agg.tmp.sroa.2, i64 0, i64 0, !dbg !87
- store i8* %call.i.i5, i8** bitcast (i32** @b to i8**), align 8, !dbg !88, !tbaa !46
- store i8 1, i8* %1, align 8, !dbg !89
- %agg.tmp.sroa.2.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 1, !dbg !89
- call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.2.0..sroa_raw_idx, i8* %agg.tmp.sroa.2.1..sroa_idx, i64 15, i1 false), !dbg !89
- %agg.tmp.sroa.3.0..sroa_idx = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 2, !dbg !89
- store i8 1, i8* %agg.tmp.sroa.3.0..sroa_idx, align 8, !dbg !89
- %agg.tmp.sroa.4.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 17, !dbg !89
- call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.4.0..sroa_raw_idx, i8* %agg.tmp.sroa.4.17..sroa_idx, i64 7, i1 false), !dbg !89
- invoke void @_Z2f91A(%struct.A* %agg.tmp.i.i)
+ %agg.tmp.sroa.4.17..sroa_idx = getelementptr inbounds [7 x i8], ptr %agg.tmp.sroa.4, i64 0, i64 0, !dbg !87
+ %agg.tmp.sroa.2.1..sroa_idx = getelementptr inbounds [15 x i8], ptr %agg.tmp.sroa.2, i64 0, i64 0, !dbg !87
+ store ptr %call.i.i5, ptr @b, align 8, !dbg !88, !tbaa !46
+ store i8 1, ptr %1, align 8, !dbg !89
+ %agg.tmp.sroa.2.0..sroa_raw_idx = getelementptr inbounds i8, ptr %1, i64 1, !dbg !89
+ call void @llvm.memcpy.p0.p0.i64(ptr %agg.tmp.sroa.2.0..sroa_raw_idx, ptr %agg.tmp.sroa.2.1..sroa_idx, i64 15, i1 false), !dbg !89
+ %agg.tmp.sroa.3.0..sroa_idx = getelementptr inbounds %struct.A, ptr %agg.tmp.i.i, i64 0, i32 2, !dbg !89
+ store i8 1, ptr %agg.tmp.sroa.3.0..sroa_idx, align 8, !dbg !89
+ %agg.tmp.sroa.4.0..sroa_raw_idx = getelementptr inbounds i8, ptr %1, i64 17, !dbg !89
+ call void @llvm.memcpy.p0.p0.i64(ptr %agg.tmp.sroa.4.0..sroa_raw_idx, ptr %agg.tmp.sroa.4.17..sroa_idx, i64 7, i1 false), !dbg !89
+ invoke void @_Z2f91A(ptr %agg.tmp.i.i)
to label %invoke.cont unwind label %lpad, !dbg !90
invoke.cont: ; preds = %call.i.i.noexc
- call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !91
- call void @llvm.dbg.value(metadata %struct.B* %d, metadata !73, metadata !37), !dbg !80
- %call1 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !92
+ call void @llvm.lifetime.end(i64 24, ptr %1), !dbg !91
+ call void @llvm.dbg.value(metadata ptr %d, metadata !73, metadata !37), !dbg !80
+ %call1 = call ptr @_ZN1BD1Ev(ptr %d) #3, !dbg !92
ret void, !dbg !92
lpad: ; preds = %call.i.i.noexc, %entry
- %3 = landingpad { i8*, i32 }
+ %3 = landingpad { ptr, i32 }
cleanup, !dbg !92
- call void @llvm.dbg.value(metadata %struct.B* %d, metadata !73, metadata !37), !dbg !80
- %call2 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !92
- resume { i8*, i32 } %3, !dbg !92
+ call void @llvm.dbg.value(metadata ptr %d, metadata !73, metadata !37), !dbg !80
+ %call2 = call ptr @_ZN1BD1Ev(ptr %d) #3, !dbg !92
+ resume { ptr, i32 } %3, !dbg !92
}
-declare %struct.B* @_ZN1BC1El(%struct.B*, i64)
+declare ptr @_ZN1BC1El(ptr, i64)
declare i32 @__gxx_personality_v0(...)
; Function Attrs: nounwind
-declare %struct.B* @_ZN1BD1Ev(%struct.B*) #3
+declare ptr @_ZN1BD1Ev(ptr) #3
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, metadata, metadata) #0
; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #2
+declare void @llvm.lifetime.start(i64, ptr nocapture) #2
; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #2
+declare void @llvm.lifetime.end(i64, ptr nocapture) #2
attributes #0 = { nounwind readnone }
attributes #1 = { nobuiltin }
diff --git a/llvm/test/DebugInfo/AArch64/machine-outliner.ll b/llvm/test/DebugInfo/AArch64/machine-outliner.ll
index ac046afae59f60..45ab9de20844aa 100644
--- a/llvm/test/DebugInfo/AArch64/machine-outliner.ll
+++ b/llvm/test/DebugInfo/AArch64/machine-outliner.ll
@@ -29,11 +29,11 @@
define void @foo() #0 !dbg !8 {
entry:
- %p = alloca i32*, align 8
- call void @llvm.dbg.declare(metadata i32** %p, metadata !11, metadata !DIExpression()), !dbg !14
- %0 = load i32*, i32** %p, align 8, !dbg !15
- %incdec.ptr = getelementptr inbounds i32, i32* %0, i32 1, !dbg !15
- store i32* %incdec.ptr, i32** %p, align 8, !dbg !15
+ %p = alloca ptr, align 8
+ call void @llvm.dbg.declare(metadata ptr %p, metadata !11, metadata !DIExpression()), !dbg !14
+ %0 = load ptr, ptr %p, align 8, !dbg !15
+ %incdec.ptr = getelementptr inbounds i32, ptr %0, i32 1, !dbg !15
+ store ptr %incdec.ptr, ptr %p, align 8, !dbg !15
call void @foo(), !dbg !16
ret void, !dbg !17
}
@@ -42,11 +42,11 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
define void @bar() #0 !dbg !18 {
entry:
- %p = alloca i32*, align 8
- call void @llvm.dbg.declare(metadata i32** %p, metadata !19, metadata !DIExpression()), !dbg !20
- %0 = load i32*, i32** %p, align 8, !dbg !21
- %incdec.ptr = getelementptr inbounds i32, i32* %0, i32 1, !dbg !21
- store i32* %incdec.ptr, i32** %p, align 8, !dbg !21
+ %p = alloca ptr, align 8
+ call void @llvm.dbg.declare(metadata ptr %p, metadata !19, metadata !DIExpression()), !dbg !20
+ %0 = load ptr, ptr %p, align 8, !dbg !21
+ %incdec.ptr = getelementptr inbounds i32, ptr %0, i32 1, !dbg !21
+ store ptr %incdec.ptr, ptr %p, align 8, !dbg !21
call void @foo(), !dbg !22
ret void, !dbg !23
}
diff --git a/llvm/test/DebugInfo/ARM/cfi-eof-prologue.mir b/llvm/test/DebugInfo/ARM/cfi-eof-prologue.mir
index e82a75016e2f61..9edeb6155c070e 100644
--- a/llvm/test/DebugInfo/ARM/cfi-eof-prologue.mir
+++ b/llvm/test/DebugInfo/ARM/cfi-eof-prologue.mir
@@ -19,65 +19,65 @@
--- |
%struct.B = type { %struct.A }
- %struct.A = type { i32 (...)** }
+ %struct.A = type { ptr }
- @_ZTV1B = external unnamed_addr constant [4 x i8*]
+ @_ZTV1B = external unnamed_addr constant [4 x ptr]
; Function Attrs: nounwind
- define %struct.B* @_ZN1BC2Ev(%struct.B* %this) unnamed_addr #0 align 2 !dbg !31 {
+ define ptr @_ZN1BC2Ev(ptr %this) unnamed_addr #0 align 2 !dbg !31 {
entry:
- tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !33, metadata !DIExpression()), !dbg !35
- %0 = bitcast %struct.B* %this to %struct.A*, !dbg !36
- %call = tail call %struct.A* @_ZN1AC2Ev(%struct.A* %0) #0, !dbg !36
- %1 = bitcast %struct.B* %this to i32 (...)***, !dbg !36
- store i32 (...)** bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTV1B, i32 0, i32 2) to i32 (...)**), i32 (...)*** %1, align 4, !dbg !36, !tbaa !37
- ret %struct.B* %this, !dbg !36
+ tail call void @llvm.dbg.value(metadata ptr %this, metadata !33, metadata !DIExpression()), !dbg !35
+ %0 = bitcast ptr %this to ptr, !dbg !36
+ %call = tail call ptr @_ZN1AC2Ev(ptr %0) #0, !dbg !36
+ %1 = bitcast ptr %this to ptr, !dbg !36
+ store ptr getelementptr inbounds ([4 x ptr], ptr @_ZTV1B, i32 0, i32 2), ptr %1, align 4, !dbg !36, !tbaa !37
+ ret ptr %this, !dbg !36
}
- declare %struct.A* @_ZN1AC2Ev(%struct.A*)
+ declare ptr @_ZN1AC2Ev(ptr)
; Function Attrs: nounwind
- define %struct.B* @_ZN1BC1Ev(%struct.B* %this) unnamed_addr #0 align 2 !dbg !40 {
+ define ptr @_ZN1BC1Ev(ptr %this) unnamed_addr #0 align 2 !dbg !40 {
entry:
- tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !42, metadata !DIExpression()), !dbg !43
- tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !33, metadata !DIExpression()) #0, !dbg !44
- %0 = bitcast %struct.B* %this to %struct.A*, !dbg !46
- %call.i = tail call %struct.A* @_ZN1AC2Ev(%struct.A* %0) #0, !dbg !46
- %1 = bitcast %struct.B* %this to i32 (...)***, !dbg !46
- store i32 (...)** bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTV1B, i32 0, i32 2) to i32 (...)**), i32 (...)*** %1, align 4, !dbg !46, !tbaa !37
- ret %struct.B* %this, !dbg !45
+ tail call void @llvm.dbg.value(metadata ptr %this, metadata !42, metadata !DIExpression()), !dbg !43
+ tail call void @llvm.dbg.value(metadata ptr %this, metadata !33, metadata !DIExpression()) #0, !dbg !44
+ %0 = bitcast ptr %this to ptr, !dbg !46
+ %call.i = tail call ptr @_ZN1AC2Ev(ptr %0) #0, !dbg !46
+ %1 = bitcast ptr %this to ptr, !dbg !46
+ store ptr getelementptr inbounds ([4 x ptr], ptr @_ZTV1B, i32 0, i32 2), ptr %1, align 4, !dbg !46, !tbaa !37
+ ret ptr %this, !dbg !45
}
; Function Attrs: nounwind readnone speculatable
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
- declare void @_Unwind_SjLj_Register({ i8*, i32, [4 x i32], i8*, i8*, [5 x i8*] }*)
+ declare void @_Unwind_SjLj_Register(ptr)
- declare void @_Unwind_SjLj_Unregister({ i8*, i32, [4 x i32], i8*, i8*, [5 x i8*] }*)
+ declare void @_Unwind_SjLj_Unregister(ptr)
; Function Attrs: nounwind readnone
- declare i8* @llvm.frameaddress(i32) #2
+ declare ptr @llvm.frameaddress(i32) #2
; Function Attrs: nounwind
- declare i8* @llvm.stacksave() #0
+ declare ptr @llvm.stacksave() #0
; Function Attrs: nounwind
- declare void @llvm.stackrestore(i8*) #0
+ declare void @llvm.stackrestore(ptr) #0
; Function Attrs: nounwind
declare void @llvm.eh.sjlj.setup.dispatch() #0
; Function Attrs: nounwind readnone
- declare i8* @llvm.eh.sjlj.lsda() #2
+ declare ptr @llvm.eh.sjlj.lsda() #2
; Function Attrs: nounwind readnone
declare void @llvm.eh.sjlj.callsite(i32) #2
; Function Attrs: nounwind
- declare void @llvm.eh.sjlj.functioncontext(i8*) #0
+ declare void @llvm.eh.sjlj.functioncontext(ptr) #0
; Function Attrs: nounwind
- declare void @llvm.stackprotector(i8*, i8**) #0
+ declare void @llvm.stackprotector(ptr, ptr) #0
attributes #0 = { nounwind "target-features"="+v8m" }
attributes #1 = { nounwind readnone speculatable }
diff --git a/llvm/test/DebugInfo/ARM/machine-cp-updates-dbg-reg.mir b/llvm/test/DebugInfo/ARM/machine-cp-updates-dbg-reg.mir
index 8e25f8b92d3ef8..bbd816a330886a 100644
--- a/llvm/test/DebugInfo/ARM/machine-cp-updates-dbg-reg.mir
+++ b/llvm/test/DebugInfo/ARM/machine-cp-updates-dbg-reg.mir
@@ -23,13 +23,13 @@
@dup_mm_err = external dso_local local_unnamed_addr global i32, align 4, !dbg !0
- declare dso_local i32 @atomic_long_read(%struct.atomic_t.0.6.15.24.48.51.54.57*) local_unnamed_addr #0
+ declare dso_local i32 @atomic_long_read(ptr) local_unnamed_addr #0
- declare dso_local i32 @get_mm_counter(%struct.mm_struct.2.8.17.26.50.53.56.59*, i32) local_unnamed_addr #0
+ declare dso_local i32 @get_mm_counter(ptr, i32) local_unnamed_addr #0
define dso_local i32 @dup_mm() local_unnamed_addr !dbg !16 {
entry:
- %call = tail call i32 bitcast (i32 (...)* @kmem_cache_alloc to i32 (i32)*)(i32 0)
+ %call = tail call i32 @kmem_cache_alloc(i32 0)
br i1 undef, label %cleanup, label %if.end
if.end: ; preds = %entry
@@ -38,11 +38,11 @@
if.end3: ; preds = %if.end
call void @llvm.dbg.value(metadata !DIArgList(i32 %call, i32 0), metadata !30, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_LLVM_arg, 1, DW_OP_constu, 4, DW_OP_mul, DW_OP_plus, DW_OP_stack_value)), !dbg !40
- %0 = load volatile i32, i32* undef, align 4
+ %0 = load volatile i32, ptr undef, align 4
br label %cleanup
free_pt: ; preds = %if.end
- store i32 0, i32* undef, align 4
+ store i32 0, ptr undef, align 4
br label %cleanup
cleanup: ; preds = %free_pt, %if.end3, %entry
@@ -180,7 +180,7 @@ body: |
bb.2.if.end3:
liveins: $r0
- dead renamable $r1 = LDRi12 undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (volatile load (s32) from `i32* undef`)
+ dead renamable $r1 = LDRi12 undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (volatile load (s32) from `ptr undef`)
renamable $r4 = COPY killed renamable $r0
DBG_PHI $r4, 1
DBG_VALUE $r4, $noreg, !30, !DIExpression(), debug-location !40
@@ -192,7 +192,7 @@ body: |
successors: %bb.4(0x80000000)
liveins: $r4
- STRi12 renamable $r4, undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (store (s32) into `i32* undef`)
+ STRi12 renamable $r4, undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (store (s32) into `ptr undef`)
bb.4.cleanup:
liveins: $r4
diff --git a/llvm/test/DebugInfo/COFF/function-options.ll b/llvm/test/DebugInfo/COFF/function-options.ll
index 79658509398f46..ff95a6c69e89f3 100644
--- a/llvm/test/DebugInfo/COFF/function-options.ll
+++ b/llvm/test/DebugInfo/COFF/function-options.ll
@@ -487,15 +487,15 @@ target triple = "x86_64-pc-windows-msvc19.23.28106"
%union.BUnion = type { i8 }
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local i8 @"?Func_AClass@@YA?AVAClass@@AEAV1@@Z"(%class.AClass* dereferenceable(1) %arg) #0 !dbg !8 {
+define dso_local i8 @"?Func_AClass@@YA?AVAClass@@AEAV1@@Z"(ptr dereferenceable(1) %arg) #0 !dbg !8 {
entry:
%retval = alloca %class.AClass, align 1
- %arg.addr = alloca %class.AClass*, align 8
- store %class.AClass* %arg, %class.AClass** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %class.AClass** %arg.addr, metadata !13, metadata !DIExpression()), !dbg !14
- %0 = load %class.AClass*, %class.AClass** %arg.addr, align 8, !dbg !14
- %coerce.dive = getelementptr inbounds %class.AClass, %class.AClass* %retval, i32 0, i32 0, !dbg !14
- %1 = load i8, i8* %coerce.dive, align 1, !dbg !14
+ %arg.addr = alloca ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !13, metadata !DIExpression()), !dbg !14
+ %0 = load ptr, ptr %arg.addr, align 8, !dbg !14
+ %coerce.dive = getelementptr inbounds %class.AClass, ptr %retval, i32 0, i32 0, !dbg !14
+ %1 = load i8, ptr %coerce.dive, align 1, !dbg !14
ret i8 %1, !dbg !14
}
@@ -503,119 +503,119 @@ entry:
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local void @"?Func_BClass@@YA?AVBClass@@AEAV1@@Z"(%class.BClass* noalias sret(%class.BClass) %agg.result, %class.BClass* dereferenceable(1) %arg) #0 !dbg !15 {
+define dso_local void @"?Func_BClass@@YA?AVBClass@@AEAV1@@Z"(ptr noalias sret(%class.BClass) %agg.result, ptr dereferenceable(1) %arg) #0 !dbg !15 {
entry:
- %result.ptr = alloca i8*, align 8
- %arg.addr = alloca %class.BClass*, align 8
- %0 = bitcast %class.BClass* %agg.result to i8*
- store i8* %0, i8** %result.ptr, align 8
- store %class.BClass* %arg, %class.BClass** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %class.BClass** %arg.addr, metadata !25, metadata !DIExpression()), !dbg !26
- %1 = load %class.BClass*, %class.BClass** %arg.addr, align 8, !dbg !26
+ %result.ptr = alloca ptr, align 8
+ %arg.addr = alloca ptr, align 8
+ %0 = bitcast ptr %agg.result to ptr
+ store ptr %0, ptr %result.ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !25, metadata !DIExpression()), !dbg !26
+ %1 = load ptr, ptr %arg.addr, align 8, !dbg !26
ret void, !dbg !26
}
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local void @"?Func_C1Class@@YA?AVC1Class@@AEAV1@@Z"(%class.C1Class* noalias sret(%class.C1Class) %agg.result, %class.C1Class* dereferenceable(1) %arg) #0 !dbg !27 {
+define dso_local void @"?Func_C1Class@@YA?AVC1Class@@AEAV1@@Z"(ptr noalias sret(%class.C1Class) %agg.result, ptr dereferenceable(1) %arg) #0 !dbg !27 {
entry:
- %result.ptr = alloca i8*, align 8
- %arg.addr = alloca %class.C1Class*, align 8
- %0 = bitcast %class.C1Class* %agg.result to i8*
- store i8* %0, i8** %result.ptr, align 8
- store %class.C1Class* %arg, %class.C1Class** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %class.C1Class** %arg.addr, metadata !37, metadata !DIExpression()), !dbg !38
- %1 = load %class.C1Class*, %class.C1Class** %arg.addr, align 8, !dbg !38
+ %result.ptr = alloca ptr, align 8
+ %arg.addr = alloca ptr, align 8
+ %0 = bitcast ptr %agg.result to ptr
+ store ptr %0, ptr %result.ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !37, metadata !DIExpression()), !dbg !38
+ %1 = load ptr, ptr %arg.addr, align 8, !dbg !38
ret void, !dbg !38
}
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local void @"?Func_C2Class@@YA?AVC2Class@@AEAV1@@Z"(%class.C2Class* noalias sret(%class.C2Class) %agg.result, %class.C2Class* dereferenceable(1) %arg) #0 !dbg !39 {
+define dso_local void @"?Func_C2Class@@YA?AVC2Class@@AEAV1@@Z"(ptr noalias sret(%class.C2Class) %agg.result, ptr dereferenceable(1) %arg) #0 !dbg !39 {
entry:
- %result.ptr = alloca i8*, align 8
- %arg.addr = alloca %class.C2Class*, align 8
- %0 = bitcast %class.C2Class* %agg.result to i8*
- store i8* %0, i8** %result.ptr, align 8
- store %class.C2Class* %arg, %class.C2Class** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %class.C2Class** %arg.addr, metadata !49, metadata !DIExpression()), !dbg !50
- %1 = load %class.C2Class*, %class.C2Class** %arg.addr, align 8, !dbg !50
+ %result.ptr = alloca ptr, align 8
+ %arg.addr = alloca ptr, align 8
+ %0 = bitcast ptr %agg.result to ptr
+ store ptr %0, ptr %result.ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !49, metadata !DIExpression()), !dbg !50
+ %1 = load ptr, ptr %arg.addr, align 8, !dbg !50
ret void, !dbg !50
}
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local void @"?Func_DClass@@YA?AVDClass@@AEAV1@@Z"(%class.DClass* noalias sret(%class.DClass) %agg.result, %class.DClass* dereferenceable(1) %arg) #0 !dbg !51 {
+define dso_local void @"?Func_DClass@@YA?AVDClass@@AEAV1@@Z"(ptr noalias sret(%class.DClass) %agg.result, ptr dereferenceable(1) %arg) #0 !dbg !51 {
entry:
- %result.ptr = alloca i8*, align 8
- %arg.addr = alloca %class.DClass*, align 8
- %0 = bitcast %class.DClass* %agg.result to i8*
- store i8* %0, i8** %result.ptr, align 8
- store %class.DClass* %arg, %class.DClass** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %class.DClass** %arg.addr, metadata !58, metadata !DIExpression()), !dbg !59
- %1 = load %class.DClass*, %class.DClass** %arg.addr, align 8, !dbg !59
+ %result.ptr = alloca ptr, align 8
+ %arg.addr = alloca ptr, align 8
+ %0 = bitcast ptr %agg.result to ptr
+ store ptr %0, ptr %result.ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !58, metadata !DIExpression()), !dbg !59
+ %1 = load ptr, ptr %arg.addr, align 8, !dbg !59
ret void, !dbg !59
}
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local i8 @"?Func_FClass@@YA?AVFClass@@AEAV1@@Z"(%class.FClass* dereferenceable(1) %arg) #0 !dbg !60 {
+define dso_local i8 @"?Func_FClass@@YA?AVFClass@@AEAV1@@Z"(ptr dereferenceable(1) %arg) #0 !dbg !60 {
entry:
%retval = alloca %class.FClass, align 1
- %arg.addr = alloca %class.FClass*, align 8
- store %class.FClass* %arg, %class.FClass** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %class.FClass** %arg.addr, metadata !75, metadata !DIExpression()), !dbg !76
- %0 = load %class.FClass*, %class.FClass** %arg.addr, align 8, !dbg !76
- %coerce.dive = getelementptr inbounds %class.FClass, %class.FClass* %retval, i32 0, i32 0, !dbg !76
- %1 = load i8, i8* %coerce.dive, align 1, !dbg !76
+ %arg.addr = alloca ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !75, metadata !DIExpression()), !dbg !76
+ %0 = load ptr, ptr %arg.addr, align 8, !dbg !76
+ %coerce.dive = getelementptr inbounds %class.FClass, ptr %retval, i32 0, i32 0, !dbg !76
+ %1 = load i8, ptr %coerce.dive, align 1, !dbg !76
ret i8 %1, !dbg !76
}
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local i8 @"?Func_AStruct@@YA?AUAStruct@@AEAU1@@Z"(%struct.AStruct* dereferenceable(1) %arg) #0 !dbg !77 {
+define dso_local i8 @"?Func_AStruct@@YA?AUAStruct@@AEAU1@@Z"(ptr dereferenceable(1) %arg) #0 !dbg !77 {
entry:
%retval = alloca %struct.AStruct, align 1
- %arg.addr = alloca %struct.AStruct*, align 8
- store %struct.AStruct* %arg, %struct.AStruct** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.AStruct** %arg.addr, metadata !82, metadata !DIExpression()), !dbg !83
- %0 = load %struct.AStruct*, %struct.AStruct** %arg.addr, align 8, !dbg !83
- %coerce.dive = getelementptr inbounds %struct.AStruct, %struct.AStruct* %retval, i32 0, i32 0, !dbg !83
- %1 = load i8, i8* %coerce.dive, align 1, !dbg !83
+ %arg.addr = alloca ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !82, metadata !DIExpression()), !dbg !83
+ %0 = load ptr, ptr %arg.addr, align 8, !dbg !83
+ %coerce.dive = getelementptr inbounds %struct.AStruct, ptr %retval, i32 0, i32 0, !dbg !83
+ %1 = load i8, ptr %coerce.dive, align 1, !dbg !83
ret i8 %1, !dbg !83
}
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local void @"?Func_BStruct@@YA?AUBStruct@@AEAU1@@Z"(%struct.BStruct* noalias sret(%struct.BStruct) %agg.result, %struct.BStruct* dereferenceable(1) %arg) #0 !dbg !84 {
+define dso_local void @"?Func_BStruct@@YA?AUBStruct@@AEAU1@@Z"(ptr noalias sret(%struct.BStruct) %agg.result, ptr dereferenceable(1) %arg) #0 !dbg !84 {
entry:
- %result.ptr = alloca i8*, align 8
- %arg.addr = alloca %struct.BStruct*, align 8
- %0 = bitcast %struct.BStruct* %agg.result to i8*
- store i8* %0, i8** %result.ptr, align 8
- store %struct.BStruct* %arg, %struct.BStruct** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.BStruct** %arg.addr, metadata !94, metadata !DIExpression()), !dbg !95
- %1 = load %struct.BStruct*, %struct.BStruct** %arg.addr, align 8, !dbg !95
+ %result.ptr = alloca ptr, align 8
+ %arg.addr = alloca ptr, align 8
+ %0 = bitcast ptr %agg.result to ptr
+ store ptr %0, ptr %result.ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !94, metadata !DIExpression()), !dbg !95
+ %1 = load ptr, ptr %arg.addr, align 8, !dbg !95
ret void, !dbg !95
}
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local i8 @"?Func_AUnion@@YA?ATAUnion@@AEAT1@@Z"(%union.AUnion* dereferenceable(1) %arg) #0 !dbg !96 {
+define dso_local i8 @"?Func_AUnion@@YA?ATAUnion@@AEAT1@@Z"(ptr dereferenceable(1) %arg) #0 !dbg !96 {
entry:
%retval = alloca %union.AUnion, align 1
- %arg.addr = alloca %union.AUnion*, align 8
- store %union.AUnion* %arg, %union.AUnion** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %union.AUnion** %arg.addr, metadata !101, metadata !DIExpression()), !dbg !102
- %0 = load %union.AUnion*, %union.AUnion** %arg.addr, align 8, !dbg !102
- %coerce.dive = getelementptr inbounds %union.AUnion, %union.AUnion* %retval, i32 0, i32 0, !dbg !102
- %1 = load i8, i8* %coerce.dive, align 1, !dbg !102
+ %arg.addr = alloca ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !101, metadata !DIExpression()), !dbg !102
+ %0 = load ptr, ptr %arg.addr, align 8, !dbg !102
+ %coerce.dive = getelementptr inbounds %union.AUnion, ptr %retval, i32 0, i32 0, !dbg !102
+ %1 = load i8, ptr %coerce.dive, align 1, !dbg !102
ret i8 %1, !dbg !102
}
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local void @"?Func_BUnion@@YA?ATBUnion@@AEAT1@@Z"(%union.BUnion* noalias sret(%union.BUnion) %agg.result, %union.BUnion* dereferenceable(1) %arg) #0 !dbg !103 {
+define dso_local void @"?Func_BUnion@@YA?ATBUnion@@AEAT1@@Z"(ptr noalias sret(%union.BUnion) %agg.result, ptr dereferenceable(1) %arg) #0 !dbg !103 {
entry:
- %result.ptr = alloca i8*, align 8
- %arg.addr = alloca %union.BUnion*, align 8
- %0 = bitcast %union.BUnion* %agg.result to i8*
- store i8* %0, i8** %result.ptr, align 8
- store %union.BUnion* %arg, %union.BUnion** %arg.addr, align 8
- call void @llvm.dbg.declare(metadata %union.BUnion** %arg.addr, metadata !113, metadata !DIExpression()), !dbg !114
- %1 = load %union.BUnion*, %union.BUnion** %arg.addr, align 8, !dbg !114
+ %result.ptr = alloca ptr, align 8
+ %arg.addr = alloca ptr, align 8
+ %0 = bitcast ptr %agg.result to ptr
+ store ptr %0, ptr %result.ptr, align 8
+ store ptr %arg, ptr %arg.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg.addr, metadata !113, metadata !DIExpression()), !dbg !114
+ %1 = load ptr, ptr %arg.addr, align 8, !dbg !114
ret void, !dbg !114
}
@@ -623,7 +623,7 @@ entry:
define dso_local i32 @main() #2 !dbg !115 {
entry:
%retval = alloca i32, align 4
- store i32 0, i32* %retval, align 4
+ store i32 0, ptr %retval, align 4
ret i32 0, !dbg !118
}
diff --git a/llvm/test/DebugInfo/COFF/global_rust.ll b/llvm/test/DebugInfo/COFF/global_rust.ll
index 1bbfe0f496235a..526e7cf16f254d 100644
--- a/llvm/test/DebugInfo/COFF/global_rust.ll
+++ b/llvm/test/DebugInfo/COFF/global_rust.ll
@@ -41,38 +41,38 @@ target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
target triple = "x86_64-pc-windows-msvc"
@alloc7 = private unnamed_addr constant <{ [4 x i8] }> <{ [4 x i8] c"*\00\00\00" }>, align 4
- at vtable.0 = private unnamed_addr constant <{ i8*, [16 x i8], i8* }> <{ i8* bitcast (void (i32*)* @"_ZN4core3ptr24drop_in_place$LT$u32$GT$17h5aa897c8344c34eaE" to i8*), [16 x i8] c"\04\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00", i8* bitcast (void (i32*)* @_ZN11global_rust3Foo3foo17h17696ada84e467feE to i8*) }>, align 8, !dbg !0
+ at vtable.0 = private unnamed_addr constant <{ ptr, [16 x i8], ptr }> <{ ptr @"_ZN4core3ptr24drop_in_place$LT$u32$GT$17h5aa897c8344c34eaE", [16 x i8] c"\04\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00", ptr @_ZN11global_rust3Foo3foo17h17696ada84e467feE }>, align 8, !dbg !0
; core::ptr::drop_in_place<u32>
; Function Attrs: inlinehint uwtable
-define internal void @"_ZN4core3ptr24drop_in_place$LT$u32$GT$17h5aa897c8344c34eaE"(i32* %_1) unnamed_addr #0 !dbg !22 {
+define internal void @"_ZN4core3ptr24drop_in_place$LT$u32$GT$17h5aa897c8344c34eaE"(ptr %_1) unnamed_addr #0 !dbg !22 {
start:
- %_1.dbg.spill = alloca i32*, align 8
- store i32* %_1, i32** %_1.dbg.spill, align 8
- call void @llvm.dbg.declare(metadata i32** %_1.dbg.spill, metadata !30, metadata !DIExpression()), !dbg !33
+ %_1.dbg.spill = alloca ptr, align 8
+ store ptr %_1, ptr %_1.dbg.spill, align 8
+ call void @llvm.dbg.declare(metadata ptr %_1.dbg.spill, metadata !30, metadata !DIExpression()), !dbg !33
ret void, !dbg !33
}
; global_rust::Foo::foo
; Function Attrs: uwtable
-define void @_ZN11global_rust3Foo3foo17h17696ada84e467feE(i32* align 4 %self) unnamed_addr #1 !dbg !34 {
+define void @_ZN11global_rust3Foo3foo17h17696ada84e467feE(ptr align 4 %self) unnamed_addr #1 !dbg !34 {
start:
- %self.dbg.spill = alloca i32*, align 8
- store i32* %self, i32** %self.dbg.spill, align 8
- call void @llvm.dbg.declare(metadata i32** %self.dbg.spill, metadata !42, metadata !DIExpression()), !dbg !45
+ %self.dbg.spill = alloca ptr, align 8
+ store ptr %self, ptr %self.dbg.spill, align 8
+ call void @llvm.dbg.declare(metadata ptr %self.dbg.spill, metadata !42, metadata !DIExpression()), !dbg !45
ret void, !dbg !45
}
; global_rust::foo
; Function Attrs: uwtable
-define void @_ZN11global_rust3foo17hbb4da99a7bb855e3E({}* align 1 %_1.0, [3 x i64]* align 8 %_1.1) unnamed_addr #1 !dbg !46 {
+define void @_ZN11global_rust3foo17hbb4da99a7bb855e3E(ptr align 1 %_1.0, ptr align 8 %_1.1) unnamed_addr #1 !dbg !46 {
start:
- %_1.dbg.spill = alloca { {}*, [3 x i64]* }, align 8
- %0 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %_1.dbg.spill, i32 0, i32 0
- store {}* %_1.0, {}** %0, align 8
- %1 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %_1.dbg.spill, i32 0, i32 1
- store [3 x i64]* %_1.1, [3 x i64]** %1, align 8
- call void @llvm.dbg.declare(metadata { {}*, [3 x i64]* }* %_1.dbg.spill, metadata !60, metadata !DIExpression()), !dbg !61
+ %_1.dbg.spill = alloca { ptr, ptr }, align 8
+ %0 = getelementptr inbounds { ptr, ptr }, ptr %_1.dbg.spill, i32 0, i32 0
+ store ptr %_1.0, ptr %0, align 8
+ %1 = getelementptr inbounds { ptr, ptr }, ptr %_1.dbg.spill, i32 0, i32 1
+ store ptr %_1.1, ptr %1, align 8
+ call void @llvm.dbg.declare(metadata ptr %_1.dbg.spill, metadata !60, metadata !DIExpression()), !dbg !61
ret void, !dbg !61
}
@@ -81,7 +81,7 @@ start:
define void @_ZN11global_rust3bar17h9ea8de32fc3f1360E() unnamed_addr #1 !dbg !62 {
start:
; call global_rust::foo
- call void @_ZN11global_rust3foo17hbb4da99a7bb855e3E({}* align 1 bitcast (<{ [4 x i8] }>* @alloc7 to {}*), [3 x i64]* align 8 bitcast (<{ i8*, [16 x i8], i8* }>* @vtable.0 to [3 x i64]*)), !dbg !65
+ call void @_ZN11global_rust3foo17hbb4da99a7bb855e3E(ptr align 1 @alloc7, ptr align 8 @vtable.0), !dbg !65
br label %bb1, !dbg !65
bb1: ; preds = %start
diff --git a/llvm/test/DebugInfo/COFF/nrvo.ll b/llvm/test/DebugInfo/COFF/nrvo.ll
index 52b93ddf6bc378..186ac0be7b4ad3 100644
--- a/llvm/test/DebugInfo/COFF/nrvo.ll
+++ b/llvm/test/DebugInfo/COFF/nrvo.ll
@@ -62,8 +62,8 @@ target triple = "x86_64-pc-windows-msvc19.16.27030"
define dso_local void @"?some_function@@YAXH at Z"(i32) #0 !dbg !8 {
entry:
%.addr = alloca i32, align 4
- store i32 %0, i32* %.addr, align 4
- call void @llvm.dbg.declare(metadata i32* %.addr, metadata !12, metadata !DIExpression()), !dbg !13
+ store i32 %0, ptr %.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %.addr, metadata !12, metadata !DIExpression()), !dbg !13
ret void, !dbg !13
}
@@ -71,16 +71,16 @@ entry:
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: noinline nounwind optnone uwtable
-define dso_local void @"?GetFoo@@YA?AUFoo@@XZ"(%struct.Foo* noalias sret(%struct.Foo) %agg.result) #0 !dbg !14 {
+define dso_local void @"?GetFoo@@YA?AUFoo@@XZ"(ptr noalias sret(%struct.Foo) %agg.result) #0 !dbg !14 {
entry:
- %result.ptr = alloca i8*, align 8
- %0 = bitcast %struct.Foo* %agg.result to i8*
- store i8* %0, i8** %result.ptr, align 8
- call void @llvm.dbg.declare(metadata i8** %result.ptr, metadata !28, metadata !DIExpression(DW_OP_deref)), !dbg !29
- %x = getelementptr inbounds %struct.Foo, %struct.Foo* %agg.result, i32 0, i32 0, !dbg !30
- store i32 41, i32* %x, align 4, !dbg !30
- %x1 = getelementptr inbounds %struct.Foo, %struct.Foo* %agg.result, i32 0, i32 0, !dbg !31
- %1 = load i32, i32* %x1, align 4, !dbg !31
+ %result.ptr = alloca ptr, align 8
+ %0 = bitcast ptr %agg.result to ptr
+ store ptr %0, ptr %result.ptr, align 8
+ call void @llvm.dbg.declare(metadata ptr %result.ptr, metadata !28, metadata !DIExpression(DW_OP_deref)), !dbg !29
+ %x = getelementptr inbounds %struct.Foo, ptr %agg.result, i32 0, i32 0, !dbg !30
+ store i32 41, ptr %x, align 4, !dbg !30
+ %x1 = getelementptr inbounds %struct.Foo, ptr %agg.result, i32 0, i32 0, !dbg !31
+ %1 = load i32, ptr %x1, align 4, !dbg !31
call void @"?some_function@@YAXH at Z"(i32 %1), !dbg !31
ret void, !dbg !32
}
@@ -90,11 +90,11 @@ define dso_local i32 @main() #2 !dbg !33 {
entry:
%retval = alloca i32, align 4
%bar = alloca %struct.Foo, align 4
- store i32 0, i32* %retval, align 4
- call void @llvm.dbg.declare(metadata %struct.Foo* %bar, metadata !36, metadata !DIExpression()), !dbg !37
- call void @"?GetFoo@@YA?AUFoo@@XZ"(%struct.Foo* sret(%struct.Foo) %bar), !dbg !37
- %x = getelementptr inbounds %struct.Foo, %struct.Foo* %bar, i32 0, i32 0, !dbg !38
- %0 = load i32, i32* %x, align 4, !dbg !38
+ store i32 0, ptr %retval, align 4
+ call void @llvm.dbg.declare(metadata ptr %bar, metadata !36, metadata !DIExpression()), !dbg !37
+ call void @"?GetFoo@@YA?AUFoo@@XZ"(ptr sret(%struct.Foo) %bar), !dbg !37
+ %x = getelementptr inbounds %struct.Foo, ptr %bar, i32 0, i32 0, !dbg !38
+ %0 = load i32, ptr %x, align 4, !dbg !38
ret i32 %0, !dbg !38
}
diff --git a/llvm/test/DebugInfo/COFF/thunk.ll b/llvm/test/DebugInfo/COFF/thunk.ll
index d6c15f5953587f..e0ee2b5c148184 100644
--- a/llvm/test/DebugInfo/COFF/thunk.ll
+++ b/llvm/test/DebugInfo/COFF/thunk.ll
@@ -107,13 +107,13 @@ source_filename = "thunk.cpp"
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
target triple = "i686-pc-windows-msvc19.0.24210"
-%rtti.CompleteObjectLocator = type { i32, i32, i32, i8*, %rtti.ClassHierarchyDescriptor* }
-%rtti.ClassHierarchyDescriptor = type { i32, i32, i32, %rtti.BaseClassDescriptor** }
-%rtti.BaseClassDescriptor = type { i8*, i32, i32, i32, i32, i32, %rtti.ClassHierarchyDescriptor* }
-%rtti.TypeDescriptor7 = type { i8**, i8*, [8 x i8] }
-%class.A = type { i32 (...)** }
-%class.B = type { i32 (...)** }
-%class.C = type { i32*, %class.A, %class.B }
+%rtti.CompleteObjectLocator = type { i32, i32, i32, ptr, ptr }
+%rtti.ClassHierarchyDescriptor = type { i32, i32, i32, ptr }
+%rtti.BaseClassDescriptor = type { ptr, i32, i32, i32, i32, i32, ptr }
+%rtti.TypeDescriptor7 = type { ptr, ptr, [8 x i8] }
+%class.A = type { ptr }
+%class.B = type { ptr }
+%class.C = type { ptr, %class.A, %class.B }
$"\01??0C@@QAE at XZ" = comdat any
@@ -178,137 +178,137 @@ $"\01??_7B@@6B@" = comdat largest
$"\01??_R4B@@6B@" = comdat any
@"\01??_8C@@7B@" = linkonce_odr unnamed_addr constant [3 x i32] [i32 0, i32 4, i32 8], comdat
- at 0 = private unnamed_addr constant { [2 x i8*] } { [2 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4C@@6BA@@@" to i8*), i8* bitcast (i1 (i8*)* @"\01?MyMethod at C@@UAE_NXZ" to i8*)] }, comdat($"\01??_7C@@6BA@@@")
- at 1 = private unnamed_addr constant { [2 x i8*] } { [2 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4C@@6BB@@@" to i8*), i8* bitcast (i1 (i8*)* @"\01?MyMethod at C@@W3AE_NXZ" to i8*)] }, comdat($"\01??_7C@@6BB@@@")
-@"\01??_R4C@@6BA@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 4, i32 0, i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVC@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3C@@8" }, comdat
-@"\01??_7type_info@@6B@" = external constant i8*
-@"\01??_R0?AVC@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { i8** @"\01??_7type_info@@6B@", i8* null, [8 x i8] c".?AVC@@\00" }, comdat
-@"\01??_R3C@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 3, i32 3, %rtti.BaseClassDescriptor** getelementptr inbounds ([4 x %rtti.BaseClassDescriptor*], [4 x %rtti.BaseClassDescriptor*]* @"\01??_R2C@@8", i32 0, i32 0) }, comdat
-@"\01??_R2C@@8" = linkonce_odr constant [4 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@C@@8", %rtti.BaseClassDescriptor* @"\01??_R1A at A@3FA at A@@8", %rtti.BaseClassDescriptor* @"\01??_R1A at A@7FA at B@@8", %rtti.BaseClassDescriptor* null], comdat
-@"\01??_R1A@?0A at EA@C@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVC@@@8" to i8*), i32 2, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3C@@8" }, comdat
-@"\01??_R1A at A@3FA at A@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVA@@@8" to i8*), i32 0, i32 0, i32 0, i32 4, i32 80, %rtti.ClassHierarchyDescriptor* @"\01??_R3A@@8" }, comdat
-@"\01??_R0?AVA@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { i8** @"\01??_7type_info@@6B@", i8* null, [8 x i8] c".?AVA@@\00" }, comdat
-@"\01??_R3A@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, %rtti.BaseClassDescriptor** getelementptr inbounds ([2 x %rtti.BaseClassDescriptor*], [2 x %rtti.BaseClassDescriptor*]* @"\01??_R2A@@8", i32 0, i32 0) }, comdat
-@"\01??_R2A@@8" = linkonce_odr constant [2 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@A@@8", %rtti.BaseClassDescriptor* null], comdat
-@"\01??_R1A@?0A at EA@A@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVA@@@8" to i8*), i32 0, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3A@@8" }, comdat
-@"\01??_R1A at A@7FA at B@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVB@@@8" to i8*), i32 0, i32 0, i32 0, i32 8, i32 80, %rtti.ClassHierarchyDescriptor* @"\01??_R3B@@8" }, comdat
-@"\01??_R0?AVB@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { i8** @"\01??_7type_info@@6B@", i8* null, [8 x i8] c".?AVB@@\00" }, comdat
-@"\01??_R3B@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, %rtti.BaseClassDescriptor** getelementptr inbounds ([2 x %rtti.BaseClassDescriptor*], [2 x %rtti.BaseClassDescriptor*]* @"\01??_R2B@@8", i32 0, i32 0) }, comdat
-@"\01??_R2B@@8" = linkonce_odr constant [2 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@B@@8", %rtti.BaseClassDescriptor* null], comdat
-@"\01??_R1A@?0A at EA@B@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVB@@@8" to i8*), i32 0, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3B@@8" }, comdat
-@"\01??_R4C@@6BB@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 8, i32 0, i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVC@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3C@@8" }, comdat
- at 2 = private unnamed_addr constant { [2 x i8*] } { [2 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4A@@6B@" to i8*), i8* bitcast (i1 (%class.A*)* @"\01?MyMethod at A@@UAE_NXZ" to i8*)] }, comdat($"\01??_7A@@6B@")
-@"\01??_R4A@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVA@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3A@@8" }, comdat
- at 3 = private unnamed_addr constant { [2 x i8*] } { [2 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4B@@6B@" to i8*), i8* bitcast (i1 (%class.B*)* @"\01?MyMethod at B@@UAE_NXZ" to i8*)] }, comdat($"\01??_7B@@6B@")
-@"\01??_R4B@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor7* @"\01??_R0?AVB@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3B@@8" }, comdat
-
-@"\01??_7C@@6BA@@@" = unnamed_addr alias i8*, getelementptr inbounds ({ [2 x i8*] }, { [2 x i8*] }* @0, i32 0, i32 0, i32 1)
-@"\01??_7C@@6BB@@@" = unnamed_addr alias i8*, getelementptr inbounds ({ [2 x i8*] }, { [2 x i8*] }* @1, i32 0, i32 0, i32 1)
-@"\01??_7A@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [2 x i8*] }, { [2 x i8*] }* @2, i32 0, i32 0, i32 1)
-@"\01??_7B@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [2 x i8*] }, { [2 x i8*] }* @3, i32 0, i32 0, i32 1)
+ at 0 = private unnamed_addr constant { [2 x ptr] } { [2 x ptr] [ptr @"\01??_R4C@@6BA@@@", ptr @"\01?MyMethod at C@@UAE_NXZ"] }, comdat($"\01??_7C@@6BA@@@")
+ at 1 = private unnamed_addr constant { [2 x ptr] } { [2 x ptr] [ptr @"\01??_R4C@@6BB@@@", ptr @"\01?MyMethod at C@@W3AE_NXZ"] }, comdat($"\01??_7C@@6BB@@@")
+@"\01??_R4C@@6BA@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 4, i32 0, ptr @"\01??_R0?AVC@@@8", ptr @"\01??_R3C@@8" }, comdat
+@"\01??_7type_info@@6B@" = external constant ptr
+@"\01??_R0?AVC@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { ptr @"\01??_7type_info@@6B@", ptr null, [8 x i8] c".?AVC@@\00" }, comdat
+@"\01??_R3C@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 3, i32 3, ptr @"\01??_R2C@@8" }, comdat
+@"\01??_R2C@@8" = linkonce_odr constant [4 x ptr] [ptr @"\01??_R1A@?0A at EA@C@@8", ptr @"\01??_R1A at A@3FA at A@@8", ptr @"\01??_R1A at A@7FA at B@@8", ptr null], comdat
+@"\01??_R1A@?0A at EA@C@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { ptr @"\01??_R0?AVC@@@8", i32 2, i32 0, i32 -1, i32 0, i32 64, ptr @"\01??_R3C@@8" }, comdat
+@"\01??_R1A at A@3FA at A@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { ptr @"\01??_R0?AVA@@@8", i32 0, i32 0, i32 0, i32 4, i32 80, ptr @"\01??_R3A@@8" }, comdat
+@"\01??_R0?AVA@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { ptr @"\01??_7type_info@@6B@", ptr null, [8 x i8] c".?AVA@@\00" }, comdat
+@"\01??_R3A@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, ptr @"\01??_R2A@@8" }, comdat
+@"\01??_R2A@@8" = linkonce_odr constant [2 x ptr] [ptr @"\01??_R1A@?0A at EA@A@@8", ptr null], comdat
+@"\01??_R1A@?0A at EA@A@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { ptr @"\01??_R0?AVA@@@8", i32 0, i32 0, i32 -1, i32 0, i32 64, ptr @"\01??_R3A@@8" }, comdat
+@"\01??_R1A at A@7FA at B@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { ptr @"\01??_R0?AVB@@@8", i32 0, i32 0, i32 0, i32 8, i32 80, ptr @"\01??_R3B@@8" }, comdat
+@"\01??_R0?AVB@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { ptr @"\01??_7type_info@@6B@", ptr null, [8 x i8] c".?AVB@@\00" }, comdat
+@"\01??_R3B@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, ptr @"\01??_R2B@@8" }, comdat
+@"\01??_R2B@@8" = linkonce_odr constant [2 x ptr] [ptr @"\01??_R1A@?0A at EA@B@@8", ptr null], comdat
+@"\01??_R1A@?0A at EA@B@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { ptr @"\01??_R0?AVB@@@8", i32 0, i32 0, i32 -1, i32 0, i32 64, ptr @"\01??_R3B@@8" }, comdat
+@"\01??_R4C@@6BB@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 8, i32 0, ptr @"\01??_R0?AVC@@@8", ptr @"\01??_R3C@@8" }, comdat
+ at 2 = private unnamed_addr constant { [2 x ptr] } { [2 x ptr] [ptr @"\01??_R4A@@6B@", ptr @"\01?MyMethod at A@@UAE_NXZ"] }, comdat($"\01??_7A@@6B@")
+@"\01??_R4A@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, ptr @"\01??_R0?AVA@@@8", ptr @"\01??_R3A@@8" }, comdat
+ at 3 = private unnamed_addr constant { [2 x ptr] } { [2 x ptr] [ptr @"\01??_R4B@@6B@", ptr @"\01?MyMethod at B@@UAE_NXZ"] }, comdat($"\01??_7B@@6B@")
+@"\01??_R4B@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, ptr @"\01??_R0?AVB@@@8", ptr @"\01??_R3B@@8" }, comdat
+
+@"\01??_7C@@6BA@@@" = unnamed_addr alias ptr, getelementptr inbounds ({ [2 x ptr] }, ptr @0, i32 0, i32 0, i32 1)
+@"\01??_7C@@6BB@@@" = unnamed_addr alias ptr, getelementptr inbounds ({ [2 x ptr] }, ptr @1, i32 0, i32 0, i32 1)
+@"\01??_7A@@6B@" = unnamed_addr alias ptr, getelementptr inbounds ({ [2 x ptr] }, ptr @2, i32 0, i32 0, i32 1)
+@"\01??_7B@@6B@" = unnamed_addr alias ptr, getelementptr inbounds ({ [2 x ptr] }, ptr @3, i32 0, i32 0, i32 1)
; Function Attrs: noinline norecurse optnone
define i32 @main() #0 !dbg !8 {
entry:
%retval = alloca i32, align 4
- %a = alloca %class.A*, align 4
- %b = alloca %class.B*, align 4
- %c = alloca %class.C*, align 4
- %mp = alloca i8*, align 4
- store i32 0, i32* %retval, align 4
- call void @llvm.dbg.declare(metadata %class.A** %a, metadata !12, metadata !DIExpression()), !dbg !24
- %call = call i8* @"\01??2 at YAPAXI@Z"(i32 12) #7, !dbg !25
- %0 = bitcast i8* %call to %class.C*, !dbg !25
- %1 = bitcast %class.C* %0 to i8*, !dbg !26
- call void @llvm.memset.p0i8.i32(i8* align 8 %1, i8 0, i32 12, i1 false), !dbg !26
- %call1 = call x86_thiscallcc %class.C* @"\01??0C@@QAE at XZ"(%class.C* %0, i32 1) #8, !dbg !26
- %2 = icmp eq %class.C* %0, null, !dbg !25
+ %a = alloca ptr, align 4
+ %b = alloca ptr, align 4
+ %c = alloca ptr, align 4
+ %mp = alloca ptr, align 4
+ store i32 0, ptr %retval, align 4
+ call void @llvm.dbg.declare(metadata ptr %a, metadata !12, metadata !DIExpression()), !dbg !24
+ %call = call ptr @"\01??2 at YAPAXI@Z"(i32 12) #7, !dbg !25
+ %0 = bitcast ptr %call to ptr, !dbg !25
+ %1 = bitcast ptr %0 to ptr, !dbg !26
+ call void @llvm.memset.p0.i32(ptr align 8 %1, i8 0, i32 12, i1 false), !dbg !26
+ %call1 = call x86_thiscallcc ptr @"\01??0C@@QAE at XZ"(ptr %0, i32 1) #8, !dbg !26
+ %2 = icmp eq ptr %0, null, !dbg !25
br i1 %2, label %cast.end, label %cast.notnull, !dbg !25
cast.notnull: ; preds = %entry
- %3 = bitcast %class.C* %0 to i8*, !dbg !25
- %vbptr = getelementptr inbounds i8, i8* %3, i32 0, !dbg !25
- %4 = bitcast i8* %vbptr to i32**, !dbg !25
- %vbtable = load i32*, i32** %4, align 4, !dbg !25
- %5 = getelementptr inbounds i32, i32* %vbtable, i32 1, !dbg !25
- %vbase_offs = load i32, i32* %5, align 4, !dbg !25
+ %3 = bitcast ptr %0 to ptr, !dbg !25
+ %vbptr = getelementptr inbounds i8, ptr %3, i32 0, !dbg !25
+ %4 = bitcast ptr %vbptr to ptr, !dbg !25
+ %vbtable = load ptr, ptr %4, align 4, !dbg !25
+ %5 = getelementptr inbounds i32, ptr %vbtable, i32 1, !dbg !25
+ %vbase_offs = load i32, ptr %5, align 4, !dbg !25
%6 = add nsw i32 0, %vbase_offs, !dbg !25
- %7 = bitcast %class.C* %0 to i8*, !dbg !25
- %add.ptr = getelementptr inbounds i8, i8* %7, i32 %6, !dbg !25
- %8 = bitcast i8* %add.ptr to %class.A*, !dbg !25
+ %7 = bitcast ptr %0 to ptr, !dbg !25
+ %add.ptr = getelementptr inbounds i8, ptr %7, i32 %6, !dbg !25
+ %8 = bitcast ptr %add.ptr to ptr, !dbg !25
br label %cast.end, !dbg !25
cast.end: ; preds = %cast.notnull, %entry
- %cast.result = phi %class.A* [ %8, %cast.notnull ], [ null, %entry ], !dbg !25
- store %class.A* %cast.result, %class.A** %a, align 4, !dbg !24
- call void @llvm.dbg.declare(metadata %class.B** %b, metadata !27, metadata !DIExpression()), !dbg !36
- %call2 = call i8* @"\01??2 at YAPAXI@Z"(i32 12) #7, !dbg !37
- %9 = bitcast i8* %call2 to %class.C*, !dbg !37
- %10 = bitcast %class.C* %9 to i8*, !dbg !38
- call void @llvm.memset.p0i8.i32(i8* align 8 %10, i8 0, i32 12, i1 false), !dbg !38
- %call3 = call x86_thiscallcc %class.C* @"\01??0C@@QAE at XZ"(%class.C* %9, i32 1) #8, !dbg !38
- %11 = icmp eq %class.C* %9, null, !dbg !37
+ %cast.result = phi ptr [ %8, %cast.notnull ], [ null, %entry ], !dbg !25
+ store ptr %cast.result, ptr %a, align 4, !dbg !24
+ call void @llvm.dbg.declare(metadata ptr %b, metadata !27, metadata !DIExpression()), !dbg !36
+ %call2 = call ptr @"\01??2 at YAPAXI@Z"(i32 12) #7, !dbg !37
+ %9 = bitcast ptr %call2 to ptr, !dbg !37
+ %10 = bitcast ptr %9 to ptr, !dbg !38
+ call void @llvm.memset.p0.i32(ptr align 8 %10, i8 0, i32 12, i1 false), !dbg !38
+ %call3 = call x86_thiscallcc ptr @"\01??0C@@QAE at XZ"(ptr %9, i32 1) #8, !dbg !38
+ %11 = icmp eq ptr %9, null, !dbg !37
br i1 %11, label %cast.end9, label %cast.notnull4, !dbg !37
cast.notnull4: ; preds = %cast.end
- %12 = bitcast %class.C* %9 to i8*, !dbg !37
- %vbptr5 = getelementptr inbounds i8, i8* %12, i32 0, !dbg !37
- %13 = bitcast i8* %vbptr5 to i32**, !dbg !37
- %vbtable6 = load i32*, i32** %13, align 4, !dbg !37
- %14 = getelementptr inbounds i32, i32* %vbtable6, i32 2, !dbg !37
- %vbase_offs7 = load i32, i32* %14, align 4, !dbg !37
+ %12 = bitcast ptr %9 to ptr, !dbg !37
+ %vbptr5 = getelementptr inbounds i8, ptr %12, i32 0, !dbg !37
+ %13 = bitcast ptr %vbptr5 to ptr, !dbg !37
+ %vbtable6 = load ptr, ptr %13, align 4, !dbg !37
+ %14 = getelementptr inbounds i32, ptr %vbtable6, i32 2, !dbg !37
+ %vbase_offs7 = load i32, ptr %14, align 4, !dbg !37
%15 = add nsw i32 0, %vbase_offs7, !dbg !37
- %16 = bitcast %class.C* %9 to i8*, !dbg !37
- %add.ptr8 = getelementptr inbounds i8, i8* %16, i32 %15, !dbg !37
- %17 = bitcast i8* %add.ptr8 to %class.B*, !dbg !37
+ %16 = bitcast ptr %9 to ptr, !dbg !37
+ %add.ptr8 = getelementptr inbounds i8, ptr %16, i32 %15, !dbg !37
+ %17 = bitcast ptr %add.ptr8 to ptr, !dbg !37
br label %cast.end9, !dbg !37
cast.end9: ; preds = %cast.notnull4, %cast.end
- %cast.result10 = phi %class.B* [ %17, %cast.notnull4 ], [ null, %cast.end ], !dbg !37
- store %class.B* %cast.result10, %class.B** %b, align 4, !dbg !36
- call void @llvm.dbg.declare(metadata %class.C** %c, metadata !39, metadata !DIExpression()), !dbg !49
- %call11 = call i8* @"\01??2 at YAPAXI@Z"(i32 12) #7, !dbg !50
- %18 = bitcast i8* %call11 to %class.C*, !dbg !50
- %19 = bitcast %class.C* %18 to i8*, !dbg !51
- call void @llvm.memset.p0i8.i32(i8* align 8 %19, i8 0, i32 12, i1 false), !dbg !51
- %call12 = call x86_thiscallcc %class.C* @"\01??0C@@QAE at XZ"(%class.C* %18, i32 1) #8, !dbg !51
- store %class.C* %18, %class.C** %c, align 4, !dbg !49
- %20 = load %class.A*, %class.A** %a, align 4, !dbg !52
- %21 = bitcast %class.A* %20 to i1 (%class.A*)***, !dbg !53
- %vtable = load i1 (%class.A*)**, i1 (%class.A*)*** %21, align 4, !dbg !53
- %vfn = getelementptr inbounds i1 (%class.A*)*, i1 (%class.A*)** %vtable, i64 0, !dbg !53
- %22 = load i1 (%class.A*)*, i1 (%class.A*)** %vfn, align 4, !dbg !53
- %call13 = call x86_thiscallcc zeroext i1 %22(%class.A* %20), !dbg !53
- %23 = load %class.B*, %class.B** %b, align 4, !dbg !54
- %24 = bitcast %class.B* %23 to i1 (%class.B*)***, !dbg !55
- %vtable14 = load i1 (%class.B*)**, i1 (%class.B*)*** %24, align 4, !dbg !55
- %vfn15 = getelementptr inbounds i1 (%class.B*)*, i1 (%class.B*)** %vtable14, i64 0, !dbg !55
- %25 = load i1 (%class.B*)*, i1 (%class.B*)** %vfn15, align 4, !dbg !55
- %call16 = call x86_thiscallcc zeroext i1 %25(%class.B* %23), !dbg !55
- %26 = load %class.C*, %class.C** %c, align 4, !dbg !56
- %27 = bitcast %class.C* %26 to i8*, !dbg !57
- %vbptr17 = getelementptr inbounds i8, i8* %27, i32 0, !dbg !57
- %28 = bitcast i8* %vbptr17 to i32**, !dbg !57
- %vbtable18 = load i32*, i32** %28, align 4, !dbg !57
- %29 = getelementptr inbounds i32, i32* %vbtable18, i32 1, !dbg !57
- %vbase_offs19 = load i32, i32* %29, align 4, !dbg !57
+ %cast.result10 = phi ptr [ %17, %cast.notnull4 ], [ null, %cast.end ], !dbg !37
+ store ptr %cast.result10, ptr %b, align 4, !dbg !36
+ call void @llvm.dbg.declare(metadata ptr %c, metadata !39, metadata !DIExpression()), !dbg !49
+ %call11 = call ptr @"\01??2 at YAPAXI@Z"(i32 12) #7, !dbg !50
+ %18 = bitcast ptr %call11 to ptr, !dbg !50
+ %19 = bitcast ptr %18 to ptr, !dbg !51
+ call void @llvm.memset.p0.i32(ptr align 8 %19, i8 0, i32 12, i1 false), !dbg !51
+ %call12 = call x86_thiscallcc ptr @"\01??0C@@QAE at XZ"(ptr %18, i32 1) #8, !dbg !51
+ store ptr %18, ptr %c, align 4, !dbg !49
+ %20 = load ptr, ptr %a, align 4, !dbg !52
+ %21 = bitcast ptr %20 to ptr, !dbg !53
+ %vtable = load ptr, ptr %21, align 4, !dbg !53
+ %vfn = getelementptr inbounds ptr, ptr %vtable, i64 0, !dbg !53
+ %22 = load ptr, ptr %vfn, align 4, !dbg !53
+ %call13 = call x86_thiscallcc zeroext i1 %22(ptr %20), !dbg !53
+ %23 = load ptr, ptr %b, align 4, !dbg !54
+ %24 = bitcast ptr %23 to ptr, !dbg !55
+ %vtable14 = load ptr, ptr %24, align 4, !dbg !55
+ %vfn15 = getelementptr inbounds ptr, ptr %vtable14, i64 0, !dbg !55
+ %25 = load ptr, ptr %vfn15, align 4, !dbg !55
+ %call16 = call x86_thiscallcc zeroext i1 %25(ptr %23), !dbg !55
+ %26 = load ptr, ptr %c, align 4, !dbg !56
+ %27 = bitcast ptr %26 to ptr, !dbg !57
+ %vbptr17 = getelementptr inbounds i8, ptr %27, i32 0, !dbg !57
+ %28 = bitcast ptr %vbptr17 to ptr, !dbg !57
+ %vbtable18 = load ptr, ptr %28, align 4, !dbg !57
+ %29 = getelementptr inbounds i32, ptr %vbtable18, i32 1, !dbg !57
+ %vbase_offs19 = load i32, ptr %29, align 4, !dbg !57
%30 = add nsw i32 0, %vbase_offs19, !dbg !57
- %31 = getelementptr inbounds i8, i8* %27, i32 %30, !dbg !57
- %32 = bitcast %class.C* %26 to i8*, !dbg !57
- %vbptr20 = getelementptr inbounds i8, i8* %32, i32 0, !dbg !57
- %33 = bitcast i8* %vbptr20 to i32**, !dbg !57
- %vbtable21 = load i32*, i32** %33, align 4, !dbg !57
- %34 = getelementptr inbounds i32, i32* %vbtable21, i32 1, !dbg !57
- %vbase_offs22 = load i32, i32* %34, align 4, !dbg !57
+ %31 = getelementptr inbounds i8, ptr %27, i32 %30, !dbg !57
+ %32 = bitcast ptr %26 to ptr, !dbg !57
+ %vbptr20 = getelementptr inbounds i8, ptr %32, i32 0, !dbg !57
+ %33 = bitcast ptr %vbptr20 to ptr, !dbg !57
+ %vbtable21 = load ptr, ptr %33, align 4, !dbg !57
+ %34 = getelementptr inbounds i32, ptr %vbtable21, i32 1, !dbg !57
+ %vbase_offs22 = load i32, ptr %34, align 4, !dbg !57
%35 = add nsw i32 0, %vbase_offs22, !dbg !57
- %36 = getelementptr inbounds i8, i8* %32, i32 %35, !dbg !57
- %37 = bitcast i8* %36 to i1 (i8*)***, !dbg !57
- %vtable23 = load i1 (i8*)**, i1 (i8*)*** %37, align 4, !dbg !57
- %vfn24 = getelementptr inbounds i1 (i8*)*, i1 (i8*)** %vtable23, i64 0, !dbg !57
- %38 = load i1 (i8*)*, i1 (i8*)** %vfn24, align 4, !dbg !57
- %call25 = call x86_thiscallcc zeroext i1 %38(i8* %31), !dbg !57
- call void @llvm.dbg.declare(metadata i8** %mp, metadata !58, metadata !DIExpression()), !dbg !60
- store i8* bitcast (void (%class.A*, ...)* @"\01??_9A@@$BA at AE" to i8*), i8** %mp, align 4, !dbg !60
+ %36 = getelementptr inbounds i8, ptr %32, i32 %35, !dbg !57
+ %37 = bitcast ptr %36 to ptr, !dbg !57
+ %vtable23 = load ptr, ptr %37, align 4, !dbg !57
+ %vfn24 = getelementptr inbounds ptr, ptr %vtable23, i64 0, !dbg !57
+ %38 = load ptr, ptr %vfn24, align 4, !dbg !57
+ %call25 = call x86_thiscallcc zeroext i1 %38(ptr %31), !dbg !57
+ call void @llvm.dbg.declare(metadata ptr %mp, metadata !58, metadata !DIExpression()), !dbg !60
+ store ptr @"\01??_9A@@$BA at AE", ptr %mp, align 4, !dbg !60
ret i32 0, !dbg !61
}
@@ -316,161 +316,161 @@ cast.end9: ; preds = %cast.notnull4, %cas
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: nobuiltin
-declare noalias i8* @"\01??2 at YAPAXI@Z"(i32) #2
+declare noalias ptr @"\01??2 at YAPAXI@Z"(i32) #2
; Function Attrs: argmemonly nounwind
-declare void @llvm.memset.p0i8.i32(i8* nocapture writeonly, i8, i32, i1) #3
+declare void @llvm.memset.p0.i32(ptr nocapture writeonly, i8, i32, i1) #3
; Function Attrs: noinline nounwind optnone
-define linkonce_odr x86_thiscallcc %class.C* @"\01??0C@@QAE at XZ"(%class.C* returned %this, i32 %is_most_derived) unnamed_addr #4 comdat align 2 !dbg !62 {
+define linkonce_odr x86_thiscallcc ptr @"\01??0C@@QAE at XZ"(ptr returned %this, i32 %is_most_derived) unnamed_addr #4 comdat align 2 !dbg !62 {
entry:
- %retval = alloca %class.C*, align 4
+ %retval = alloca ptr, align 4
%is_most_derived.addr = alloca i32, align 4
- %this.addr = alloca %class.C*, align 4
- store i32 %is_most_derived, i32* %is_most_derived.addr, align 4
- call void @llvm.dbg.declare(metadata i32* %is_most_derived.addr, metadata !66, metadata !DIExpression()), !dbg !67
- store %class.C* %this, %class.C** %this.addr, align 4
- call void @llvm.dbg.declare(metadata %class.C** %this.addr, metadata !68, metadata !DIExpression()), !dbg !67
- %this1 = load %class.C*, %class.C** %this.addr, align 4
- store %class.C* %this1, %class.C** %retval, align 4
- %is_most_derived2 = load i32, i32* %is_most_derived.addr, align 4
+ %this.addr = alloca ptr, align 4
+ store i32 %is_most_derived, ptr %is_most_derived.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %is_most_derived.addr, metadata !66, metadata !DIExpression()), !dbg !67
+ store ptr %this, ptr %this.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !68, metadata !DIExpression()), !dbg !67
+ %this1 = load ptr, ptr %this.addr, align 4
+ store ptr %this1, ptr %retval, align 4
+ %is_most_derived2 = load i32, ptr %is_most_derived.addr, align 4
%is_complete_object = icmp ne i32 %is_most_derived2, 0, !dbg !69
br i1 %is_complete_object, label %ctor.init_vbases, label %ctor.skip_vbases, !dbg !69
ctor.init_vbases: ; preds = %entry
- %this.int8 = bitcast %class.C* %this1 to i8*, !dbg !69
- %0 = getelementptr inbounds i8, i8* %this.int8, i32 0, !dbg !69
- %vbptr.C = bitcast i8* %0 to i32**, !dbg !69
- store i32* getelementptr inbounds ([3 x i32], [3 x i32]* @"\01??_8C@@7B@", i32 0, i32 0), i32** %vbptr.C, align 4, !dbg !69
- %1 = bitcast %class.C* %this1 to i8*, !dbg !69
- %2 = getelementptr inbounds i8, i8* %1, i32 4, !dbg !69
- %3 = bitcast i8* %2 to %class.A*, !dbg !69
- %call = call x86_thiscallcc %class.A* @"\01??0A@@QAE at XZ"(%class.A* %3) #8, !dbg !69
- %4 = bitcast %class.C* %this1 to i8*, !dbg !69
- %5 = getelementptr inbounds i8, i8* %4, i32 8, !dbg !69
- %6 = bitcast i8* %5 to %class.B*, !dbg !69
- %call3 = call x86_thiscallcc %class.B* @"\01??0B@@QAE at XZ"(%class.B* %6) #8, !dbg !69
+ %this.int8 = bitcast ptr %this1 to ptr, !dbg !69
+ %0 = getelementptr inbounds i8, ptr %this.int8, i32 0, !dbg !69
+ %vbptr.C = bitcast ptr %0 to ptr, !dbg !69
+ store ptr @"\01??_8C@@7B@", ptr %vbptr.C, align 4, !dbg !69
+ %1 = bitcast ptr %this1 to ptr, !dbg !69
+ %2 = getelementptr inbounds i8, ptr %1, i32 4, !dbg !69
+ %3 = bitcast ptr %2 to ptr, !dbg !69
+ %call = call x86_thiscallcc ptr @"\01??0A@@QAE at XZ"(ptr %3) #8, !dbg !69
+ %4 = bitcast ptr %this1 to ptr, !dbg !69
+ %5 = getelementptr inbounds i8, ptr %4, i32 8, !dbg !69
+ %6 = bitcast ptr %5 to ptr, !dbg !69
+ %call3 = call x86_thiscallcc ptr @"\01??0B@@QAE at XZ"(ptr %6) #8, !dbg !69
br label %ctor.skip_vbases, !dbg !69
ctor.skip_vbases: ; preds = %ctor.init_vbases, %entry
- %7 = bitcast %class.C* %this1 to i8*, !dbg !69
- %vbptr = getelementptr inbounds i8, i8* %7, i32 0, !dbg !69
- %8 = bitcast i8* %vbptr to i32**, !dbg !69
- %vbtable = load i32*, i32** %8, align 4, !dbg !69
- %9 = getelementptr inbounds i32, i32* %vbtable, i32 1, !dbg !69
- %vbase_offs = load i32, i32* %9, align 4, !dbg !69
+ %7 = bitcast ptr %this1 to ptr, !dbg !69
+ %vbptr = getelementptr inbounds i8, ptr %7, i32 0, !dbg !69
+ %8 = bitcast ptr %vbptr to ptr, !dbg !69
+ %vbtable = load ptr, ptr %8, align 4, !dbg !69
+ %9 = getelementptr inbounds i32, ptr %vbtable, i32 1, !dbg !69
+ %vbase_offs = load i32, ptr %9, align 4, !dbg !69
%10 = add nsw i32 0, %vbase_offs, !dbg !69
- %11 = bitcast %class.C* %this1 to i8*, !dbg !69
- %add.ptr = getelementptr inbounds i8, i8* %11, i32 %10, !dbg !69
- %12 = bitcast i8* %add.ptr to i32 (...)***, !dbg !69
- store i32 (...)** bitcast (i8** @"\01??_7C@@6BA@@@" to i32 (...)**), i32 (...)*** %12, align 4, !dbg !69
- %13 = bitcast %class.C* %this1 to i8*, !dbg !69
- %vbptr4 = getelementptr inbounds i8, i8* %13, i32 0, !dbg !69
- %14 = bitcast i8* %vbptr4 to i32**, !dbg !69
- %vbtable5 = load i32*, i32** %14, align 4, !dbg !69
- %15 = getelementptr inbounds i32, i32* %vbtable5, i32 2, !dbg !69
- %vbase_offs6 = load i32, i32* %15, align 4, !dbg !69
+ %11 = bitcast ptr %this1 to ptr, !dbg !69
+ %add.ptr = getelementptr inbounds i8, ptr %11, i32 %10, !dbg !69
+ %12 = bitcast ptr %add.ptr to ptr, !dbg !69
+ store ptr @"\01??_7C@@6BA@@@", ptr %12, align 4, !dbg !69
+ %13 = bitcast ptr %this1 to ptr, !dbg !69
+ %vbptr4 = getelementptr inbounds i8, ptr %13, i32 0, !dbg !69
+ %14 = bitcast ptr %vbptr4 to ptr, !dbg !69
+ %vbtable5 = load ptr, ptr %14, align 4, !dbg !69
+ %15 = getelementptr inbounds i32, ptr %vbtable5, i32 2, !dbg !69
+ %vbase_offs6 = load i32, ptr %15, align 4, !dbg !69
%16 = add nsw i32 0, %vbase_offs6, !dbg !69
- %17 = bitcast %class.C* %this1 to i8*, !dbg !69
- %add.ptr7 = getelementptr inbounds i8, i8* %17, i32 %16, !dbg !69
- %18 = bitcast i8* %add.ptr7 to i32 (...)***, !dbg !69
- store i32 (...)** bitcast (i8** @"\01??_7C@@6BB@@@" to i32 (...)**), i32 (...)*** %18, align 4, !dbg !69
- %19 = load %class.C*, %class.C** %retval, align 4, !dbg !69
- ret %class.C* %19, !dbg !69
+ %17 = bitcast ptr %this1 to ptr, !dbg !69
+ %add.ptr7 = getelementptr inbounds i8, ptr %17, i32 %16, !dbg !69
+ %18 = bitcast ptr %add.ptr7 to ptr, !dbg !69
+ store ptr @"\01??_7C@@6BB@@@", ptr %18, align 4, !dbg !69
+ %19 = load ptr, ptr %retval, align 4, !dbg !69
+ ret ptr %19, !dbg !69
}
; Function Attrs: noinline optnone
-define linkonce_odr x86_thiscallcc void @"\01??_9A@@$BA at AE"(%class.A* %this, ...) #5 comdat align 2 !dbg !70 {
+define linkonce_odr x86_thiscallcc void @"\01??_9A@@$BA at AE"(ptr %this, ...) #5 comdat align 2 !dbg !70 {
entry:
- %this.addr = alloca %class.A*, align 4
- store %class.A* %this, %class.A** %this.addr, align 4
- call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !72, metadata !DIExpression()), !dbg !73
- %this1 = load %class.A*, %class.A** %this.addr, align 4
- %0 = bitcast %class.A* %this1 to void (%class.A*, ...)***
- %vtable = load void (%class.A*, ...)**, void (%class.A*, ...)*** %0, align 4
- %vfn = getelementptr inbounds void (%class.A*, ...)*, void (%class.A*, ...)** %vtable, i64 0
- %1 = load void (%class.A*, ...)*, void (%class.A*, ...)** %vfn, align 4
- musttail call x86_thiscallcc void (%class.A*, ...) %1(%class.A* %this1, ...)
+ %this.addr = alloca ptr, align 4
+ store ptr %this, ptr %this.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !72, metadata !DIExpression()), !dbg !73
+ %this1 = load ptr, ptr %this.addr, align 4
+ %0 = bitcast ptr %this1 to ptr
+ %vtable = load ptr, ptr %0, align 4
+ %vfn = getelementptr inbounds ptr, ptr %vtable, i64 0
+ %1 = load ptr, ptr %vfn, align 4
+ musttail call x86_thiscallcc void (ptr, ...) %1(ptr %this1, ...)
ret void
; No predecessors!
ret void
}
; Function Attrs: noinline nounwind optnone
-define linkonce_odr x86_thiscallcc %class.A* @"\01??0A@@QAE at XZ"(%class.A* returned %this) unnamed_addr #4 comdat align 2 !dbg !74 {
+define linkonce_odr x86_thiscallcc ptr @"\01??0A@@QAE at XZ"(ptr returned %this) unnamed_addr #4 comdat align 2 !dbg !74 {
entry:
- %this.addr = alloca %class.A*, align 4
- store %class.A* %this, %class.A** %this.addr, align 4
- call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !78, metadata !DIExpression()), !dbg !79
- %this1 = load %class.A*, %class.A** %this.addr, align 4
- %0 = bitcast %class.A* %this1 to i32 (...)***, !dbg !80
- store i32 (...)** bitcast (i8** @"\01??_7A@@6B@" to i32 (...)**), i32 (...)*** %0, align 4, !dbg !80
- ret %class.A* %this1, !dbg !80
+ %this.addr = alloca ptr, align 4
+ store ptr %this, ptr %this.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !78, metadata !DIExpression()), !dbg !79
+ %this1 = load ptr, ptr %this.addr, align 4
+ %0 = bitcast ptr %this1 to ptr, !dbg !80
+ store ptr @"\01??_7A@@6B@", ptr %0, align 4, !dbg !80
+ ret ptr %this1, !dbg !80
}
; Function Attrs: noinline nounwind optnone
-define linkonce_odr x86_thiscallcc %class.B* @"\01??0B@@QAE at XZ"(%class.B* returned %this) unnamed_addr #4 comdat align 2 !dbg !81 {
+define linkonce_odr x86_thiscallcc ptr @"\01??0B@@QAE at XZ"(ptr returned %this) unnamed_addr #4 comdat align 2 !dbg !81 {
entry:
- %this.addr = alloca %class.B*, align 4
- store %class.B* %this, %class.B** %this.addr, align 4
- call void @llvm.dbg.declare(metadata %class.B** %this.addr, metadata !85, metadata !DIExpression()), !dbg !86
- %this1 = load %class.B*, %class.B** %this.addr, align 4
- %0 = bitcast %class.B* %this1 to i32 (...)***, !dbg !87
- store i32 (...)** bitcast (i8** @"\01??_7B@@6B@" to i32 (...)**), i32 (...)*** %0, align 4, !dbg !87
- ret %class.B* %this1, !dbg !87
+ %this.addr = alloca ptr, align 4
+ store ptr %this, ptr %this.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !85, metadata !DIExpression()), !dbg !86
+ %this1 = load ptr, ptr %this.addr, align 4
+ %0 = bitcast ptr %this1 to ptr, !dbg !87
+ store ptr @"\01??_7B@@6B@", ptr %0, align 4, !dbg !87
+ ret ptr %this1, !dbg !87
}
; Function Attrs: noinline nounwind optnone
-define linkonce_odr x86_thiscallcc zeroext i1 @"\01?MyMethod at C@@UAE_NXZ"(i8* %this.coerce) unnamed_addr #4 comdat align 2 !dbg !88 {
+define linkonce_odr x86_thiscallcc zeroext i1 @"\01?MyMethod at C@@UAE_NXZ"(ptr %this.coerce) unnamed_addr #4 comdat align 2 !dbg !88 {
entry:
- %this = alloca %class.C*, align 4
- %this.addr = alloca %class.C*, align 4
- %coerce.val = bitcast i8* %this.coerce to %class.C*
- store %class.C* %coerce.val, %class.C** %this, align 4
- %this1 = load %class.C*, %class.C** %this, align 4
- store %class.C* %this1, %class.C** %this.addr, align 4
- call void @llvm.dbg.declare(metadata %class.C** %this.addr, metadata !89, metadata !DIExpression()), !dbg !90
- %this2 = load %class.C*, %class.C** %this.addr, align 4
- %0 = bitcast %class.C* %this2 to i8*
- %1 = getelementptr inbounds i8, i8* %0, i32 -4
- %this.adjusted = bitcast i8* %1 to %class.C*
+ %this = alloca ptr, align 4
+ %this.addr = alloca ptr, align 4
+ %coerce.val = bitcast ptr %this.coerce to ptr
+ store ptr %coerce.val, ptr %this, align 4
+ %this1 = load ptr, ptr %this, align 4
+ store ptr %this1, ptr %this.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !89, metadata !DIExpression()), !dbg !90
+ %this2 = load ptr, ptr %this.addr, align 4
+ %0 = bitcast ptr %this2 to ptr
+ %1 = getelementptr inbounds i8, ptr %0, i32 -4
+ %this.adjusted = bitcast ptr %1 to ptr
ret i1 true, !dbg !91
}
; Function Attrs: noinline optnone
-define linkonce_odr x86_thiscallcc zeroext i1 @"\01?MyMethod at C@@W3AE_NXZ"(i8* %this.coerce) unnamed_addr #6 comdat align 2 !dbg !92 {
+define linkonce_odr x86_thiscallcc zeroext i1 @"\01?MyMethod at C@@W3AE_NXZ"(ptr %this.coerce) unnamed_addr #6 comdat align 2 !dbg !92 {
entry:
- %this = alloca %class.C*, align 4
- %this.addr = alloca %class.C*, align 4
- %coerce.val = bitcast i8* %this.coerce to %class.C*
- store %class.C* %coerce.val, %class.C** %this, align 4
- %this1 = load %class.C*, %class.C** %this, align 4
- store %class.C* %this1, %class.C** %this.addr, align 4
- call void @llvm.dbg.declare(metadata %class.C** %this.addr, metadata !93, metadata !DIExpression()), !dbg !94
- %this2 = load %class.C*, %class.C** %this.addr, align 4, !dbg !94
- %0 = bitcast %class.C* %this2 to i8*, !dbg !94
- %1 = getelementptr i8, i8* %0, i32 -4, !dbg !94
- %call = tail call x86_thiscallcc zeroext i1 @"\01?MyMethod at C@@UAE_NXZ"(i8* %1), !dbg !94
+ %this = alloca ptr, align 4
+ %this.addr = alloca ptr, align 4
+ %coerce.val = bitcast ptr %this.coerce to ptr
+ store ptr %coerce.val, ptr %this, align 4
+ %this1 = load ptr, ptr %this, align 4
+ store ptr %this1, ptr %this.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !93, metadata !DIExpression()), !dbg !94
+ %this2 = load ptr, ptr %this.addr, align 4, !dbg !94
+ %0 = bitcast ptr %this2 to ptr, !dbg !94
+ %1 = getelementptr i8, ptr %0, i32 -4, !dbg !94
+ %call = tail call x86_thiscallcc zeroext i1 @"\01?MyMethod at C@@UAE_NXZ"(ptr %1), !dbg !94
ret i1 %call, !dbg !94
}
; Function Attrs: noinline nounwind optnone
-define linkonce_odr x86_thiscallcc zeroext i1 @"\01?MyMethod at A@@UAE_NXZ"(%class.A* %this) unnamed_addr #4 comdat align 2 !dbg !95 {
+define linkonce_odr x86_thiscallcc zeroext i1 @"\01?MyMethod at A@@UAE_NXZ"(ptr %this) unnamed_addr #4 comdat align 2 !dbg !95 {
entry:
- %this.addr = alloca %class.A*, align 4
- store %class.A* %this, %class.A** %this.addr, align 4
- call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !96, metadata !DIExpression()), !dbg !97
- %this1 = load %class.A*, %class.A** %this.addr, align 4
+ %this.addr = alloca ptr, align 4
+ store ptr %this, ptr %this.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !96, metadata !DIExpression()), !dbg !97
+ %this1 = load ptr, ptr %this.addr, align 4
ret i1 true, !dbg !98
}
; Function Attrs: noinline nounwind optnone
-define linkonce_odr x86_thiscallcc zeroext i1 @"\01?MyMethod at B@@UAE_NXZ"(%class.B* %this) unnamed_addr #4 comdat align 2 !dbg !99 {
+define linkonce_odr x86_thiscallcc zeroext i1 @"\01?MyMethod at B@@UAE_NXZ"(ptr %this) unnamed_addr #4 comdat align 2 !dbg !99 {
entry:
- %this.addr = alloca %class.B*, align 4
- store %class.B* %this, %class.B** %this.addr, align 4
- call void @llvm.dbg.declare(metadata %class.B** %this.addr, metadata !100, metadata !DIExpression()), !dbg !101
- %this1 = load %class.B*, %class.B** %this.addr, align 4
+ %this.addr = alloca ptr, align 4
+ store ptr %this, ptr %this.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !100, metadata !DIExpression()), !dbg !101
+ %this1 = load ptr, ptr %this.addr, align 4
ret i1 true, !dbg !102
}
diff --git a/llvm/test/DebugInfo/COFF/type-quals.ll b/llvm/test/DebugInfo/COFF/type-quals.ll
index 461266f72bdc80..1dfc1e2972eb73 100644
--- a/llvm/test/DebugInfo/COFF/type-quals.ll
+++ b/llvm/test/DebugInfo/COFF/type-quals.ll
@@ -407,24 +407,24 @@ target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc19.11.25507"
%struct.Foo = type { i32 }
-%union.Union = type { i32* }
+%union.Union = type { ptr }
@"\01?str@?1??g@@YAXAEIAH at Z@3QBDB" = internal constant [4 x i8] c"abc\00", align 1, !dbg !0
@"\01?s@?1??h@@YAXXZ at 3UFoo@?1??1 at YAXXZ@A" = private unnamed_addr constant %struct.Foo { i32 10 }, align 4
; Function Attrs: noinline nounwind optnone uwtable
-define i32 @"\01?f@@YAHPEIDH at Z"(i32* noalias %arg_crv) #0 !dbg !22 {
+define i32 @"\01?f@@YAHPEIDH at Z"(ptr noalias %arg_crv) #0 !dbg !22 {
entry:
- %arg_crv.addr = alloca i32*, align 8
+ %arg_crv.addr = alloca ptr, align 8
%u = alloca %union.Union, align 8
- %p = alloca i32*, align 8
+ %p = alloca ptr, align 8
%v = alloca i32, align 4
- store i32* %arg_crv, i32** %arg_crv.addr, align 8
- call void @llvm.dbg.declare(metadata i32** %arg_crv.addr, metadata !29, metadata !DIExpression()), !dbg !30
- call void @llvm.dbg.declare(metadata %union.Union* %u, metadata !31, metadata !DIExpression()), !dbg !43
- call void @llvm.dbg.declare(metadata i32** %p, metadata !44, metadata !DIExpression()), !dbg !47
- call void @llvm.dbg.declare(metadata i32* %v, metadata !48, metadata !DIExpression()), !dbg !49
- store volatile i32 0, i32* %v, align 4, !dbg !49
+ store ptr %arg_crv, ptr %arg_crv.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg_crv.addr, metadata !29, metadata !DIExpression()), !dbg !30
+ call void @llvm.dbg.declare(metadata ptr %u, metadata !31, metadata !DIExpression()), !dbg !43
+ call void @llvm.dbg.declare(metadata ptr %p, metadata !44, metadata !DIExpression()), !dbg !47
+ call void @llvm.dbg.declare(metadata ptr %v, metadata !48, metadata !DIExpression()), !dbg !49
+ store volatile i32 0, ptr %v, align 4, !dbg !49
ret i32 1, !dbg !50
}
@@ -432,14 +432,14 @@ entry:
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: noinline nounwind optnone uwtable
-define void @"\01?g@@YAXAEIAH at Z"(i32* noalias dereferenceable(4) %arg_ref) #0 !dbg !2 {
+define void @"\01?g@@YAXAEIAH at Z"(ptr noalias dereferenceable(4) %arg_ref) #0 !dbg !2 {
entry:
- %arg_ref.addr = alloca i32*, align 8
+ %arg_ref.addr = alloca ptr, align 8
%x = alloca i32, align 4
- store i32* %arg_ref, i32** %arg_ref.addr, align 8
- call void @llvm.dbg.declare(metadata i32** %arg_ref.addr, metadata !51, metadata !DIExpression()), !dbg !52
- call void @llvm.dbg.declare(metadata i32* %x, metadata !53, metadata !DIExpression()), !dbg !54
- store i32 10, i32* %x, align 4, !dbg !54
+ store ptr %arg_ref, ptr %arg_ref.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %arg_ref.addr, metadata !51, metadata !DIExpression()), !dbg !52
+ call void @llvm.dbg.declare(metadata ptr %x, metadata !53, metadata !DIExpression()), !dbg !54
+ store i32 10, ptr %x, align 4, !dbg !54
ret void, !dbg !55
}
@@ -447,35 +447,35 @@ entry:
define void @"\01?h@@YAXXZ"() #0 !dbg !56 {
entry:
%s = alloca %struct.Foo, align 4
- %p_object = alloca i32*, align 8
+ %p_object = alloca ptr, align 8
%p_data_member = alloca i32, align 8
- %p_member_func = alloca i8*, align 8
- call void @llvm.dbg.declare(metadata %struct.Foo* %s, metadata !59, metadata !DIExpression()), !dbg !68
- %0 = bitcast %struct.Foo* %s to i8*, !dbg !68
- call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %0, i8* align 4 bitcast (%struct.Foo* @"\01?s@?1??h@@YAXXZ at 3UFoo@?1??1 at YAXXZ@A" to i8*), i64 4, i1 false), !dbg !68
- call void @llvm.dbg.declare(metadata i32** %p_object, metadata !69, metadata !DIExpression()), !dbg !70
- %a = getelementptr inbounds %struct.Foo, %struct.Foo* %s, i32 0, i32 0, !dbg !71
- store i32* %a, i32** %p_object, align 8, !dbg !70
- call void @llvm.dbg.declare(metadata i32* %p_data_member, metadata !72, metadata !DIExpression()), !dbg !75
- store i32 0, i32* %p_data_member, align 8, !dbg !75
- call void @llvm.dbg.declare(metadata i8** %p_member_func, metadata !76, metadata !DIExpression()), !dbg !78
- store i8* bitcast (i32 (%struct.Foo*, i32)* @"\01?func at Foo@?1??h@@YAXXZ at QEIAAHH@Z" to i8*), i8** %p_member_func, align 8, !dbg !78
+ %p_member_func = alloca ptr, align 8
+ call void @llvm.dbg.declare(metadata ptr %s, metadata !59, metadata !DIExpression()), !dbg !68
+ %0 = bitcast ptr %s to ptr, !dbg !68
+ call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @"\01?s@?1??h@@YAXXZ at 3UFoo@?1??1 at YAXXZ@A", i64 4, i1 false), !dbg !68
+ call void @llvm.dbg.declare(metadata ptr %p_object, metadata !69, metadata !DIExpression()), !dbg !70
+ %a = getelementptr inbounds %struct.Foo, ptr %s, i32 0, i32 0, !dbg !71
+ store ptr %a, ptr %p_object, align 8, !dbg !70
+ call void @llvm.dbg.declare(metadata ptr %p_data_member, metadata !72, metadata !DIExpression()), !dbg !75
+ store i32 0, ptr %p_data_member, align 8, !dbg !75
+ call void @llvm.dbg.declare(metadata ptr %p_member_func, metadata !76, metadata !DIExpression()), !dbg !78
+ store ptr @"\01?func at Foo@?1??h@@YAXXZ at QEIAAHH@Z", ptr %p_member_func, align 8, !dbg !78
ret void, !dbg !79
}
; Function Attrs: argmemonly nounwind
-declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i1) #2
+declare void @llvm.memcpy.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1) #2
; Function Attrs: noinline nounwind optnone uwtable
-define internal i32 @"\01?func at Foo@?1??h@@YAXXZ at QEIAAHH@Z"(%struct.Foo* %this, i32 %x) #0 align 2 !dbg !80 {
+define internal i32 @"\01?func at Foo@?1??h@@YAXXZ at QEIAAHH@Z"(ptr %this, i32 %x) #0 align 2 !dbg !80 {
entry:
%x.addr = alloca i32, align 4
- %this.addr = alloca %struct.Foo*, align 8
- store i32 %x, i32* %x.addr, align 4
- call void @llvm.dbg.declare(metadata i32* %x.addr, metadata !81, metadata !DIExpression()), !dbg !82
- store %struct.Foo* %this, %struct.Foo** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.Foo** %this.addr, metadata !83, metadata !DIExpression()), !dbg !85
- %this1 = load %struct.Foo*, %struct.Foo** %this.addr, align 8
+ %this.addr = alloca ptr, align 8
+ store i32 %x, ptr %x.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %x.addr, metadata !81, metadata !DIExpression()), !dbg !82
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !83, metadata !DIExpression()), !dbg !85
+ %this1 = load ptr, ptr %this.addr, align 8
ret i32 1, !dbg !86
}
diff --git a/llvm/test/DebugInfo/COFF/types-basic.ll b/llvm/test/DebugInfo/COFF/types-basic.ll
index e87f6f68642214..a3741cca742491 100644
--- a/llvm/test/DebugInfo/COFF/types-basic.ll
+++ b/llvm/test/DebugInfo/COFF/types-basic.ll
@@ -546,63 +546,63 @@ entry:
%p2.addr = alloca double, align 8
%p1.addr = alloca float, align 4
%v1 = alloca i32, align 4
- %v2 = alloca i32*, align 8
- %v21 = alloca i32*, align 8
- %v3 = alloca i8*, align 8
+ %v2 = alloca ptr, align 8
+ %v21 = alloca ptr, align 8
+ %v3 = alloca ptr, align 8
%v4 = alloca i32, align 8
- %v5 = alloca i8*, align 8
+ %v5 = alloca ptr, align 8
%l1 = alloca i32, align 4
%l2 = alloca i32, align 4
%l3 = alloca i32, align 4
%l4 = alloca i32, align 4
- %v6 = alloca i8*, align 8
- store i64 %p3, i64* %p3.addr, align 8
- call void @llvm.dbg.declare(metadata i64* %p3.addr, metadata !13, metadata !14), !dbg !15
- store double %p2, double* %p2.addr, align 8
- call void @llvm.dbg.declare(metadata double* %p2.addr, metadata !16, metadata !14), !dbg !17
- store float %p1, float* %p1.addr, align 4
- call void @llvm.dbg.declare(metadata float* %p1.addr, metadata !18, metadata !14), !dbg !19
- call void @llvm.dbg.declare(metadata i32* %v1, metadata !20, metadata !14), !dbg !22
- %0 = load i64, i64* %p3.addr, align 8, !dbg !23
+ %v6 = alloca ptr, align 8
+ store i64 %p3, ptr %p3.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %p3.addr, metadata !13, metadata !14), !dbg !15
+ store double %p2, ptr %p2.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %p2.addr, metadata !16, metadata !14), !dbg !17
+ store float %p1, ptr %p1.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %p1.addr, metadata !18, metadata !14), !dbg !19
+ call void @llvm.dbg.declare(metadata ptr %v1, metadata !20, metadata !14), !dbg !22
+ %0 = load i64, ptr %p3.addr, align 8, !dbg !23
%conv = trunc i64 %0 to i32, !dbg !23
- store i32 %conv, i32* %v1, align 4, !dbg !22
- call void @llvm.dbg.declare(metadata i32** %v2, metadata !24, metadata !14), !dbg !26
- store i32* %v1, i32** %v2, align 8, !dbg !26
- call void @llvm.dbg.declare(metadata i32** %v21, metadata !27, metadata !14), !dbg !30
- store i32* %v1, i32** %v21, align 8, !dbg !30
- call void @llvm.dbg.declare(metadata i8** %v3, metadata !31, metadata !14), !dbg !33
- %1 = bitcast i32* %v1 to i8*, !dbg !34
- store i8* %1, i8** %v3, align 8, !dbg !33
- call void @llvm.dbg.declare(metadata i32* %v4, metadata !35, metadata !14), !dbg !44
- store i32 0, i32* %v4, align 8, !dbg !44
- call void @llvm.dbg.declare(metadata i8** %v5, metadata !45, metadata !14), !dbg !47
- store i8* bitcast (void (%struct.A*)* @"\01?f at A@@QEAAXXZ" to i8*), i8** %v5, align 8, !dbg !47
- call void @llvm.dbg.declare(metadata i32* %l1, metadata !48, metadata !14), !dbg !50
- store i32 0, i32* %l1, align 4, !dbg !50
- call void @llvm.dbg.declare(metadata i32* %l2, metadata !51, metadata !14), !dbg !52
- store i32 0, i32* %l2, align 4, !dbg !52
- call void @llvm.dbg.declare(metadata i32* %l3, metadata !53, metadata !14), !dbg !55
- store i32 0, i32* %l3, align 4, !dbg !55
- call void @llvm.dbg.declare(metadata i32* %l4, metadata !56, metadata !14), !dbg !57
- store i32 0, i32* %l4, align 4, !dbg !57
- call void @llvm.dbg.declare(metadata i8** %v6, metadata !58, metadata !14), !dbg !61
- %2 = bitcast i32* %v1 to i8*, !dbg !62
- store i8* %2, i8** %v6, align 8, !dbg !61
- %3 = load i32, i32* %l4, align 4, !dbg !63
- %4 = load i32, i32* %l3, align 4, !dbg !64
- %5 = load i32, i32* %l2, align 4, !dbg !65
- %6 = load i32, i32* %l1, align 4, !dbg !66
- %7 = load i8*, i8** %v3, align 8, !dbg !67
- %8 = load i32*, i32** %v2, align 8, !dbg !68
- %9 = load i32, i32* %v1, align 4, !dbg !69
- call void (i32, ...) @"\01?usevars@@YAXHZZ"(i32 %9, i32* %8, i8* %7, i32 %6, i32 %5, i32 %4, i32 %3), !dbg !70
+ store i32 %conv, ptr %v1, align 4, !dbg !22
+ call void @llvm.dbg.declare(metadata ptr %v2, metadata !24, metadata !14), !dbg !26
+ store ptr %v1, ptr %v2, align 8, !dbg !26
+ call void @llvm.dbg.declare(metadata ptr %v21, metadata !27, metadata !14), !dbg !30
+ store ptr %v1, ptr %v21, align 8, !dbg !30
+ call void @llvm.dbg.declare(metadata ptr %v3, metadata !31, metadata !14), !dbg !33
+ %1 = bitcast ptr %v1 to ptr, !dbg !34
+ store ptr %1, ptr %v3, align 8, !dbg !33
+ call void @llvm.dbg.declare(metadata ptr %v4, metadata !35, metadata !14), !dbg !44
+ store i32 0, ptr %v4, align 8, !dbg !44
+ call void @llvm.dbg.declare(metadata ptr %v5, metadata !45, metadata !14), !dbg !47
+ store ptr @"\01?f at A@@QEAAXXZ", ptr %v5, align 8, !dbg !47
+ call void @llvm.dbg.declare(metadata ptr %l1, metadata !48, metadata !14), !dbg !50
+ store i32 0, ptr %l1, align 4, !dbg !50
+ call void @llvm.dbg.declare(metadata ptr %l2, metadata !51, metadata !14), !dbg !52
+ store i32 0, ptr %l2, align 4, !dbg !52
+ call void @llvm.dbg.declare(metadata ptr %l3, metadata !53, metadata !14), !dbg !55
+ store i32 0, ptr %l3, align 4, !dbg !55
+ call void @llvm.dbg.declare(metadata ptr %l4, metadata !56, metadata !14), !dbg !57
+ store i32 0, ptr %l4, align 4, !dbg !57
+ call void @llvm.dbg.declare(metadata ptr %v6, metadata !58, metadata !14), !dbg !61
+ %2 = bitcast ptr %v1 to ptr, !dbg !62
+ store ptr %2, ptr %v6, align 8, !dbg !61
+ %3 = load i32, ptr %l4, align 4, !dbg !63
+ %4 = load i32, ptr %l3, align 4, !dbg !64
+ %5 = load i32, ptr %l2, align 4, !dbg !65
+ %6 = load i32, ptr %l1, align 4, !dbg !66
+ %7 = load ptr, ptr %v3, align 8, !dbg !67
+ %8 = load ptr, ptr %v2, align 8, !dbg !68
+ %9 = load i32, ptr %v1, align 4, !dbg !69
+ call void (i32, ...) @"\01?usevars@@YAXHZZ"(i32 %9, ptr %8, ptr %7, i32 %6, i32 %5, i32 %4, i32 %3), !dbg !70
ret void, !dbg !71
}
; Function Attrs: nounwind readnone
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
-declare void @"\01?f at A@@QEAAXXZ"(%struct.A*) #2
+declare void @"\01?f at A@@QEAAXXZ"(ptr) #2
declare void @"\01?usevars@@YAXHZZ"(i32, ...) #2
@@ -616,13 +616,13 @@ entry:
%sc = alloca i8, align 1
%c16 = alloca i16, align 2
%c32 = alloca i32, align 4
- call void @llvm.dbg.declare(metadata i16* %w, metadata !75, metadata !14), !dbg !77
- call void @llvm.dbg.declare(metadata i16* %us, metadata !78, metadata !14), !dbg !80
- call void @llvm.dbg.declare(metadata i8* %c, metadata !81, metadata !14), !dbg !83
- call void @llvm.dbg.declare(metadata i8* %uc, metadata !84, metadata !14), !dbg !86
- call void @llvm.dbg.declare(metadata i8* %sc, metadata !87, metadata !14), !dbg !89
- call void @llvm.dbg.declare(metadata i16* %c16, metadata !90, metadata !14), !dbg !92
- call void @llvm.dbg.declare(metadata i32* %c32, metadata !93, metadata !14), !dbg !95
+ call void @llvm.dbg.declare(metadata ptr %w, metadata !75, metadata !14), !dbg !77
+ call void @llvm.dbg.declare(metadata ptr %us, metadata !78, metadata !14), !dbg !80
+ call void @llvm.dbg.declare(metadata ptr %c, metadata !81, metadata !14), !dbg !83
+ call void @llvm.dbg.declare(metadata ptr %uc, metadata !84, metadata !14), !dbg !86
+ call void @llvm.dbg.declare(metadata ptr %sc, metadata !87, metadata !14), !dbg !89
+ call void @llvm.dbg.declare(metadata ptr %c16, metadata !90, metadata !14), !dbg !92
+ call void @llvm.dbg.declare(metadata ptr %c32, metadata !93, metadata !14), !dbg !95
ret void, !dbg !96
}
diff --git a/llvm/test/DebugInfo/COFF/types-cvarargs.ll b/llvm/test/DebugInfo/COFF/types-cvarargs.ll
index bd41d68669f602..c327a453241012 100644
--- a/llvm/test/DebugInfo/COFF/types-cvarargs.ll
+++ b/llvm/test/DebugInfo/COFF/types-cvarargs.ll
@@ -51,14 +51,14 @@ target triple = "x86_64-pc-windows-msvc19.11.25507"
$"\01?MemberFunc at A@MemberTest@@QEAAHZZ" = comdat any
-@"\01?funcVar@@3P6AXHMZZEA" = global void (i32, float, ...)* null, align 8, !dbg !0
+@"\01?funcVar@@3P6AXHMZZEA" = global ptr null, align 8, !dbg !0
; Function Attrs: noinline optnone uwtable
define i32 @"\01?f@@YAHXZ"() #0 !dbg !17 {
entry:
%v1 = alloca %"class.MemberTest::A", align 1
- call void @llvm.dbg.declare(metadata %"class.MemberTest::A"* %v1, metadata !20, metadata !DIExpression()), !dbg !28
- %call = call i32 (%"class.MemberTest::A"*, ...) @"\01?MemberFunc at A@MemberTest@@QEAAHZZ"(%"class.MemberTest::A"* %v1, i32 1, i32 20, i64 0), !dbg !29
+ call void @llvm.dbg.declare(metadata ptr %v1, metadata !20, metadata !DIExpression()), !dbg !28
+ %call = call i32 (ptr, ...) @"\01?MemberFunc at A@MemberTest@@QEAAHZZ"(ptr %v1, i32 1, i32 20, i64 0), !dbg !29
ret i32 1, !dbg !30
}
@@ -66,12 +66,12 @@ entry:
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: noinline nounwind optnone uwtable
-define linkonce_odr i32 @"\01?MemberFunc at A@MemberTest@@QEAAHZZ"(%"class.MemberTest::A"* %this, ...) #2 comdat align 2 !dbg !31 {
+define linkonce_odr i32 @"\01?MemberFunc at A@MemberTest@@QEAAHZZ"(ptr %this, ...) #2 comdat align 2 !dbg !31 {
entry:
- %this.addr = alloca %"class.MemberTest::A"*, align 8
- store %"class.MemberTest::A"* %this, %"class.MemberTest::A"** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %"class.MemberTest::A"** %this.addr, metadata !32, metadata !DIExpression()), !dbg !34
- %this1 = load %"class.MemberTest::A"*, %"class.MemberTest::A"** %this.addr, align 8
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !32, metadata !DIExpression()), !dbg !34
+ %this1 = load ptr, ptr %this.addr, align 8
ret i32 1, !dbg !35
}
diff --git a/llvm/test/DebugInfo/COFF/types-data-members.ll b/llvm/test/DebugInfo/COFF/types-data-members.ll
index 1e699efdf8ed38..c1f0df7bb7ef98 100644
--- a/llvm/test/DebugInfo/COFF/types-data-members.ll
+++ b/llvm/test/DebugInfo/COFF/types-data-members.ll
@@ -755,7 +755,7 @@ target triple = "x86_64-pc-windows-msvc19.0.23918"
%struct.Struct = type { i32, i32, i32 }
%union.Union = type { i32 }
%class.Class = type { i32, i32, i32 }
-%struct.DerivedClass = type { %struct.Struct, i32*, i32, [4 x i8], %class.Class }
+%struct.DerivedClass = type { %struct.Struct, ptr, i32, [4 x i8], %class.Class }
%"struct.Class::Nested" = type { i32 }
$"\01??0DerivedClass@@QEAA at XZ" = comdat any
@@ -772,12 +772,12 @@ entry:
%c = alloca %class.Class, align 4
%dc = alloca %struct.DerivedClass, align 8
%n = alloca %"struct.Class::Nested", align 4
- call void @llvm.dbg.declare(metadata %struct.Struct* %s, metadata !10, metadata !19), !dbg !20
- call void @llvm.dbg.declare(metadata %union.Union* %u, metadata !21, metadata !19), !dbg !27
- call void @llvm.dbg.declare(metadata %class.Class* %c, metadata !28, metadata !19), !dbg !34
- call void @llvm.dbg.declare(metadata %struct.DerivedClass* %dc, metadata !35, metadata !19), !dbg !46
- %call = call %struct.DerivedClass* @"\01??0DerivedClass@@QEAA at XZ"(%struct.DerivedClass* %dc, i32 1) #3, !dbg !46
- call void @llvm.dbg.declare(metadata %"struct.Class::Nested"* %n, metadata !47, metadata !19), !dbg !51
+ call void @llvm.dbg.declare(metadata ptr %s, metadata !10, metadata !19), !dbg !20
+ call void @llvm.dbg.declare(metadata ptr %u, metadata !21, metadata !19), !dbg !27
+ call void @llvm.dbg.declare(metadata ptr %c, metadata !28, metadata !19), !dbg !34
+ call void @llvm.dbg.declare(metadata ptr %dc, metadata !35, metadata !19), !dbg !46
+ %call = call ptr @"\01??0DerivedClass@@QEAA at XZ"(ptr %dc, i32 1) #3, !dbg !46
+ call void @llvm.dbg.declare(metadata ptr %n, metadata !47, metadata !19), !dbg !51
ret void, !dbg !52
}
@@ -785,35 +785,35 @@ entry:
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.DerivedClass* @"\01??0DerivedClass@@QEAA at XZ"(%struct.DerivedClass* returned %this, i32 %is_most_derived) unnamed_addr #2 comdat align 2 !dbg !53 {
+define linkonce_odr ptr @"\01??0DerivedClass@@QEAA at XZ"(ptr returned %this, i32 %is_most_derived) unnamed_addr #2 comdat align 2 !dbg !53 {
entry:
- %retval = alloca %struct.DerivedClass*, align 8
+ %retval = alloca ptr, align 8
%is_most_derived.addr = alloca i32, align 4
- %this.addr = alloca %struct.DerivedClass*, align 8
- store i32 %is_most_derived, i32* %is_most_derived.addr, align 4
- call void @llvm.dbg.declare(metadata i32* %is_most_derived.addr, metadata !58, metadata !19), !dbg !59
- store %struct.DerivedClass* %this, %struct.DerivedClass** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.DerivedClass** %this.addr, metadata !60, metadata !19), !dbg !59
- %this1 = load %struct.DerivedClass*, %struct.DerivedClass** %this.addr, align 8
- store %struct.DerivedClass* %this1, %struct.DerivedClass** %retval, align 8
- %is_most_derived2 = load i32, i32* %is_most_derived.addr, align 4
+ %this.addr = alloca ptr, align 8
+ store i32 %is_most_derived, ptr %is_most_derived.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %is_most_derived.addr, metadata !58, metadata !19), !dbg !59
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !60, metadata !19), !dbg !59
+ %this1 = load ptr, ptr %this.addr, align 8
+ store ptr %this1, ptr %retval, align 8
+ %is_most_derived2 = load i32, ptr %is_most_derived.addr, align 4
%is_complete_object = icmp ne i32 %is_most_derived2, 0, !dbg !62
br i1 %is_complete_object, label %ctor.init_vbases, label %ctor.skip_vbases, !dbg !62
ctor.init_vbases: ; preds = %entry
- %this.int8 = bitcast %struct.DerivedClass* %this1 to i8*, !dbg !62
- %0 = getelementptr inbounds i8, i8* %this.int8, i64 16, !dbg !62
- %vbptr.DerivedClass = bitcast i8* %0 to i32**, !dbg !62
- store i32* getelementptr inbounds ([2 x i32], [2 x i32]* @"\01??_8DerivedClass@@7B@", i32 0, i32 0), i32** %vbptr.DerivedClass, align 8, !dbg !62
- %1 = bitcast %struct.DerivedClass* %this1 to i8*, !dbg !62
- %2 = getelementptr inbounds i8, i8* %1, i64 32, !dbg !62
- %3 = bitcast i8* %2 to %class.Class*, !dbg !62
+ %this.int8 = bitcast ptr %this1 to ptr, !dbg !62
+ %0 = getelementptr inbounds i8, ptr %this.int8, i64 16, !dbg !62
+ %vbptr.DerivedClass = bitcast ptr %0 to ptr, !dbg !62
+ store ptr @"\01??_8DerivedClass@@7B@", ptr %vbptr.DerivedClass, align 8, !dbg !62
+ %1 = bitcast ptr %this1 to ptr, !dbg !62
+ %2 = getelementptr inbounds i8, ptr %1, i64 32, !dbg !62
+ %3 = bitcast ptr %2 to ptr, !dbg !62
br label %ctor.skip_vbases, !dbg !62
ctor.skip_vbases: ; preds = %ctor.init_vbases, %entry
- %4 = bitcast %struct.DerivedClass* %this1 to %struct.Struct*, !dbg !62
- %5 = load %struct.DerivedClass*, %struct.DerivedClass** %retval, align 8, !dbg !62
- ret %struct.DerivedClass* %5, !dbg !62
+ %4 = bitcast ptr %this1 to ptr, !dbg !62
+ %5 = load ptr, ptr %retval, align 8, !dbg !62
+ ret ptr %5, !dbg !62
}
attributes #0 = { nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
diff --git a/llvm/test/DebugInfo/COFF/vftables.ll b/llvm/test/DebugInfo/COFF/vftables.ll
index cab7ab22d57472..1f8db177d5fcf7 100644
--- a/llvm/test/DebugInfo/COFF/vftables.ll
+++ b/llvm/test/DebugInfo/COFF/vftables.ll
@@ -162,11 +162,11 @@ target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc19.0.24210"
%rtti.CompleteObjectLocator = type { i32, i32, i32, i32, i32, i32 }
-%rtti.TypeDescriptor7 = type { i8**, i8*, [8 x i8] }
+%rtti.TypeDescriptor7 = type { ptr, ptr, [8 x i8] }
%rtti.ClassHierarchyDescriptor = type { i32, i32, i32, i32 }
%rtti.BaseClassDescriptor = type { i32, i32, i32, i32, i32, i32, i32 }
-%struct.A = type { i32 (...)**, i32 }
-%struct.B = type { i32 (...)**, i32 }
+%struct.A = type { ptr, i32 }
+%struct.B = type { ptr, i32 }
%struct.C = type { %struct.A, %struct.B, i32 }
%struct.D = type { %struct.C, i32 }
@@ -240,44 +240,44 @@ $"\01??_R1A@?0A at EA@D@@8" = comdat any
$"\01??_R4D@@6BB@@@" = comdat any
- at 0 = private unnamed_addr constant [2 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4A@@6B@" to i8*), i8* bitcast (void (%struct.A*)* @"\01?g at A@@UEAAXXZ" to i8*)], comdat($"\01??_7A@@6B@")
-@"\01??_R4A@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUA@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3A@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.CompleteObjectLocator* @"\01??_R4A@@6B@" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_7type_info@@6B@" = external constant i8*
-@"\01??_R0?AUA@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { i8** @"\01??_7type_info@@6B@", i8* null, [8 x i8] c".?AUA@@\00" }, comdat
+ at 0 = private unnamed_addr constant [2 x ptr] [ptr @"\01??_R4A@@6B@", ptr @"\01?g at A@@UEAAXXZ"], comdat($"\01??_7A@@6B@")
+@"\01??_R4A@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUA@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3A@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R4A@@6B@" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_7type_info@@6B@" = external constant ptr
+@"\01??_R0?AUA@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { ptr @"\01??_7type_info@@6B@", ptr null, [8 x i8] c".?AUA@@\00" }, comdat
@__ImageBase = external constant i8
-@"\01??_R3A@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, i32 trunc (i64 sub nuw nsw (i64 ptrtoint ([2 x i32]* @"\01??_R2A@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R2A@@8" = linkonce_odr constant [2 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@A@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0], comdat
-@"\01??_R1A@?0A at EA@A@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUA@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3A@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
- at 1 = private unnamed_addr constant [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4B@@6B@" to i8*), i8* bitcast (void (%struct.B*)* @"\01?g at B@@UEAAXXZ" to i8*), i8* bitcast (void (%struct.B*)* @"\01?f at B@@UEAAXXZ" to i8*)], comdat($"\01??_7B@@6B@")
-@"\01??_R4B@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUB@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3B@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.CompleteObjectLocator* @"\01??_R4B@@6B@" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R0?AUB@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { i8** @"\01??_7type_info@@6B@", i8* null, [8 x i8] c".?AUB@@\00" }, comdat
-@"\01??_R3B@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, i32 trunc (i64 sub nuw nsw (i64 ptrtoint ([2 x i32]* @"\01??_R2B@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R2B@@8" = linkonce_odr constant [2 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@B@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0], comdat
-@"\01??_R1A@?0A at EA@B@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUB@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3B@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
- at 2 = private unnamed_addr constant [2 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4C@@6BA@@@" to i8*), i8* bitcast (void (%struct.C*)* @"\01?g at C@@UEAAXXZ" to i8*)], comdat($"\01??_7C@@6BA@@@")
- at 3 = private unnamed_addr constant [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4C@@6BB@@@" to i8*), i8* bitcast (void (%struct.C*)* @"\01?g at C@@WBA at EAAXXZ" to i8*), i8* bitcast (void (i8*)* @"\01?f at C@@UEAAXXZ" to i8*)], comdat($"\01??_7C@@6BB@@@")
-@"\01??_R4C@@6BA@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUC@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3C@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.CompleteObjectLocator* @"\01??_R4C@@6BA@@@" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R0?AUC@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { i8** @"\01??_7type_info@@6B@", i8* null, [8 x i8] c".?AUC@@\00" }, comdat
-@"\01??_R3C@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 1, i32 3, i32 trunc (i64 sub nuw nsw (i64 ptrtoint ([4 x i32]* @"\01??_R2C@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R2C@@8" = linkonce_odr constant [4 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@C@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@A@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1BA@?0A at EA@B@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0], comdat
-@"\01??_R1A@?0A at EA@C@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUC@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 2, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3C@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R1BA@?0A at EA@B@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUB@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0, i32 16, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3B@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R4C@@6BB@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 16, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUC@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3C@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.CompleteObjectLocator* @"\01??_R4C@@6BB@@@" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
- at 4 = private unnamed_addr constant [2 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4D@@6BA@@@" to i8*), i8* bitcast (void (%struct.D*)* @"\01?g at D@@UEAAXXZ" to i8*)], comdat($"\01??_7D@@6BA@@@")
- at 5 = private unnamed_addr constant [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4D@@6BB@@@" to i8*), i8* bitcast (void (%struct.D*)* @"\01?g at D@@WBA at EAAXXZ" to i8*), i8* bitcast (void (i8*)* @"\01?f at D@@UEAAXXZ" to i8*)], comdat($"\01??_7D@@6BB@@@")
-@"\01??_R4D@@6BA@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUD@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3D@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.CompleteObjectLocator* @"\01??_R4D@@6BA@@@" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R0?AUD@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { i8** @"\01??_7type_info@@6B@", i8* null, [8 x i8] c".?AUD@@\00" }, comdat
-@"\01??_R3D@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 1, i32 4, i32 trunc (i64 sub nuw nsw (i64 ptrtoint ([5 x i32]* @"\01??_R2D@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R2D@@8" = linkonce_odr constant [5 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@D@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@C@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1A@?0A at EA@A@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.BaseClassDescriptor* @"\01??_R1BA@?0A at EA@B@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0], comdat
-@"\01??_R1A@?0A at EA@D@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUD@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 3, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3D@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-@"\01??_R4D@@6BB@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 16, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor7* @"\01??_R0?AUD@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.ClassHierarchyDescriptor* @"\01??_R3D@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.CompleteObjectLocator* @"\01??_R4D@@6BB@@@" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat
-
-@"\01??_7A@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ([2 x i8*], [2 x i8*]* @0, i32 0, i32 1)
-@"\01??_7B@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ([3 x i8*], [3 x i8*]* @1, i32 0, i32 1)
-@"\01??_7C@@6BA@@@" = unnamed_addr alias i8*, getelementptr inbounds ([2 x i8*], [2 x i8*]* @2, i32 0, i32 1)
-@"\01??_7C@@6BB@@@" = unnamed_addr alias i8*, getelementptr inbounds ([3 x i8*], [3 x i8*]* @3, i32 0, i32 1)
-@"\01??_7D@@6BA@@@" = unnamed_addr alias i8*, getelementptr inbounds ([2 x i8*], [2 x i8*]* @4, i32 0, i32 1)
-@"\01??_7D@@6BB@@@" = unnamed_addr alias i8*, getelementptr inbounds ([3 x i8*], [3 x i8*]* @5, i32 0, i32 1)
+@"\01??_R3A@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R2A@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R2A@@8" = linkonce_odr constant [2 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1A@?0A at EA@A@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 0], comdat
+@"\01??_R1A@?0A at EA@A@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUA@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 0, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3A@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+ at 1 = private unnamed_addr constant [3 x ptr] [ptr @"\01??_R4B@@6B@", ptr @"\01?g at B@@UEAAXXZ", ptr @"\01?f at B@@UEAAXXZ"], comdat($"\01??_7B@@6B@")
+@"\01??_R4B@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUB@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3B@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R4B@@6B@" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R0?AUB@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { ptr @"\01??_7type_info@@6B@", ptr null, [8 x i8] c".?AUB@@\00" }, comdat
+@"\01??_R3B@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R2B@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R2B@@8" = linkonce_odr constant [2 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1A@?0A at EA@B@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 0], comdat
+@"\01??_R1A@?0A at EA@B@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUB@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 0, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3B@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+ at 2 = private unnamed_addr constant [2 x ptr] [ptr @"\01??_R4C@@6BA@@@", ptr @"\01?g at C@@UEAAXXZ"], comdat($"\01??_7C@@6BA@@@")
+ at 3 = private unnamed_addr constant [3 x ptr] [ptr @"\01??_R4C@@6BB@@@", ptr @"\01?g at C@@WBA at EAAXXZ", ptr @"\01?f at C@@UEAAXXZ"], comdat($"\01??_7C@@6BB@@@")
+@"\01??_R4C@@6BA@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUC@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3C@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R4C@@6BA@@@" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R0?AUC@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { ptr @"\01??_7type_info@@6B@", ptr null, [8 x i8] c".?AUC@@\00" }, comdat
+@"\01??_R3C@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 1, i32 3, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R2C@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R2C@@8" = linkonce_odr constant [4 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1A@?0A at EA@C@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1A@?0A at EA@A@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1BA@?0A at EA@B@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 0], comdat
+@"\01??_R1A@?0A at EA@C@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUC@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 2, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3C@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R1BA@?0A at EA@B@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUB@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 0, i32 16, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3B@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R4C@@6BB@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 16, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUC@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3C@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R4C@@6BB@@@" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+ at 4 = private unnamed_addr constant [2 x ptr] [ptr @"\01??_R4D@@6BA@@@", ptr @"\01?g at D@@UEAAXXZ"], comdat($"\01??_7D@@6BA@@@")
+ at 5 = private unnamed_addr constant [3 x ptr] [ptr @"\01??_R4D@@6BB@@@", ptr @"\01?g at D@@WBA at EAAXXZ", ptr @"\01?f at D@@UEAAXXZ"], comdat($"\01??_7D@@6BB@@@")
+@"\01??_R4D@@6BA@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUD@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3D@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R4D@@6BA@@@" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R0?AUD@@@8" = linkonce_odr global %rtti.TypeDescriptor7 { ptr @"\01??_7type_info@@6B@", ptr null, [8 x i8] c".?AUD@@\00" }, comdat
+@"\01??_R3D@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 1, i32 4, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R2D@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R2D@@8" = linkonce_odr constant [5 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1A@?0A at EA@D@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1A@?0A at EA@C@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1A@?0A at EA@A@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R1BA@?0A at EA@B@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 0], comdat
+@"\01??_R1A@?0A at EA@D@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUD@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 3, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3D@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+@"\01??_R4D@@6BB@@@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 16, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUD@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3D@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R4D@@6BB@@@" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
+
+@"\01??_7A@@6B@" = unnamed_addr alias ptr, getelementptr inbounds ([2 x ptr], ptr @0, i32 0, i32 1)
+@"\01??_7B@@6B@" = unnamed_addr alias ptr, getelementptr inbounds ([3 x ptr], ptr @1, i32 0, i32 1)
+@"\01??_7C@@6BA@@@" = unnamed_addr alias ptr, getelementptr inbounds ([2 x ptr], ptr @2, i32 0, i32 1)
+@"\01??_7C@@6BB@@@" = unnamed_addr alias ptr, getelementptr inbounds ([3 x ptr], ptr @3, i32 0, i32 1)
+@"\01??_7D@@6BA@@@" = unnamed_addr alias ptr, getelementptr inbounds ([2 x ptr], ptr @4, i32 0, i32 1)
+@"\01??_7D@@6BB@@@" = unnamed_addr alias ptr, getelementptr inbounds ([3 x ptr], ptr @5, i32 0, i32 1)
; Function Attrs: nounwind uwtable
define void @"\01?h@@YAXXZ"() #0 !dbg !7 {
@@ -286,14 +286,14 @@ entry:
%b = alloca %struct.B, align 8
%c = alloca %struct.C, align 8
%d = alloca %struct.D, align 8
- call void @llvm.dbg.declare(metadata %struct.A* %a, metadata !10, metadata !22), !dbg !23
- %call = call %struct.A* @"\01??0A@@QEAA at XZ"(%struct.A* %a) #5, !dbg !23
- call void @llvm.dbg.declare(metadata %struct.B* %b, metadata !24, metadata !22), !dbg !36
- %call1 = call %struct.B* @"\01??0B@@QEAA at XZ"(%struct.B* %b) #5, !dbg !36
- call void @llvm.dbg.declare(metadata %struct.C* %c, metadata !37, metadata !22), !dbg !48
- %call2 = call %struct.C* @"\01??0C@@QEAA at XZ"(%struct.C* %c) #5, !dbg !48
- call void @llvm.dbg.declare(metadata %struct.D* %d, metadata !49, metadata !22), !dbg !59
- %call3 = call %struct.D* @"\01??0D@@QEAA at XZ"(%struct.D* %d) #5, !dbg !59
+ call void @llvm.dbg.declare(metadata ptr %a, metadata !10, metadata !22), !dbg !23
+ %call = call ptr @"\01??0A@@QEAA at XZ"(ptr %a) #5, !dbg !23
+ call void @llvm.dbg.declare(metadata ptr %b, metadata !24, metadata !22), !dbg !36
+ %call1 = call ptr @"\01??0B@@QEAA at XZ"(ptr %b) #5, !dbg !36
+ call void @llvm.dbg.declare(metadata ptr %c, metadata !37, metadata !22), !dbg !48
+ %call2 = call ptr @"\01??0C@@QEAA at XZ"(ptr %c) #5, !dbg !48
+ call void @llvm.dbg.declare(metadata ptr %d, metadata !49, metadata !22), !dbg !59
+ %call3 = call ptr @"\01??0D@@QEAA at XZ"(ptr %d) #5, !dbg !59
ret void, !dbg !60
}
@@ -301,118 +301,118 @@ entry:
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.A* @"\01??0A@@QEAA at XZ"(%struct.A* returned %this) unnamed_addr #2 comdat align 2 !dbg !61 {
+define linkonce_odr ptr @"\01??0A@@QEAA at XZ"(ptr returned %this) unnamed_addr #2 comdat align 2 !dbg !61 {
entry:
- %this.addr = alloca %struct.A*, align 8
- store %struct.A* %this, %struct.A** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.A** %this.addr, metadata !63, metadata !22), !dbg !65
- %this1 = load %struct.A*, %struct.A** %this.addr, align 8
- %0 = bitcast %struct.A* %this1 to i32 (...)***, !dbg !66
- store i32 (...)** bitcast (i8** @"\01??_7A@@6B@" to i32 (...)**), i32 (...)*** %0, align 8, !dbg !66
- %a = getelementptr inbounds %struct.A, %struct.A* %this1, i32 0, i32 1, !dbg !67
- store i32 0, i32* %a, align 8, !dbg !67
- ret %struct.A* %this1, !dbg !66
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !63, metadata !22), !dbg !65
+ %this1 = load ptr, ptr %this.addr, align 8
+ %0 = bitcast ptr %this1 to ptr, !dbg !66
+ store ptr @"\01??_7A@@6B@", ptr %0, align 8, !dbg !66
+ %a = getelementptr inbounds %struct.A, ptr %this1, i32 0, i32 1, !dbg !67
+ store i32 0, ptr %a, align 8, !dbg !67
+ ret ptr %this1, !dbg !66
}
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.B* @"\01??0B@@QEAA at XZ"(%struct.B* returned %this) unnamed_addr #2 comdat align 2 !dbg !68 {
+define linkonce_odr ptr @"\01??0B@@QEAA at XZ"(ptr returned %this) unnamed_addr #2 comdat align 2 !dbg !68 {
entry:
- %this.addr = alloca %struct.B*, align 8
- store %struct.B* %this, %struct.B** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.B** %this.addr, metadata !70, metadata !22), !dbg !72
- %this1 = load %struct.B*, %struct.B** %this.addr, align 8
- %0 = bitcast %struct.B* %this1 to i32 (...)***, !dbg !73
- store i32 (...)** bitcast (i8** @"\01??_7B@@6B@" to i32 (...)**), i32 (...)*** %0, align 8, !dbg !73
- %b = getelementptr inbounds %struct.B, %struct.B* %this1, i32 0, i32 1, !dbg !74
- store i32 0, i32* %b, align 8, !dbg !74
- ret %struct.B* %this1, !dbg !73
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !70, metadata !22), !dbg !72
+ %this1 = load ptr, ptr %this.addr, align 8
+ %0 = bitcast ptr %this1 to ptr, !dbg !73
+ store ptr @"\01??_7B@@6B@", ptr %0, align 8, !dbg !73
+ %b = getelementptr inbounds %struct.B, ptr %this1, i32 0, i32 1, !dbg !74
+ store i32 0, ptr %b, align 8, !dbg !74
+ ret ptr %this1, !dbg !73
}
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.C* @"\01??0C@@QEAA at XZ"(%struct.C* returned %this) unnamed_addr #2 comdat align 2 !dbg !75 {
+define linkonce_odr ptr @"\01??0C@@QEAA at XZ"(ptr returned %this) unnamed_addr #2 comdat align 2 !dbg !75 {
entry:
- %this.addr = alloca %struct.C*, align 8
- store %struct.C* %this, %struct.C** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.C** %this.addr, metadata !77, metadata !22), !dbg !79
- %this1 = load %struct.C*, %struct.C** %this.addr, align 8
- %0 = bitcast %struct.C* %this1 to %struct.A*, !dbg !80
- %call = call %struct.A* @"\01??0A@@QEAA at XZ"(%struct.A* %0) #5, !dbg !80
- %1 = bitcast %struct.C* %this1 to i8*, !dbg !80
- %2 = getelementptr inbounds i8, i8* %1, i64 16, !dbg !80
- %3 = bitcast i8* %2 to %struct.B*, !dbg !80
- %call2 = call %struct.B* @"\01??0B@@QEAA at XZ"(%struct.B* %3) #5, !dbg !80
- %4 = bitcast %struct.C* %this1 to i32 (...)***, !dbg !80
- store i32 (...)** bitcast (i8** @"\01??_7C@@6BA@@@" to i32 (...)**), i32 (...)*** %4, align 8, !dbg !80
- %5 = bitcast %struct.C* %this1 to i8*, !dbg !80
- %add.ptr = getelementptr inbounds i8, i8* %5, i64 16, !dbg !80
- %6 = bitcast i8* %add.ptr to i32 (...)***, !dbg !80
- store i32 (...)** bitcast (i8** @"\01??_7C@@6BB@@@" to i32 (...)**), i32 (...)*** %6, align 8, !dbg !80
- %c = getelementptr inbounds %struct.C, %struct.C* %this1, i32 0, i32 2, !dbg !81
- store i32 0, i32* %c, align 8, !dbg !81
- ret %struct.C* %this1, !dbg !80
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !77, metadata !22), !dbg !79
+ %this1 = load ptr, ptr %this.addr, align 8
+ %0 = bitcast ptr %this1 to ptr, !dbg !80
+ %call = call ptr @"\01??0A@@QEAA at XZ"(ptr %0) #5, !dbg !80
+ %1 = bitcast ptr %this1 to ptr, !dbg !80
+ %2 = getelementptr inbounds i8, ptr %1, i64 16, !dbg !80
+ %3 = bitcast ptr %2 to ptr, !dbg !80
+ %call2 = call ptr @"\01??0B@@QEAA at XZ"(ptr %3) #5, !dbg !80
+ %4 = bitcast ptr %this1 to ptr, !dbg !80
+ store ptr @"\01??_7C@@6BA@@@", ptr %4, align 8, !dbg !80
+ %5 = bitcast ptr %this1 to ptr, !dbg !80
+ %add.ptr = getelementptr inbounds i8, ptr %5, i64 16, !dbg !80
+ %6 = bitcast ptr %add.ptr to ptr, !dbg !80
+ store ptr @"\01??_7C@@6BB@@@", ptr %6, align 8, !dbg !80
+ %c = getelementptr inbounds %struct.C, ptr %this1, i32 0, i32 2, !dbg !81
+ store i32 0, ptr %c, align 8, !dbg !81
+ ret ptr %this1, !dbg !80
}
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.D* @"\01??0D@@QEAA at XZ"(%struct.D* returned %this) unnamed_addr #2 comdat align 2 !dbg !82 {
+define linkonce_odr ptr @"\01??0D@@QEAA at XZ"(ptr returned %this) unnamed_addr #2 comdat align 2 !dbg !82 {
entry:
- %this.addr = alloca %struct.D*, align 8
- store %struct.D* %this, %struct.D** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.D** %this.addr, metadata !84, metadata !22), !dbg !86
- %this1 = load %struct.D*, %struct.D** %this.addr, align 8
- %0 = bitcast %struct.D* %this1 to %struct.C*, !dbg !87
- %call = call %struct.C* @"\01??0C@@QEAA at XZ"(%struct.C* %0) #5, !dbg !87
- %1 = bitcast %struct.D* %this1 to i32 (...)***, !dbg !87
- store i32 (...)** bitcast (i8** @"\01??_7D@@6BA@@@" to i32 (...)**), i32 (...)*** %1, align 8, !dbg !87
- %2 = bitcast %struct.D* %this1 to i8*, !dbg !87
- %add.ptr = getelementptr inbounds i8, i8* %2, i64 16, !dbg !87
- %3 = bitcast i8* %add.ptr to i32 (...)***, !dbg !87
- store i32 (...)** bitcast (i8** @"\01??_7D@@6BB@@@" to i32 (...)**), i32 (...)*** %3, align 8, !dbg !87
- %d = getelementptr inbounds %struct.D, %struct.D* %this1, i32 0, i32 1, !dbg !88
- store i32 0, i32* %d, align 8, !dbg !88
- ret %struct.D* %this1, !dbg !87
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !84, metadata !22), !dbg !86
+ %this1 = load ptr, ptr %this.addr, align 8
+ %0 = bitcast ptr %this1 to ptr, !dbg !87
+ %call = call ptr @"\01??0C@@QEAA at XZ"(ptr %0) #5, !dbg !87
+ %1 = bitcast ptr %this1 to ptr, !dbg !87
+ store ptr @"\01??_7D@@6BA@@@", ptr %1, align 8, !dbg !87
+ %2 = bitcast ptr %this1 to ptr, !dbg !87
+ %add.ptr = getelementptr inbounds i8, ptr %2, i64 16, !dbg !87
+ %3 = bitcast ptr %add.ptr to ptr, !dbg !87
+ store ptr @"\01??_7D@@6BB@@@", ptr %3, align 8, !dbg !87
+ %d = getelementptr inbounds %struct.D, ptr %this1, i32 0, i32 1, !dbg !88
+ store i32 0, ptr %d, align 8, !dbg !88
+ ret ptr %this1, !dbg !87
}
-declare void @"\01?g at A@@UEAAXXZ"(%struct.A*) unnamed_addr #3
+declare void @"\01?g at A@@UEAAXXZ"(ptr) unnamed_addr #3
-declare void @"\01?g at B@@UEAAXXZ"(%struct.B*) unnamed_addr #3
+declare void @"\01?g at B@@UEAAXXZ"(ptr) unnamed_addr #3
-declare void @"\01?f at B@@UEAAXXZ"(%struct.B*) unnamed_addr #3
+declare void @"\01?f at B@@UEAAXXZ"(ptr) unnamed_addr #3
-declare void @"\01?g at C@@UEAAXXZ"(%struct.C*) unnamed_addr #3
+declare void @"\01?g at C@@UEAAXXZ"(ptr) unnamed_addr #3
; Function Attrs: uwtable
-define linkonce_odr void @"\01?g at C@@WBA at EAAXXZ"(%struct.C* %this) unnamed_addr #4 comdat align 2 !dbg !89 {
+define linkonce_odr void @"\01?g at C@@WBA at EAAXXZ"(ptr %this) unnamed_addr #4 comdat align 2 !dbg !89 {
entry:
- %this.addr = alloca %struct.C*, align 8
- store %struct.C* %this, %struct.C** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.C** %this.addr, metadata !91, metadata !22), !dbg !92
- %this1 = load %struct.C*, %struct.C** %this.addr, align 8, !dbg !93
- %0 = bitcast %struct.C* %this1 to i8*, !dbg !93
- %1 = getelementptr i8, i8* %0, i32 -16, !dbg !93
- %2 = bitcast i8* %1 to %struct.C*, !dbg !93
- tail call void @"\01?g at C@@UEAAXXZ"(%struct.C* %2), !dbg !93
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !91, metadata !22), !dbg !92
+ %this1 = load ptr, ptr %this.addr, align 8, !dbg !93
+ %0 = bitcast ptr %this1 to ptr, !dbg !93
+ %1 = getelementptr i8, ptr %0, i32 -16, !dbg !93
+ %2 = bitcast ptr %1 to ptr, !dbg !93
+ tail call void @"\01?g at C@@UEAAXXZ"(ptr %2), !dbg !93
ret void, !dbg !93
}
-declare void @"\01?f at C@@UEAAXXZ"(i8*) unnamed_addr #3
+declare void @"\01?f at C@@UEAAXXZ"(ptr) unnamed_addr #3
-declare void @"\01?g at D@@UEAAXXZ"(%struct.D*) unnamed_addr #3
+declare void @"\01?g at D@@UEAAXXZ"(ptr) unnamed_addr #3
; Function Attrs: uwtable
-define linkonce_odr void @"\01?g at D@@WBA at EAAXXZ"(%struct.D* %this) unnamed_addr #4 comdat align 2 !dbg !94 {
+define linkonce_odr void @"\01?g at D@@WBA at EAAXXZ"(ptr %this) unnamed_addr #4 comdat align 2 !dbg !94 {
entry:
- %this.addr = alloca %struct.D*, align 8
- store %struct.D* %this, %struct.D** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.D** %this.addr, metadata !95, metadata !22), !dbg !96
- %this1 = load %struct.D*, %struct.D** %this.addr, align 8, !dbg !97
- %0 = bitcast %struct.D* %this1 to i8*, !dbg !97
- %1 = getelementptr i8, i8* %0, i32 -16, !dbg !97
- %2 = bitcast i8* %1 to %struct.D*, !dbg !97
- tail call void @"\01?g at D@@UEAAXXZ"(%struct.D* %2), !dbg !97
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !95, metadata !22), !dbg !96
+ %this1 = load ptr, ptr %this.addr, align 8, !dbg !97
+ %0 = bitcast ptr %this1 to ptr, !dbg !97
+ %1 = getelementptr i8, ptr %0, i32 -16, !dbg !97
+ %2 = bitcast ptr %1 to ptr, !dbg !97
+ tail call void @"\01?g at D@@UEAAXXZ"(ptr %2), !dbg !97
ret void, !dbg !97
}
-declare void @"\01?f at D@@UEAAXXZ"(i8*) unnamed_addr #3
+declare void @"\01?f at D@@UEAAXXZ"(ptr) unnamed_addr #3
attributes #0 = { nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind readnone }
diff --git a/llvm/test/DebugInfo/COFF/virtual-methods.ll b/llvm/test/DebugInfo/COFF/virtual-methods.ll
index 9abd21b4b6f22a..8f069120c43d47 100644
--- a/llvm/test/DebugInfo/COFF/virtual-methods.ll
+++ b/llvm/test/DebugInfo/COFF/virtual-methods.ll
@@ -142,10 +142,10 @@ source_filename = "t.cpp"
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc19.0.23918"
-%struct.A = type { i32 (...)** }
-%struct.B = type { i32 (...)** }
+%struct.A = type { ptr }
+%struct.B = type { ptr }
%struct.C = type { %struct.A, %struct.B, i32 }
-%struct.D = type { i32*, i32, %struct.B }
+%struct.D = type { ptr, i32, %struct.B }
$"\01??0A@@QEAA at XZ" = comdat any
@@ -171,12 +171,12 @@ $"\01??_8D@@7B@" = comdat any
$"\01??_7D@@6B@" = comdat any
-@"\01??_7A@@6B@" = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (i32 (%struct.A*)* @"\01?f at A@@UEAAHXZ" to i8*)], comdat
-@"\01??_7B@@6B@" = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (i32 (%struct.B*)* @"\01?g at B@@UEAAHXZ" to i8*)], comdat
-@"\01??_7C@@6BA@@@" = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (i32 (%struct.A*)* @"\01?f at A@@UEAAHXZ" to i8*)], comdat
-@"\01??_7C@@6BB@@@" = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (i32 (i8*)* @"\01?g at C@@UEAAHXZ" to i8*)], comdat
+@"\01??_7A@@6B@" = linkonce_odr unnamed_addr constant [1 x ptr] [ptr @"\01?f at A@@UEAAHXZ"], comdat
+@"\01??_7B@@6B@" = linkonce_odr unnamed_addr constant [1 x ptr] [ptr @"\01?g at B@@UEAAHXZ"], comdat
+@"\01??_7C@@6BA@@@" = linkonce_odr unnamed_addr constant [1 x ptr] [ptr @"\01?f at A@@UEAAHXZ"], comdat
+@"\01??_7C@@6BB@@@" = linkonce_odr unnamed_addr constant [1 x ptr] [ptr @"\01?g at C@@UEAAHXZ"], comdat
@"\01??_8D@@7B@" = linkonce_odr unnamed_addr constant [2 x i32] [i32 0, i32 16], comdat
-@"\01??_7D@@6B@" = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (i32 (i8*)* @"\01?g at D@@UEAAHXZ" to i8*)], comdat
+@"\01??_7D@@6B@" = linkonce_odr unnamed_addr constant [1 x ptr] [ptr @"\01?g at D@@UEAAHXZ"], comdat
; Function Attrs: uwtable
define void @"\01?usetypes@@YAXXZ"() #0 !dbg !7 {
@@ -185,17 +185,17 @@ entry:
%b = alloca %struct.B, align 8
%c = alloca %struct.C, align 8
%d = alloca %struct.D, align 8
- call void @llvm.dbg.declare(metadata %struct.A* %a, metadata !10, metadata !23), !dbg !24
- %call = call %struct.A* @"\01??0A@@QEAA at XZ"(%struct.A* %a) #5, !dbg !24
- call void @llvm.dbg.declare(metadata %struct.B* %b, metadata !25, metadata !23), !dbg !33
- %call1 = call %struct.B* @"\01??0B@@QEAA at XZ"(%struct.B* %b) #5, !dbg !33
- call void @llvm.dbg.declare(metadata %struct.C* %c, metadata !34, metadata !23), !dbg !44
- %call2 = call %struct.C* @"\01??0C@@QEAA at XZ"(%struct.C* %c) #5, !dbg !44
- call void @llvm.dbg.declare(metadata %struct.D* %d, metadata !45, metadata !23), !dbg !55
- %call3 = call %struct.D* @"\01??0D@@QEAA at XZ"(%struct.D* %d, i32 1) #5, !dbg !55
- %0 = bitcast %struct.C* %c to i8*, !dbg !56
- %1 = getelementptr i8, i8* %0, i64 8, !dbg !56
- %call4 = call i32 @"\01?g at C@@UEAAHXZ"(i8* %1), !dbg !56
+ call void @llvm.dbg.declare(metadata ptr %a, metadata !10, metadata !23), !dbg !24
+ %call = call ptr @"\01??0A@@QEAA at XZ"(ptr %a) #5, !dbg !24
+ call void @llvm.dbg.declare(metadata ptr %b, metadata !25, metadata !23), !dbg !33
+ %call1 = call ptr @"\01??0B@@QEAA at XZ"(ptr %b) #5, !dbg !33
+ call void @llvm.dbg.declare(metadata ptr %c, metadata !34, metadata !23), !dbg !44
+ %call2 = call ptr @"\01??0C@@QEAA at XZ"(ptr %c) #5, !dbg !44
+ call void @llvm.dbg.declare(metadata ptr %d, metadata !45, metadata !23), !dbg !55
+ %call3 = call ptr @"\01??0D@@QEAA at XZ"(ptr %d, i32 1) #5, !dbg !55
+ %0 = bitcast ptr %c to ptr, !dbg !56
+ %1 = getelementptr i8, ptr %0, i64 8, !dbg !56
+ %call4 = call i32 @"\01?g at C@@UEAAHXZ"(ptr %1), !dbg !56
ret void, !dbg !57
}
@@ -203,128 +203,128 @@ entry:
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.A* @"\01??0A@@QEAA at XZ"(%struct.A* returned %this) unnamed_addr #2 comdat align 2 !dbg !58 {
+define linkonce_odr ptr @"\01??0A@@QEAA at XZ"(ptr returned %this) unnamed_addr #2 comdat align 2 !dbg !58 {
entry:
- %this.addr = alloca %struct.A*, align 8
- store %struct.A* %this, %struct.A** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.A** %this.addr, metadata !62, metadata !23), !dbg !64
- %this1 = load %struct.A*, %struct.A** %this.addr, align 8
- %0 = bitcast %struct.A* %this1 to i32 (...)***, !dbg !65
- store i32 (...)** bitcast ([1 x i8*]* @"\01??_7A@@6B@" to i32 (...)**), i32 (...)*** %0, align 8, !dbg !65
- ret %struct.A* %this1, !dbg !65
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !62, metadata !23), !dbg !64
+ %this1 = load ptr, ptr %this.addr, align 8
+ %0 = bitcast ptr %this1 to ptr, !dbg !65
+ store ptr @"\01??_7A@@6B@", ptr %0, align 8, !dbg !65
+ ret ptr %this1, !dbg !65
}
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.B* @"\01??0B@@QEAA at XZ"(%struct.B* returned %this) unnamed_addr #2 comdat align 2 !dbg !66 {
+define linkonce_odr ptr @"\01??0B@@QEAA at XZ"(ptr returned %this) unnamed_addr #2 comdat align 2 !dbg !66 {
entry:
- %this.addr = alloca %struct.B*, align 8
- store %struct.B* %this, %struct.B** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.B** %this.addr, metadata !70, metadata !23), !dbg !72
- %this1 = load %struct.B*, %struct.B** %this.addr, align 8
- %0 = bitcast %struct.B* %this1 to i32 (...)***, !dbg !73
- store i32 (...)** bitcast ([1 x i8*]* @"\01??_7B@@6B@" to i32 (...)**), i32 (...)*** %0, align 8, !dbg !73
- ret %struct.B* %this1, !dbg !73
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !70, metadata !23), !dbg !72
+ %this1 = load ptr, ptr %this.addr, align 8
+ %0 = bitcast ptr %this1 to ptr, !dbg !73
+ store ptr @"\01??_7B@@6B@", ptr %0, align 8, !dbg !73
+ ret ptr %this1, !dbg !73
}
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.C* @"\01??0C@@QEAA at XZ"(%struct.C* returned %this) unnamed_addr #2 comdat align 2 !dbg !74 {
+define linkonce_odr ptr @"\01??0C@@QEAA at XZ"(ptr returned %this) unnamed_addr #2 comdat align 2 !dbg !74 {
entry:
- %this.addr = alloca %struct.C*, align 8
- store %struct.C* %this, %struct.C** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.C** %this.addr, metadata !78, metadata !23), !dbg !80
- %this1 = load %struct.C*, %struct.C** %this.addr, align 8
- %0 = bitcast %struct.C* %this1 to %struct.A*, !dbg !81
- %call = call %struct.A* @"\01??0A@@QEAA at XZ"(%struct.A* %0) #5, !dbg !81
- %1 = bitcast %struct.C* %this1 to i8*, !dbg !81
- %2 = getelementptr inbounds i8, i8* %1, i64 8, !dbg !81
- %3 = bitcast i8* %2 to %struct.B*, !dbg !81
- %call2 = call %struct.B* @"\01??0B@@QEAA at XZ"(%struct.B* %3) #5, !dbg !81
- %4 = bitcast %struct.C* %this1 to i32 (...)***, !dbg !81
- store i32 (...)** bitcast ([1 x i8*]* @"\01??_7C@@6BA@@@" to i32 (...)**), i32 (...)*** %4, align 8, !dbg !81
- %5 = bitcast %struct.C* %this1 to i8*, !dbg !81
- %add.ptr = getelementptr inbounds i8, i8* %5, i64 8, !dbg !81
- %6 = bitcast i8* %add.ptr to i32 (...)***, !dbg !81
- store i32 (...)** bitcast ([1 x i8*]* @"\01??_7C@@6BB@@@" to i32 (...)**), i32 (...)*** %6, align 8, !dbg !81
- %c = getelementptr inbounds %struct.C, %struct.C* %this1, i32 0, i32 2, !dbg !82
- store i32 42, i32* %c, align 8, !dbg !82
- ret %struct.C* %this1, !dbg !81
+ %this.addr = alloca ptr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !78, metadata !23), !dbg !80
+ %this1 = load ptr, ptr %this.addr, align 8
+ %0 = bitcast ptr %this1 to ptr, !dbg !81
+ %call = call ptr @"\01??0A@@QEAA at XZ"(ptr %0) #5, !dbg !81
+ %1 = bitcast ptr %this1 to ptr, !dbg !81
+ %2 = getelementptr inbounds i8, ptr %1, i64 8, !dbg !81
+ %3 = bitcast ptr %2 to ptr, !dbg !81
+ %call2 = call ptr @"\01??0B@@QEAA at XZ"(ptr %3) #5, !dbg !81
+ %4 = bitcast ptr %this1 to ptr, !dbg !81
+ store ptr @"\01??_7C@@6BA@@@", ptr %4, align 8, !dbg !81
+ %5 = bitcast ptr %this1 to ptr, !dbg !81
+ %add.ptr = getelementptr inbounds i8, ptr %5, i64 8, !dbg !81
+ %6 = bitcast ptr %add.ptr to ptr, !dbg !81
+ store ptr @"\01??_7C@@6BB@@@", ptr %6, align 8, !dbg !81
+ %c = getelementptr inbounds %struct.C, ptr %this1, i32 0, i32 2, !dbg !82
+ store i32 42, ptr %c, align 8, !dbg !82
+ ret ptr %this1, !dbg !81
}
; Function Attrs: inlinehint nounwind uwtable
-define linkonce_odr %struct.D* @"\01??0D@@QEAA at XZ"(%struct.D* returned %this, i32 %is_most_derived) unnamed_addr #2 comdat align 2 !dbg !83 {
+define linkonce_odr ptr @"\01??0D@@QEAA at XZ"(ptr returned %this, i32 %is_most_derived) unnamed_addr #2 comdat align 2 !dbg !83 {
entry:
- %retval = alloca %struct.D*, align 8
+ %retval = alloca ptr, align 8
%is_most_derived.addr = alloca i32, align 4
- %this.addr = alloca %struct.D*, align 8
- store i32 %is_most_derived, i32* %is_most_derived.addr, align 4
- call void @llvm.dbg.declare(metadata i32* %is_most_derived.addr, metadata !87, metadata !23), !dbg !88
- store %struct.D* %this, %struct.D** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.D** %this.addr, metadata !89, metadata !23), !dbg !88
- %this1 = load %struct.D*, %struct.D** %this.addr, align 8
- store %struct.D* %this1, %struct.D** %retval, align 8
- %is_most_derived2 = load i32, i32* %is_most_derived.addr, align 4
+ %this.addr = alloca ptr, align 8
+ store i32 %is_most_derived, ptr %is_most_derived.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %is_most_derived.addr, metadata !87, metadata !23), !dbg !88
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !89, metadata !23), !dbg !88
+ %this1 = load ptr, ptr %this.addr, align 8
+ store ptr %this1, ptr %retval, align 8
+ %is_most_derived2 = load i32, ptr %is_most_derived.addr, align 4
%is_complete_object = icmp ne i32 %is_most_derived2, 0, !dbg !91
br i1 %is_complete_object, label %ctor.init_vbases, label %ctor.skip_vbases, !dbg !91
ctor.init_vbases: ; preds = %entry
- %this.int8 = bitcast %struct.D* %this1 to i8*, !dbg !91
- %0 = getelementptr inbounds i8, i8* %this.int8, i64 0, !dbg !91
- %vbptr.D = bitcast i8* %0 to i32**, !dbg !91
- store i32* getelementptr inbounds ([2 x i32], [2 x i32]* @"\01??_8D@@7B@", i32 0, i32 0), i32** %vbptr.D, align 8, !dbg !91
- %1 = bitcast %struct.D* %this1 to i8*, !dbg !91
- %2 = getelementptr inbounds i8, i8* %1, i64 16, !dbg !91
- %3 = bitcast i8* %2 to %struct.B*, !dbg !91
- %call = call %struct.B* @"\01??0B@@QEAA at XZ"(%struct.B* %3) #5, !dbg !91
+ %this.int8 = bitcast ptr %this1 to ptr, !dbg !91
+ %0 = getelementptr inbounds i8, ptr %this.int8, i64 0, !dbg !91
+ %vbptr.D = bitcast ptr %0 to ptr, !dbg !91
+ store ptr @"\01??_8D@@7B@", ptr %vbptr.D, align 8, !dbg !91
+ %1 = bitcast ptr %this1 to ptr, !dbg !91
+ %2 = getelementptr inbounds i8, ptr %1, i64 16, !dbg !91
+ %3 = bitcast ptr %2 to ptr, !dbg !91
+ %call = call ptr @"\01??0B@@QEAA at XZ"(ptr %3) #5, !dbg !91
br label %ctor.skip_vbases, !dbg !91
ctor.skip_vbases: ; preds = %ctor.init_vbases, %entry
- %4 = bitcast %struct.D* %this1 to i8*, !dbg !91
- %vbptr = getelementptr inbounds i8, i8* %4, i64 0, !dbg !91
- %5 = bitcast i8* %vbptr to i32**, !dbg !91
- %vbtable = load i32*, i32** %5, align 8, !dbg !91
- %6 = getelementptr inbounds i32, i32* %vbtable, i32 1, !dbg !91
- %vbase_offs = load i32, i32* %6, align 4, !dbg !91
+ %4 = bitcast ptr %this1 to ptr, !dbg !91
+ %vbptr = getelementptr inbounds i8, ptr %4, i64 0, !dbg !91
+ %5 = bitcast ptr %vbptr to ptr, !dbg !91
+ %vbtable = load ptr, ptr %5, align 8, !dbg !91
+ %6 = getelementptr inbounds i32, ptr %vbtable, i32 1, !dbg !91
+ %vbase_offs = load i32, ptr %6, align 4, !dbg !91
%7 = sext i32 %vbase_offs to i64, !dbg !91
%8 = add nsw i64 0, %7, !dbg !91
- %9 = bitcast %struct.D* %this1 to i8*, !dbg !91
- %add.ptr = getelementptr inbounds i8, i8* %9, i64 %8, !dbg !91
- %10 = bitcast i8* %add.ptr to i32 (...)***, !dbg !91
- store i32 (...)** bitcast ([1 x i8*]* @"\01??_7D@@6B@" to i32 (...)**), i32 (...)*** %10, align 8, !dbg !91
- %d = getelementptr inbounds %struct.D, %struct.D* %this1, i32 0, i32 1, !dbg !92
- store i32 13, i32* %d, align 8, !dbg !92
- %11 = load %struct.D*, %struct.D** %retval, align 8, !dbg !91
- ret %struct.D* %11, !dbg !91
+ %9 = bitcast ptr %this1 to ptr, !dbg !91
+ %add.ptr = getelementptr inbounds i8, ptr %9, i64 %8, !dbg !91
+ %10 = bitcast ptr %add.ptr to ptr, !dbg !91
+ store ptr @"\01??_7D@@6B@", ptr %10, align 8, !dbg !91
+ %d = getelementptr inbounds %struct.D, ptr %this1, i32 0, i32 1, !dbg !92
+ store i32 13, ptr %d, align 8, !dbg !92
+ %11 = load ptr, ptr %retval, align 8, !dbg !91
+ ret ptr %11, !dbg !91
}
; Function Attrs: nounwind uwtable
-define linkonce_odr i32 @"\01?g at C@@UEAAHXZ"(i8*) unnamed_addr #3 comdat align 2 !dbg !93 {
+define linkonce_odr i32 @"\01?g at C@@UEAAHXZ"(ptr) unnamed_addr #3 comdat align 2 !dbg !93 {
entry:
- %this.addr = alloca %struct.C*, align 8
- %1 = getelementptr inbounds i8, i8* %0, i32 -8
- %this = bitcast i8* %1 to %struct.C*
- store %struct.C* %this, %struct.C** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.C** %this.addr, metadata !94, metadata !23), !dbg !95
- %this1 = load %struct.C*, %struct.C** %this.addr, align 8
- %c = getelementptr inbounds %struct.C, %struct.C* %this1, i32 0, i32 2, !dbg !96
- %2 = load i32, i32* %c, align 8, !dbg !96
+ %this.addr = alloca ptr, align 8
+ %1 = getelementptr inbounds i8, ptr %0, i32 -8
+ %this = bitcast ptr %1 to ptr
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !94, metadata !23), !dbg !95
+ %this1 = load ptr, ptr %this.addr, align 8
+ %c = getelementptr inbounds %struct.C, ptr %this1, i32 0, i32 2, !dbg !96
+ %2 = load i32, ptr %c, align 8, !dbg !96
ret i32 %2, !dbg !97
}
-declare i32 @"\01?f at A@@UEAAHXZ"(%struct.A*) unnamed_addr #4
+declare i32 @"\01?f at A@@UEAAHXZ"(ptr) unnamed_addr #4
-declare i32 @"\01?g at B@@UEAAHXZ"(%struct.B*) unnamed_addr #4
+declare i32 @"\01?g at B@@UEAAHXZ"(ptr) unnamed_addr #4
; Function Attrs: nounwind uwtable
-define linkonce_odr i32 @"\01?g at D@@UEAAHXZ"(i8*) unnamed_addr #3 comdat align 2 !dbg !98 {
+define linkonce_odr i32 @"\01?g at D@@UEAAHXZ"(ptr) unnamed_addr #3 comdat align 2 !dbg !98 {
entry:
- %this.addr = alloca %struct.D*, align 8
- %1 = getelementptr inbounds i8, i8* %0, i32 -16
- %this = bitcast i8* %1 to %struct.D*
- store %struct.D* %this, %struct.D** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %struct.D** %this.addr, metadata !99, metadata !23), !dbg !100
- %this1 = load %struct.D*, %struct.D** %this.addr, align 8
- %d = getelementptr inbounds %struct.D, %struct.D* %this1, i32 0, i32 1, !dbg !101
- %2 = load i32, i32* %d, align 8, !dbg !101
+ %this.addr = alloca ptr, align 8
+ %1 = getelementptr inbounds i8, ptr %0, i32 -16
+ %this = bitcast ptr %1 to ptr
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !99, metadata !23), !dbg !100
+ %this1 = load ptr, ptr %this.addr, align 8
+ %d = getelementptr inbounds %struct.D, ptr %this1, i32 0, i32 1, !dbg !101
+ %2 = load i32, ptr %d, align 8, !dbg !101
ret i32 %2, !dbg !102
}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
index 5c92b1aa2b36fe..c78925f6a900f0 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
@@ -42,7 +42,7 @@ entry:
%arrayidx7.i = getelementptr inbounds %struct.v, ptr %g, i64 0, i32 0, i64 3, !dbg !42
call void @llvm.dbg.assign(metadata float 0.000000e+00, metadata !11, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32), metadata !39, metadata ptr %arrayidx7.i, metadata !DIExpression()), !dbg !24
%0 = bitcast ptr %arrayidx5.i to ptr, !dbg !43
- call void @llvm.memset.p0i8.i64(ptr align 4 %0, i8 0, i64 16, i1 false), !dbg !44, !DIAssignID !39
+ call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 16, i1 false), !dbg !44, !DIAssignID !39
;; -- Start modification
%arrayidx7 = getelementptr inbounds %struct.v, ptr %g, i64 0, i32 0, i64 3, !dbg !24
store float 0.000000e+00, ptr %arrayidx7, align 4, !dbg !24, !DIAssignID !49
@@ -55,7 +55,7 @@ entry:
declare !dbg !64 dso_local void @_Z3escP1v(ptr) local_unnamed_addr
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4, !5, !1000}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
index c7420dfa31775c..b1f1e242ce038e 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
@@ -57,15 +57,15 @@ entry:
%arraydecay = getelementptr inbounds [80 x i8], ptr %local, i64 0, i64 0, !dbg !19
%offset_4_bytes = getelementptr inbounds [80 x i8], ptr %local, i64 0, i64 4, !dbg !21
%offset_8_bytes = getelementptr inbounds [80 x i8], ptr %local, i64 0, i64 8, !dbg !21
- call void @llvm.memset.p0i8.i64(ptr noundef nonnull align 16 dereferenceable(24) %offset_8_bytes, i8 0, i64 72, i1 false), !dbg !19, !DIAssignID !20
+ call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %offset_8_bytes, i8 0, i64 72, i1 false), !dbg !19, !DIAssignID !20
call void @llvm.dbg.assign(metadata i8 0, metadata !11, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 96), metadata !20, metadata ptr %offset_4_bytes, metadata !DIExpression(DW_OP_plus_uconst, 4)), !dbg !17
%offset_16_bytes = getelementptr inbounds [80 x i8], ptr %local, i64 0, i64 4, !dbg !21
- call void @llvm.memset.p0i8.i64(ptr noundef nonnull align 16 dereferenceable(40) %offset_16_bytes, i8 8, i64 64, i1 false), !dbg !22, !DIAssignID !23
+ call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %offset_16_bytes, i8 8, i64 64, i1 false), !dbg !22, !DIAssignID !23
call void @_Z3escPi(ptr noundef nonnull %arraydecay), !dbg !24
ret void, !dbg !25
}
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
declare !dbg !26 dso_local void @_Z3escPi(ptr noundef) local_unnamed_addr
define dso_local void @_Z12shortenStartv() local_unnamed_addr #0 !dbg !31 {
@@ -73,9 +73,9 @@ entry:
%local2 = alloca [40 x i8], align 16, !DIAssignID !37
call void @llvm.dbg.assign(metadata i1 undef, metadata !33, metadata !DIExpression(), metadata !37, metadata ptr %local2, metadata !DIExpression()), !dbg !38
%arraydecay = getelementptr inbounds [40 x i8], ptr %local2, i64 0, i64 0, !dbg !40
- call void @llvm.memset.p0i8.i64(ptr noundef nonnull align 16 dereferenceable(40) %local2, i8 0, i64 36, i1 false), !dbg !40, !DIAssignID !41
+ call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %local2, i8 0, i64 36, i1 false), !dbg !40, !DIAssignID !41
call void @llvm.dbg.assign(metadata i8 0, metadata !33, metadata !DIExpression(), metadata !41, metadata ptr %local2, metadata !DIExpression()), !dbg !38
- call void @llvm.memset.p0i8.i64(ptr noundef nonnull align 16 dereferenceable(16) %local2, i8 8, i64 16, i1 false), !dbg !42, !DIAssignID !43
+ call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %local2, i8 8, i64 16, i1 false), !dbg !42, !DIAssignID !43
call void @_Z3escPi(ptr noundef nonnull %arraydecay), !dbg !44
ret void, !dbg !45
}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
index a2cf5923d680f9..9ba999b96723b4 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
@@ -43,35 +43,35 @@ define dso_local void @_Z10shortenEndv() local_unnamed_addr #0 !dbg !7 {
entry:
%local = alloca [20 x i32], align 16, !DIAssignID !16
call void @llvm.dbg.assign(metadata i1 undef, metadata !11, metadata !DIExpression(), metadata !16, metadata ptr %local, metadata !DIExpression()), !dbg !17
- call void @llvm.lifetime.start.p0i8(i64 80, ptr nonnull %local) #5, !dbg !18
+ call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %local) #5, !dbg !18
%arraydecay = getelementptr inbounds [20 x i32], ptr %local, i64 0, i64 0, !dbg !19
- call void @llvm.memset.p0i8.i64(ptr noundef nonnull align 16 dereferenceable(24) %local, i8 0, i64 24, i1 false), !dbg !19, !DIAssignID !20
+ call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %local, i8 0, i64 24, i1 false), !dbg !19, !DIAssignID !20
call void @llvm.dbg.assign(metadata i8 0, metadata !11, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 192), metadata !20, metadata ptr %local, metadata !DIExpression()), !dbg !17
%add.ptr = getelementptr inbounds [20 x i32], ptr %local, i64 0, i64 4, !dbg !21
- call void @llvm.memset.p0i8.i64(ptr noundef nonnull align 16 dereferenceable(40) %add.ptr, i8 8, i64 40, i1 false), !dbg !22, !DIAssignID !23
+ call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %add.ptr, i8 8, i64 40, i1 false), !dbg !22, !DIAssignID !23
call void @llvm.dbg.assign(metadata i1 undef, metadata !11, metadata !DIExpression(DW_OP_LLVM_fragment, 128, 320), metadata !23, metadata ptr %add.ptr, metadata !DIExpression()), !dbg !17
call void @_Z3escPi(ptr noundef nonnull %arraydecay), !dbg !24
- call void @llvm.lifetime.end.p0i8(i64 80, ptr nonnull %local) #5, !dbg !25
+ call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %local) #5, !dbg !25
ret void, !dbg !25
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
declare !dbg !26 dso_local void @_Z3escPi(ptr noundef) local_unnamed_addr
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
define dso_local void @_Z12shortenStartv() local_unnamed_addr #0 !dbg !31 {
entry:
%local2 = alloca [10 x i32], align 16, !DIAssignID !37
call void @llvm.dbg.assign(metadata i1 undef, metadata !33, metadata !DIExpression(), metadata !37, metadata ptr %local2, metadata !DIExpression()), !dbg !38
- call void @llvm.lifetime.start.p0i8(i64 40, ptr nonnull %local2) #5, !dbg !39
+ call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %local2) #5, !dbg !39
%arraydecay = getelementptr inbounds [10 x i32], ptr %local2, i64 0, i64 0, !dbg !40
- call void @llvm.memset.p0i8.i64(ptr noundef nonnull align 16 dereferenceable(40) %local2, i8 0, i64 40, i1 false), !dbg !40, !DIAssignID !41
+ call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %local2, i8 0, i64 40, i1 false), !dbg !40, !DIAssignID !41
call void @llvm.dbg.assign(metadata i8 0, metadata !33, metadata !DIExpression(), metadata !41, metadata ptr %local2, metadata !DIExpression()), !dbg !38
- call void @llvm.memset.p0i8.i64(ptr noundef nonnull align 16 dereferenceable(16) %local2, i8 8, i64 16, i1 false), !dbg !42, !DIAssignID !43
+ call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %local2, i8 8, i64 16, i1 false), !dbg !42, !DIAssignID !43
call void @llvm.dbg.assign(metadata i1 undef, metadata !33, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 128), metadata !43, metadata ptr %local2, metadata !DIExpression()), !dbg !38
call void @_Z3escPi(ptr noundef nonnull %arraydecay), !dbg !44
- call void @llvm.lifetime.end.p0i8(i64 40, ptr nonnull %local2) #5, !dbg !45
+ call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %local2) #5, !dbg !45
ret void, !dbg !45
}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
index 7260ec54360d14..3c684e1d1b8961 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
@@ -32,18 +32,18 @@ entry:
%val = alloca i32, align 4, !DIAssignID !13
call void @llvm.dbg.assign(metadata i1 undef, metadata !12, metadata !DIExpression(), metadata !13, metadata ptr %val, metadata !DIExpression()), !dbg !14
%0 = bitcast ptr %val to ptr, !dbg !15
- call void @llvm.lifetime.start.p0i8(i64 4, ptr %0), !dbg !15
+ call void @llvm.lifetime.start.p0(i64 4, ptr %0), !dbg !15
store i32 5, ptr %val, align 4, !dbg !16, !DIAssignID !21
call void @llvm.dbg.assign(metadata i32 5, metadata !12, metadata !DIExpression(), metadata !21, metadata ptr %val, metadata !DIExpression()), !dbg !14
%1 = load i32, ptr %val, align 4, !dbg !22
%2 = bitcast ptr %val to ptr, !dbg !23
- call void @llvm.lifetime.end.p0i8(i64 4, ptr %2), !dbg !23
+ call void @llvm.lifetime.end.p0(i64 4, ptr %2), !dbg !23
ret i32 %1, !dbg !24
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.declare(metadata, metadata, metadata)
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
; Function Attrs: nounwind uwtable mustprogress
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll
index 1b004011af839e..25f9db7dcc4315 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll
@@ -90,11 +90,11 @@ entry:
%f1_local = alloca i32, align 4, !DIAssignID !42
call void @llvm.dbg.assign(metadata i1 undef, metadata !41, metadata !DIExpression(), metadata !42, metadata ptr %f1_local, metadata !DIExpression()), !dbg !43
%0 = bitcast ptr %f1_local to ptr, !dbg !44
- call void @llvm.lifetime.start.p0i8(i64 4, ptr %0) #5, !dbg !44
+ call void @llvm.lifetime.start.p0(i64 4, ptr %0) #5, !dbg !44
call void @_ZL1aPii(ptr %f1_local, i32 1), !dbg !45
%1 = load i32, ptr %f1_local, align 4, !dbg !46
%2 = bitcast ptr %f1_local to ptr, !dbg !47
- call void @llvm.lifetime.end.p0i8(i64 4, ptr %2) #5, !dbg !47
+ call void @llvm.lifetime.end.p0(i64 4, ptr %2) #5, !dbg !47
ret i32 %1, !dbg !48
}
@@ -113,13 +113,13 @@ entry:
%f2_local = alloca [2 x i32], align 4, !DIAssignID !55
call void @llvm.dbg.assign(metadata i1 undef, metadata !51, metadata !DIExpression(), metadata !55, metadata ptr %f2_local, metadata !DIExpression()), !dbg !56
%0 = bitcast ptr %f2_local to ptr, !dbg !57
- call void @llvm.lifetime.start.p0i8(i64 8, ptr %0) #5, !dbg !57
+ call void @llvm.lifetime.start.p0(i64 8, ptr %0) #5, !dbg !57
%arraydecay = getelementptr inbounds [2 x i32], ptr %f2_local, i64 0, i64 0, !dbg !58
call void @_ZL1aPii(ptr %arraydecay, i32 2), !dbg !59
%arrayidx = getelementptr inbounds [2 x i32], ptr %f2_local, i64 0, i64 0, !dbg !60
%1 = load i32, ptr %arrayidx, align 4, !dbg !60
%2 = bitcast ptr %f2_local to ptr, !dbg !61
- call void @llvm.lifetime.end.p0i8(i64 8, ptr %2) #5, !dbg !61
+ call void @llvm.lifetime.end.p0(i64 8, ptr %2) #5, !dbg !61
ret i32 %1, !dbg !62
}
@@ -137,14 +137,14 @@ entry:
%f3_local = alloca [2 x i32], align 4, !DIAssignID !66
call void @llvm.dbg.assign(metadata i1 undef, metadata !65, metadata !DIExpression(), metadata !66, metadata ptr %f3_local, metadata !DIExpression()), !dbg !67
%0 = bitcast ptr %f3_local to ptr, !dbg !68
- call void @llvm.lifetime.start.p0i8(i64 8, ptr %0) #5, !dbg !68
+ call void @llvm.lifetime.start.p0(i64 8, ptr %0) #5, !dbg !68
%arraydecay = getelementptr inbounds [2 x i32], ptr %f3_local, i64 0, i64 0, !dbg !69
%add.ptr = getelementptr inbounds i32, ptr %arraydecay, i64 1, !dbg !70
call void @_ZL1aPii(ptr %add.ptr, i32 3), !dbg !71
%arrayidx = getelementptr inbounds [2 x i32], ptr %f3_local, i64 0, i64 1, !dbg !72
%1 = load i32, ptr %arrayidx, align 4, !dbg !72
%2 = bitcast ptr %f3_local to ptr, !dbg !73
- call void @llvm.lifetime.end.p0i8(i64 8, ptr %2) #5, !dbg !73
+ call void @llvm.lifetime.end.p0(i64 8, ptr %2) #5, !dbg !73
ret i32 %1, !dbg !74
}
@@ -202,16 +202,16 @@ entry:
%f6_local = alloca i32, align 4, !DIAssignID !102
call void @llvm.dbg.assign(metadata i1 undef, metadata !101, metadata !DIExpression(), metadata !102, metadata ptr %f6_local, metadata !DIExpression()), !dbg !103
%0 = bitcast ptr %f6_local to ptr, !dbg !104
- call void @llvm.lifetime.start.p0i8(i64 4, ptr %0) #5, !dbg !104
+ call void @llvm.lifetime.start.p0(i64 4, ptr %0) #5, !dbg !104
call void @_Z1bPii(ptr %f6_local, i32 6), !dbg !105
%1 = load i32, ptr %f6_local, align 4, !dbg !106
%2 = bitcast ptr %f6_local to ptr, !dbg !107
- call void @llvm.lifetime.end.p0i8(i64 4, ptr %2) #5, !dbg !107
+ call void @llvm.lifetime.end.p0(i64 4, ptr %2) #5, !dbg !107
ret i32 %1, !dbg !108
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
; CHECK-DAG: ![[f1_local]] = !DILocalVariable(name: "f1_local",
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll
index 3e343ceb3d1bd3..020f8aba0144c9 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll
@@ -26,22 +26,22 @@ entry:
%local = alloca [5 x i32], align 16, !DIAssignID !16
call void @llvm.dbg.assign(metadata i1 undef, metadata !11, metadata !DIExpression(), metadata !16, metadata ptr %local, metadata !DIExpression()), !dbg !17
%0 = bitcast ptr %local to ptr, !dbg !18
- call void @llvm.lifetime.start.p0i8(i64 20, ptr %0) #5, !dbg !18
+ call void @llvm.lifetime.start.p0(i64 20, ptr %0) #5, !dbg !18
%arraydecay = getelementptr inbounds [5 x i32], ptr %local, i64 0, i64 0, !dbg !19
%1 = bitcast ptr %arraydecay to ptr, !dbg !19
- call void @llvm.memset.p0i8.i64(ptr align 16 %1, i8 8, i64 16, i1 false), !dbg !19, !DIAssignID !20
+ call void @llvm.memset.p0.i64(ptr align 16 %1, i8 8, i64 16, i1 false), !dbg !19, !DIAssignID !20
call void @llvm.dbg.assign(metadata i8 8, metadata !11, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 128), metadata !20, metadata ptr %1, metadata !DIExpression()), !dbg !17
- call void @llvm.memset.p0i8.i64(ptr align 16 %1, i8 0, i64 8, i1 false), !dbg !21, !DIAssignID !22
+ call void @llvm.memset.p0.i64(ptr align 16 %1, i8 0, i64 8, i1 false), !dbg !21, !DIAssignID !22
call void @llvm.dbg.assign(metadata i8 0, metadata !11, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64), metadata !22, metadata ptr %1, metadata !DIExpression()), !dbg !17
call void @_Z3escPi(ptr noundef %arraydecay), !dbg !23
- call void @llvm.lifetime.end.p0i8(i64 20, ptr %0) #5, !dbg !24
+ call void @llvm.lifetime.end.p0(i64 20, ptr %0) #5, !dbg !24
ret void, !dbg !24
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
declare !dbg !25 dso_local void @_Z3escPi(ptr noundef) local_unnamed_addr
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!0}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll
index 668e9567e4fe4f..6ee567421b0cb8 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll
@@ -38,7 +38,7 @@ define dso_local void @_Z3funv() local_unnamed_addr !dbg !11 {
entry:
%local = alloca i32, align 4
%0 = bitcast ptr %local to ptr, !dbg !16
- call void @llvm.lifetime.start.p0i8(i64 4, ptr %0), !dbg !16
+ call void @llvm.lifetime.start.p0(i64 4, ptr %0), !dbg !16
%1 = load i32, ptr @c, align 4, !dbg !17
%tobool = icmp ne i32 %1, 0, !dbg !17
br i1 %tobool, label %if.then, label %if.else, !dbg !23
@@ -56,14 +56,14 @@ if.else: ; preds = %entry
if.end: ; preds = %if.else, %if.then
call void @_Z3escPi(ptr %local), !dbg !32
- call void @llvm.lifetime.end.p0i8(i64 4, ptr %0), !dbg !33
+ call void @llvm.lifetime.end.p0(i64 4, ptr %0), !dbg !33
ret void, !dbg !33
}
declare !dbg !34 dso_local i32 @_Z3getv() local_unnamed_addr
declare !dbg !37 dso_local void @_Z3escPi(ptr) local_unnamed_addr
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll
index f233e9ff704bb2..0da61f8b4c6aaa 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll
@@ -65,7 +65,7 @@ entry:
%i = alloca %struct.a, align 8, !DIAssignID !40
call void @llvm.dbg.assign(metadata i1 undef, metadata !39, metadata !DIExpression(), metadata !40, metadata ptr %i, metadata !DIExpression()), !dbg !41
%0 = bitcast ptr %i to ptr, !dbg !42
- call void @llvm.lifetime.start.p0i8(i64 8, ptr nonnull %0) #5, !dbg !42
+ call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %0) #5, !dbg !42
%b = getelementptr inbounds %struct.a, ptr %i, i64 0, i32 0, !dbg !43
call void @llvm.dbg.assign(metadata ptr null, metadata !39, metadata !DIExpression(), metadata !44, metadata ptr %b, metadata !DIExpression()), !dbg !41
%call.i = tail call i32 (...) @e() #5, !dbg !45
@@ -80,13 +80,13 @@ f.exit: ; preds = %entry
store ptr null, ptr %b, align 8, !dbg !49, !DIAssignID !53
call void @llvm.dbg.assign(metadata ptr null, metadata !39, metadata !DIExpression(), metadata !53, metadata ptr %b, metadata !DIExpression()), !dbg !41
call void @g(ptr nonnull %i) #5, !dbg !54
- call void @llvm.lifetime.end.p0i8(i64 8, ptr nonnull %0) #5, !dbg !55
+ call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %0) #5, !dbg !55
ret void, !dbg !55
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #3
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #3
declare dso_local void @g(...) local_unnamed_addr #1
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #3
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #3
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #4
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll
index c0ef6750d785f3..41eef16ce2c350 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll
@@ -95,7 +95,7 @@ entry:
%p = alloca %class.a, align 4, !DIAssignID !49
call void @llvm.dbg.assign(metadata i1 undef, metadata !48, metadata !DIExpression(), metadata !49, metadata ptr %p, metadata !DIExpression()), !dbg !50
%0 = bitcast ptr %p to ptr, !dbg !51
- call void @llvm.lifetime.start.p0i8(i64 4, ptr nonnull %0) #4, !dbg !51
+ call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %0) #4, !dbg !51
%n = getelementptr inbounds %class.j, ptr %this, i64 0, i32 3
%l = getelementptr inbounds %class.j, ptr %this, i64 0, i32 1
%ref.tmp.sroa.0.0..sroa_idx = getelementptr inbounds %class.a, ptr %p, i64 0, i32 0
@@ -159,19 +159,19 @@ if.else.2: ; preds = %for.inc.1
for.inc.2: ; preds = %if.else.2, %if.then.2
%k = getelementptr inbounds %class.j, ptr %this, i64 0, i32 0, !dbg !77
call void @_ZN1g1hER1a(ptr %k, ptr nonnull align 4 dereferenceable(4) %p), !dbg !78
- call void @llvm.lifetime.end.p0i8(i64 4, ptr nonnull %0) #4, !dbg !79
+ call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %0) #4, !dbg !79
ret void, !dbg !79
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare dso_local nonnull align 1 dereferenceable(1) ptr @_ZN1e1fEv(ptr) local_unnamed_addr #2
declare dso_local float @_ZN1c1dEv(ptr) local_unnamed_addr #2
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare dso_local void @_ZN1g1hER1a(ptr, ptr nonnull align 4 dereferenceable(4)) local_unnamed_addr #2
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll
index 5684f4d42a8a5e..29fbd164374f62 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll
@@ -72,7 +72,7 @@ entry:
call void @llvm.dbg.assign(metadata i1 undef, metadata !35, metadata !DIExpression(), metadata !37, metadata ptr undef, metadata !DIExpression()), !dbg !38
%a = alloca i32, align 4, !DIAssignID !39
call void @llvm.dbg.assign(metadata i1 undef, metadata !36, metadata !DIExpression(), metadata !39, metadata ptr %a, metadata !DIExpression()), !dbg !38
- call void @llvm.lifetime.start.p0i8(i64 4, ptr nonnull %a) #5, !dbg !40
+ call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %a) #5, !dbg !40
br label %for.cond.outer, !dbg !41
for.cond.outer: ; preds = %if.end3, %entry
@@ -108,7 +108,7 @@ if.end3: ; preds = %if.end3.loopexit, %
}
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #1
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #3
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #3
declare !dbg !64 dso_local void @e(...) local_unnamed_addr #4
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll
index afd5b183705358..078d7b97b2a971 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll
@@ -40,9 +40,9 @@ for.end: ; preds = %for.cond
ret void, !dbg !28
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
declare !dbg !29 dso_local void @_Z3escPi(ptr noundef) local_unnamed_addr
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!0}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll
index b62f1966d961e5..8738e5db3acc14 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll
@@ -38,7 +38,7 @@ define dso_local void @_Z1fv() local_unnamed_addr #0 !dbg !7 {
entry:
%g = alloca %struct.v, align 4, !DIAssignID !23
call void @llvm.dbg.assign(metadata i1 undef, metadata !11, metadata !DIExpression(), metadata !23, metadata ptr %g, metadata !DIExpression()), !dbg !24
- call void @llvm.lifetime.start.p0i8(i64 16, ptr nonnull %g) #5, !dbg !25
+ call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %g) #5, !dbg !25
call void @llvm.dbg.assign(metadata i1 undef, metadata !26, metadata !DIExpression(), metadata !31, metadata ptr undef, metadata !DIExpression()), !dbg !32
call void @llvm.dbg.assign(metadata i1 undef, metadata !29, metadata !DIExpression(), metadata !34, metadata ptr undef, metadata !DIExpression()), !dbg !32
call void @llvm.dbg.assign(metadata ptr %g, metadata !26, metadata !DIExpression(), metadata !35, metadata ptr undef, metadata !DIExpression()), !dbg !32
@@ -56,12 +56,12 @@ entry:
store float 0.000000e+00, ptr %arrayidx7.i, align 4, !dbg !52, !DIAssignID !53
call void @llvm.dbg.assign(metadata float 0.000000e+00, metadata !11, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32), metadata !53, metadata ptr %arrayidx7.i, metadata !DIExpression()), !dbg !24
call void @_Z3escP1v(ptr nonnull %g), !dbg !54
- call void @llvm.lifetime.end.p0i8(i64 16, ptr nonnull %g) #5, !dbg !55
+ call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %g) #5, !dbg !55
ret void, !dbg !55
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN1vC2Ef(ptr %this, float %d) unnamed_addr #2 comdat align 2 !dbg !27 {
@@ -82,7 +82,7 @@ entry:
}
declare !dbg !70 dso_local void @_Z3escP1v(ptr) local_unnamed_addr
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!0}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll
index 395c5b581c84c2..861241b8552af6 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll
@@ -35,8 +35,8 @@ define dso_local void @_Z3funv() !dbg !11 {
entry:
%a = alloca [4 x i32], align 16, !DIAssignID !19
call void @llvm.dbg.assign(metadata i1 undef, metadata !15, metadata !DIExpression(), metadata !19, metadata ptr %a, metadata !DIExpression()), !dbg !20
- call void @llvm.lifetime.start.p0i8(i64 16, ptr nonnull %a) #4, !dbg !21
- %0 = load i32, i32* @cond, align 4, !dbg !22
+ call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %a) #4, !dbg !21
+ %0 = load i32, ptr @cond, align 4, !dbg !22
%tobool.not = icmp eq i32 %0, 0, !dbg !22
br i1 %tobool.not, label %if.else, label %if.then, !dbg !28
@@ -55,13 +55,13 @@ if.else: ; preds = %entry
if.end: ; preds = %if.else, %if.then
%arraydecay = getelementptr inbounds [4 x i32], ptr %a, i64 0, i64 0, !dbg !35
call void @_Z3escPi(ptr noundef nonnull %arraydecay), !dbg !36
- call void @llvm.lifetime.end.p0i8(i64 16, ptr nonnull %a) #4, !dbg !37
+ call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %a) #4, !dbg !37
ret void, !dbg !37
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture)
-declare !dbg !38 dso_local void @_Z3escPi(i32* noundef)
-declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
+declare !dbg !38 dso_local void @_Z3escPi(ptr noundef)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
index d2cc9d9180fc4f..d472ac7e9cb669 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
@@ -63,26 +63,26 @@ define dso_local void @g() local_unnamed_addr #0 !dbg !12 {
entry:
%a = alloca %struct.e, align 8, !DIAssignID !29
call void @llvm.dbg.assign(metadata i1 undef, metadata !16, metadata !DIExpression(), metadata !29, metadata ptr %a, metadata !DIExpression()), !dbg !30
- call void @llvm.lifetime.start.p0i8(i64 16, ptr nonnull %a) #5, !dbg !31
+ call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %a) #5, !dbg !31
%b = getelementptr inbounds %struct.e, ptr %a, i64 0, i32 0, i32 1, !dbg !32
call void @llvm.dbg.assign(metadata ptr null, metadata !16, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64), metadata !33, metadata ptr %b, metadata !DIExpression()), !dbg !30
call void @llvm.dbg.assign(metadata ptr null, metadata !16, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64), metadata !34, metadata ptr undef, metadata !DIExpression()), !dbg !30
%a2 = getelementptr inbounds %struct.e, ptr %a, i64 0, i32 0, i32 0, !dbg !35
call void @llvm.dbg.assign(metadata ptr null, metadata !16, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64), metadata !33, metadata ptr %a2, metadata !DIExpression()), !dbg !30
- call void @llvm.memset.p0i8.i64(ptr align 8 %a2, i8 0, i64 8, i1 false), !dbg !35, !DIAssignID !33
+ call void @llvm.memset.p0.i64(ptr align 8 %a2, i8 0, i64 8, i1 false), !dbg !35, !DIAssignID !33
tail call void (...) @ext() #5, !dbg !36
store ptr @d, ptr %b, align 8, !dbg !37, !DIAssignID !44
call void @llvm.dbg.assign(metadata ptr @d, metadata !16, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64), metadata !44, metadata ptr %b, metadata !DIExpression()), !dbg !30
- call void @llvm.lifetime.end.p0i8(i64 16, ptr nonnull %a) #5, !dbg !46
+ call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %a) #5, !dbg !46
ret void, !dbg !46
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare !dbg !47 dso_local void @ext(...) local_unnamed_addr #2
declare dso_local void @f(...) local_unnamed_addr #2
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #3
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #4
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #4
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!6, !7, !8, !9, !10, !1000}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll
index 338625eb27f76e..304d873ba7b7f5 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll
@@ -54,7 +54,7 @@ entry:
%h = alloca float, align 4, !DIAssignID !32
call void @llvm.dbg.assign(metadata i1 undef, metadata !31, metadata !DIExpression(), metadata !32, metadata ptr %h, metadata !DIExpression()), !dbg !33
%0 = bitcast ptr %h to ptr, !dbg !34
- call void @llvm.lifetime.start.p0i8(i64 4, ptr nonnull %0) #4, !dbg !34
+ call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %0) #4, !dbg !34
call void @_Zml1aRf(ptr nonnull align 4 dereferenceable(4) %h), !dbg !35
%1 = load float, ptr %h, align 4, !dbg !36
%tobool = fcmp une float %1, 0.000000e+00, !dbg !36
@@ -72,13 +72,13 @@ if.end: ; preds = %if.else, %if.then
%storemerge.in = getelementptr inbounds %class.e, ptr %this, i64 0, i32 1, !dbg !45
%storemerge = load float, ptr %storemerge.in, align 4, !dbg !45
store float %storemerge, ptr %h, align 4, !dbg !45, !DIAssignID !43
- call void @llvm.lifetime.end.p0i8(i64 4, ptr nonnull %0) #4, !dbg !48
+ call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %0) #4, !dbg !48
ret void, !dbg !48
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare !dbg !49 dso_local void @_Zml1aRf(ptr nonnull align 4 dereferenceable(4)) local_unnamed_addr #2
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #3
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll
index 7b1a80540c48a6..6e46b022649248 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll
@@ -34,7 +34,7 @@ define dso_local void @b() !dbg !11 {
entry:
%c = alloca i32, align 4
%0 = bitcast ptr %c to ptr, !dbg !16
- call void @llvm.lifetime.start.p0i8(i64 4, ptr %0), !dbg !16
+ call void @llvm.lifetime.start.p0(i64 4, ptr %0), !dbg !16
store i32 0, ptr %c, align 4, !dbg !17, !DIAssignID !36
call void @llvm.dbg.assign(metadata i32 0, metadata !15, metadata !DIExpression(), metadata !36, metadata ptr %c, metadata !DIExpression()), !dbg !17
%1 = load i32, ptr @a, align 4, !dbg !22
@@ -48,13 +48,13 @@ if.then: ; preds = %entry
if.end: ; preds = %if.then, %entry
%2 = bitcast ptr %c to ptr, !dbg !27
- call void @llvm.lifetime.end.p0i8(i64 4, ptr %2), !dbg !27
+ call void @llvm.lifetime.end.p0(i64 4, ptr %2), !dbg !27
ret void, !dbg !27
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!7, !8, !9, !1000}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
index ab1e1e966139b6..4c47ecce1a0a38 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
@@ -66,10 +66,10 @@ entry:
ret void, !dbg !62
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare !dbg !63 dso_local float @_Z3getv() local_unnamed_addr #2
declare !dbg !66 dso_local float @_Z3extPf(ptr) local_unnamed_addr #2
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #3
!llvm.dbg.cu = !{!0}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
index e386871699281e..b39337247e3659 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
@@ -42,8 +42,8 @@
@e = dso_local local_unnamed_addr global i32 0, align 4, !dbg !6
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #1
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #2
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #2
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #2
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #2
define dso_local void @l() local_unnamed_addr #4 !dbg !73 {
entry:
@@ -52,12 +52,12 @@ entry:
; deleted as redundant.
call void @llvm.dbg.assign(metadata i1 false, metadata !64, metadata !DIExpression(), metadata !74, metadata ptr %j.i, metadata !DIExpression()) #5, !dbg !75
%0 = bitcast ptr %j.i to ptr, !dbg !77
- call void @llvm.lifetime.start.p0i8(i64 4, ptr nonnull %0) #5, !dbg !77
+ call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %0) #5, !dbg !77
%arrayidx.i.i = getelementptr inbounds %struct.c, ptr %j.i, i64 0, i32 1, i64 0, !dbg !78
%1 = load i32, ptr %arrayidx.i.i, align 4, !dbg !78
store i32 1, ptr @f, align 4, !dbg !80
store i32 %1, ptr @e, align 4, !dbg !81
- call void @llvm.lifetime.end.p0i8(i64 4, ptr nonnull %0) #5, !dbg !82
+ call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %0) #5, !dbg !82
ret void, !dbg !83
}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
index d99bde32aa8ce9..deee04066fc2ba 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
@@ -32,20 +32,20 @@ entry:
%a = alloca %struct.a, align 1, !DIAssignID !23
call void @llvm.dbg.assign(metadata i1 undef, metadata !15, metadata !DIExpression(), metadata !23, metadata ptr %a, metadata !DIExpression()), !dbg !24
%0 = bitcast ptr %a to ptr, !dbg !25
- call void @llvm.lifetime.start.p0i8(i64 8, ptr %0), !dbg !25
+ call void @llvm.lifetime.start.p0(i64 8, ptr %0), !dbg !25
%b = getelementptr inbounds %struct.a, ptr %a, i32 0, i32 0, !dbg !26
%arraydecay = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 0, !dbg !27
%1 = load i32, ptr @c, align 4, !dbg !28
%conv = sext i32 %1 to i64, !dbg !28
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 1 %arraydecay, ptr align 1 null, i64 %conv, i1 false), !dbg !27
+ call void @llvm.memcpy.p0.p0.i64(ptr align 1 %arraydecay, ptr align 1 null, i64 %conv, i1 false), !dbg !27
%2 = bitcast ptr %a to ptr, !dbg !33
- call void @llvm.lifetime.end.p0i8(i64 8, ptr %2), !dbg !33
+ call void @llvm.lifetime.end.p0(i64 8, ptr %2), !dbg !33
ret void, !dbg !33
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture)
-declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg)
-declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
index ed4c6fa947ce03..38d4e3fb0d7f85 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
@@ -29,9 +29,9 @@ define dso_local arm_aapcscc void @f([2 x i64] %c.coerce) #0 !dbg !8 {
entry:
%c = alloca { double, double }, align 8, !DIAssignID !14
call void @llvm.dbg.assign(metadata i1 undef, metadata !13, metadata !DIExpression(), metadata !14, metadata ptr %c, metadata !DIExpression()), !dbg !15
- %0 = bitcast ptr %c to [2 x i64]*
- store [2 x i64] %c.coerce, [2 x i64]* %0, align 8, !DIAssignID !16
- call void @llvm.dbg.assign(metadata [2 x i64] %c.coerce, metadata !13, metadata !DIExpression(), metadata !16, metadata [2 x i64]* %0, metadata !DIExpression()), !dbg !15
+ %0 = bitcast ptr %c to ptr
+ store [2 x i64] %c.coerce, ptr %0, align 8, !DIAssignID !16
+ call void @llvm.dbg.assign(metadata [2 x i64] %c.coerce, metadata !13, metadata !DIExpression(), metadata !16, metadata ptr %0, metadata !DIExpression()), !dbg !15
; --- The rest of this function isn't useful for the test ---
;%c.realp = getelementptr inbounds { double, double }, ptr %c, i32 0, i32 0, !dbg !17
;%c.imagp = getelementptr inbounds { double, double }, ptr %c, i32 0, i32 1, !dbg !17
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll
index 5016bd4dd1f037..0ac5335f51fec0 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll
@@ -72,7 +72,7 @@ entry:
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN1BC2E1a(ptr %this, <2 x float> %d.coerce0, <2 x float> %d.coerce1) unnamed_addr #2 comdat align 2 !dbg !48 {
@@ -126,7 +126,7 @@ entry:
%5 = bitcast ptr %o to ptr, !dbg !91
%e.i = getelementptr inbounds %class.B, ptr %n, i64 0, i32 1, !dbg !92
%6 = bitcast ptr %e.i to ptr, !dbg !97
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr nonnull align 4 dereferenceable(16) %5, ptr nonnull align 4 dereferenceable(16) %6, i64 16, i1 false), !dbg !97, !DIAssignID !98
+ call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 dereferenceable(16) %5, ptr nonnull align 4 dereferenceable(16) %6, i64 16, i1 false), !dbg !97, !DIAssignID !98
call void @llvm.dbg.assign(metadata i1 undef, metadata !72, metadata !DIExpression(), metadata !98, metadata ptr %5, metadata !DIExpression()), !dbg !74
call void @_ZN1a1cEv(ptr nonnull %o), !dbg !99
ret void, !dbg !100
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
index c8fb65b76de58f..799bd4eeea2593 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
@@ -34,9 +34,9 @@ entry:
call void @llvm.dbg.assign(metadata i1 undef, metadata !11, metadata !DIExpression(), metadata !22, metadata ptr %a, metadata !DIExpression()), !dbg !23
%ref.tmp = alloca %class.c, align 4
%0 = bitcast ptr %a to ptr, !dbg !24
- call void @llvm.lifetime.start.p0i8(i64 48, ptr %0) #4, !dbg !24
+ call void @llvm.lifetime.start.p0(i64 48, ptr %0) #4, !dbg !24
%1 = bitcast ptr %ref.tmp to ptr, !dbg !25
- call void @llvm.lifetime.start.p0i8(i64 16, ptr %1) #4, !dbg !25
+ call void @llvm.lifetime.start.p0(i64 16, ptr %1) #4, !dbg !25
%call = call { <2 x float>, <2 x float> } @_Z3fn1v(), !dbg !25
%coerce.dive = getelementptr inbounds %class.c, ptr %ref.tmp, i32 0, i32 0, !dbg !25
%2 = bitcast ptr %coerce.dive to ptr, !dbg !25
@@ -49,17 +49,17 @@ entry:
%arrayidx = getelementptr inbounds [3 x %class.c], ptr %a, i64 0, i64 2, !dbg !26
%7 = bitcast ptr %arrayidx to ptr, !dbg !27
%8 = bitcast ptr %ref.tmp to ptr, !dbg !27
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 16 %7, ptr align 4 %8, i64 16, i1 false), !dbg !27, !DIAssignID !32
+ call void @llvm.memcpy.p0.p0.i64(ptr align 16 %7, ptr align 4 %8, i64 16, i1 false), !dbg !27, !DIAssignID !32
call void @llvm.dbg.assign(metadata i1 undef, metadata !11, metadata !DIExpression(DW_OP_LLVM_fragment, 256, 128), metadata !32, metadata ptr %7, metadata !DIExpression()), !dbg !23
%9 = bitcast ptr %ref.tmp to ptr, !dbg !26
- call void @llvm.lifetime.end.p0i8(i64 16, ptr %9) #4, !dbg !26
+ call void @llvm.lifetime.end.p0(i64 16, ptr %9) #4, !dbg !26
%10 = bitcast ptr %a to ptr, !dbg !33
- call void @llvm.lifetime.end.p0i8(i64 48, ptr %10) #4, !dbg !33
+ call void @llvm.lifetime.end.p0(i64 48, ptr %10) #4, !dbg !33
ret void, !dbg !33
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
@@ -67,10 +67,10 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
declare !dbg !34 dso_local { <2 x float>, <2 x float> } @_Z3fn1v() #3
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #2
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
index ae185ebaf95913..fe7152ff72c123 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
@@ -52,7 +52,7 @@ entry:
call void @llvm.dbg.assign(metadata i1 undef, metadata !20, metadata !DIExpression(), metadata !21, metadata ptr %e, metadata !DIExpression()), !dbg !22
%agg.tmp.ensured = alloca %class.a, align 1
%0 = bitcast ptr %e to ptr, !dbg !23
- call void @llvm.lifetime.start.p0i8(i64 4, ptr nonnull %0) #4, !dbg !23
+ call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %0) #4, !dbg !23
%1 = load i32, ptr @c, align 4, !dbg !24
%tobool.not = icmp eq i32 %1, 0, !dbg !24
br i1 %tobool.not, label %if.else, label %if.then, !dbg !30
@@ -79,12 +79,12 @@ if.end: ; preds = %if.else, %if.then
call void @llvm.dbg.assign(metadata ptr %agg.tmp.ensured, metadata !41, metadata !DIExpression(), metadata !59, metadata ptr undef, metadata !DIExpression()), !dbg !55
call void @llvm.dbg.assign(metadata i32 %5, metadata !51, metadata !DIExpression(), metadata !60, metadata ptr undef, metadata !DIExpression()), !dbg !55
call void @llvm.dbg.assign(metadata ptr %e, metadata !52, metadata !DIExpression(), metadata !61, metadata ptr undef, metadata !DIExpression()), !dbg !55
- call void @llvm.lifetime.end.p0i8(i64 4, ptr nonnull %0) #4, !dbg !62
+ call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %0) #4, !dbg !62
ret void, !dbg !62
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN1aC2EiRf(ptr %this, i32 %0, ptr nonnull align 4 dereferenceable(4) %1) unnamed_addr #2 comdat align 2 !dbg !42 {
@@ -99,7 +99,7 @@ entry:
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #3
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
index 709f33125c87b9..5f3491655ae9d0 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
@@ -56,25 +56,25 @@ entry:
%To = alloca %struct.LargeStruct, align 4, !DIAssignID !25
call void @llvm.dbg.assign(metadata i1 undef, metadata !24, metadata !DIExpression(), metadata !25, metadata ptr %To, metadata !DIExpression()), !dbg !26
%0 = bitcast ptr %To to ptr, !dbg !27
- call void @llvm.lifetime.start.p0i8(i64 28, ptr %0) #3, !dbg !27
+ call void @llvm.lifetime.start.p0(i64 28, ptr %0) #3, !dbg !27
%1 = bitcast ptr %To to ptr, !dbg !28
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 4 %1, ptr align 4 bitcast (ptr @From to ptr), i64 28, i1 false), !dbg !28, !DIAssignID !34
+ call void @llvm.memcpy.p0.p0.i64(ptr align 4 %1, ptr align 4 @From, i64 28, i1 false), !dbg !28, !DIAssignID !34
call void @llvm.dbg.assign(metadata i1 undef, metadata !24, metadata !DIExpression(), metadata !34, metadata ptr %1, metadata !DIExpression()), !dbg !28
%Var = getelementptr inbounds %struct.LargeStruct, ptr %To, i32 0, i32 3, !dbg !35
%2 = load i32, ptr %Var, align 4, !dbg !35
%3 = bitcast ptr %To to ptr, !dbg !38
- call void @llvm.lifetime.end.p0i8(i64 28, ptr %3) #3, !dbg !38
+ call void @llvm.lifetime.end.p0(i64 28, ptr %3) #3, !dbg !38
ret i32 %2, !dbg !39
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #2
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
index 15fbfa04f7b0cd..6c4f22f774337d 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
@@ -59,9 +59,9 @@ entry:
%S = alloca %struct.LargeStruct, align 4, !DIAssignID !28
call void @llvm.dbg.assign(metadata i1 undef, metadata !18, metadata !DIExpression(), metadata !28, metadata ptr %S, metadata !DIExpression()), !dbg !29
%0 = bitcast ptr %S to ptr, !dbg !30
- call void @llvm.lifetime.start.p0i8(i64 28, ptr %0) #4, !dbg !30
+ call void @llvm.lifetime.start.p0(i64 28, ptr %0) #4, !dbg !30
%1 = bitcast ptr %S to ptr, !dbg !31
- call void @llvm.memset.p0i8.i64(ptr align 4 %1, i8 0, i64 28, i1 false), !dbg !31, !DIAssignID !32
+ call void @llvm.memset.p0.i64(ptr align 4 %1, i8 0, i64 28, i1 false), !dbg !31, !DIAssignID !32
call void @llvm.dbg.assign(metadata i8 0, metadata !18, metadata !DIExpression(), metadata !32, metadata ptr %1, metadata !DIExpression()), !dbg !31
%2 = load i32, ptr @Glob, align 4, !dbg !33
%Var = getelementptr inbounds %struct.LargeStruct, ptr %S, i32 0, i32 3, !dbg !38
@@ -70,18 +70,18 @@ entry:
%Var1 = getelementptr inbounds %struct.LargeStruct, ptr %S, i32 0, i32 3, !dbg !43
%3 = load i32, ptr %Var1, align 4, !dbg !43
%4 = bitcast ptr %S to ptr, !dbg !44
- call void @llvm.lifetime.end.p0i8(i64 28, ptr %4) #4, !dbg !44
+ call void @llvm.lifetime.end.p0(i64 28, ptr %4) #4, !dbg !44
ret i32 %3, !dbg !45
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: argmemonly nofree nosync nounwind willreturn writeonly
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #3
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
index 7601bdd21ce85f..52b9d6b4950b99 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
@@ -66,7 +66,7 @@ entry:
%agg.tmp = alloca %struct.LargeStruct, align 8
%0 = bitcast ptr %S to ptr, !dbg !30
%1 = bitcast ptr %S to ptr, !dbg !31
- call void @llvm.memset.p0i8.i64(ptr align 4 %1, i8 0, i64 28, i1 false), !dbg !31, !DIAssignID !32
+ call void @llvm.memset.p0.i64(ptr align 4 %1, i8 0, i64 28, i1 false), !dbg !31, !DIAssignID !32
call void @llvm.dbg.assign(metadata i8 0, metadata !18, metadata !DIExpression(), metadata !32, metadata ptr %1, metadata !DIExpression()), !dbg !31
%2 = load i32, ptr @Glob, align 4, !dbg !33
%Var = getelementptr inbounds %struct.LargeStruct, ptr %S, i32 0, i32 3, !dbg !38
@@ -74,7 +74,7 @@ entry:
call void @llvm.dbg.assign(metadata i32 %2, metadata !18, metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32), metadata !42, metadata ptr %Var, metadata !DIExpression()), !dbg !39
%3 = bitcast ptr %agg.tmp to ptr, !dbg !43
%4 = bitcast ptr %S to ptr, !dbg !43
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 4 %3, ptr align 4 %4, i64 28, i1 false), !dbg !43
+ call void @llvm.memcpy.p0.p0.i64(ptr align 4 %3, ptr align 4 %4, i64 28, i1 false), !dbg !43
%call = call i32 @_Z3use11LargeStruct(ptr byval(%struct.LargeStruct) align 8 %agg.tmp), !dbg !45
%Var1 = getelementptr inbounds %struct.LargeStruct, ptr %S, i32 0, i32 3, !dbg !46
%5 = load i32, ptr %Var1, align 4, !dbg !46
@@ -83,9 +83,9 @@ entry:
}
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2
declare !dbg !49 dso_local i32 @_Z3use11LargeStruct(ptr byval(%struct.LargeStruct) align 8) #3
-declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #4
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
index 2a94622bbe5530..b00986c900bee4 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
@@ -13,7 +13,7 @@
define dso_local void @_Z3funDn(ptr %0) #0 !dbg !14 {
entry:
- %.addr = alloca i8*, align 8, !DIAssignID !22
+ %.addr = alloca ptr, align 8, !DIAssignID !22
call void @llvm.dbg.assign(metadata i1 undef, metadata !21, metadata !DIExpression(), metadata !22, metadata ptr %.addr, metadata !DIExpression()), !dbg !23
store ptr %0, ptr %.addr, align 8, !DIAssignID !28
call void @llvm.dbg.assign(metadata ptr %0, metadata !21, metadata !DIExpression(), metadata !28, metadata ptr %.addr, metadata !DIExpression()), !dbg !23
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
index 23d0ff34610466..ff7779bd2af12d 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
@@ -69,28 +69,28 @@ entry:
call void @llvm.dbg.assign(metadata i1 undef, metadata !111, metadata !DIExpression(), metadata !114, metadata ptr %other, metadata !DIExpression()), !dbg !113
%0 = bitcast ptr %point to ptr, !dbg !115
%1 = bitcast ptr %point to ptr, !dbg !116
- call void @llvm.memset.p0i8.i64(ptr align 8 %1, i8 0, i64 24, i1 false), !dbg !116, !DIAssignID !117
+ call void @llvm.memset.p0.i64(ptr align 8 %1, i8 0, i64 24, i1 false), !dbg !116, !DIAssignID !117
call void @llvm.dbg.assign(metadata i8 0, metadata !104, metadata !DIExpression(), metadata !117, metadata ptr %1, metadata !DIExpression()), !dbg !116
%z = getelementptr inbounds %struct.V3i, ptr %point, i32 0, i32 2, !dbg !118
store i64 5000, ptr %z, align 8, !dbg !119, !DIAssignID !125
call void @llvm.dbg.assign(metadata i64 5000, metadata !104, metadata !DIExpression(DW_OP_LLVM_fragment, 128, 64), metadata !125, metadata ptr %z, metadata !DIExpression()), !dbg !119
%2 = bitcast ptr %other to ptr, !dbg !126
%3 = bitcast ptr %other to ptr, !dbg !127
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 8 %3, ptr align 8 bitcast (ptr @__const._Z3funv.other to ptr), i64 24, i1 false), !dbg !127, !DIAssignID !128
+ call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 @__const._Z3funv.other, i64 24, i1 false), !dbg !127, !DIAssignID !128
call void @llvm.dbg.assign(metadata i1 undef, metadata !111, metadata !DIExpression(), metadata !128, metadata ptr %3, metadata !DIExpression()), !dbg !127
%y = getelementptr inbounds %struct.V3i, ptr %point, i32 0, i32 1, !dbg !129
%4 = bitcast ptr %y to ptr, !dbg !130
%x = getelementptr inbounds %struct.V3i, ptr %other, i32 0, i32 0, !dbg !131
%5 = bitcast ptr %x to ptr, !dbg !130
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 8 %4, ptr align 8 %5, i64 16, i1 false), !dbg !130, !DIAssignID !132
+ call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %5, i64 16, i1 false), !dbg !130, !DIAssignID !132
call void @llvm.dbg.assign(metadata i1 undef, metadata !104, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 128), metadata !132, metadata ptr %4, metadata !DIExpression()), !dbg !130
%6 = bitcast ptr %other to ptr, !dbg !133
%7 = bitcast ptr %point to ptr, !dbg !133
ret void, !dbg !133
}
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
-declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!0}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll
index 3281c107317dec..c2446812d0352b 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll
@@ -75,7 +75,7 @@ entry:
%4 = load float, ptr @c, align 4, !dbg !63
%arrayidx.i = getelementptr inbounds %class.d, ptr %ref.tmp, i64 0, i32 0, i32 0, i64 3, !dbg !69
store float %4, ptr %arrayidx.i, align 4, !dbg !70
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr nonnull align 8 dereferenceable(16) %2, ptr nonnull align 4 dereferenceable(16) %3, i64 16, i1 false), !dbg !71, !DIAssignID !72
+ call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 dereferenceable(16) %2, ptr nonnull align 4 dereferenceable(16) %3, i64 16, i1 false), !dbg !71, !DIAssignID !72
call void @llvm.dbg.assign(metadata i1 undef, metadata !31, metadata !DIExpression(), metadata !72, metadata ptr %2, metadata !DIExpression()), !dbg !33
ret void, !dbg !74
}
@@ -83,7 +83,7 @@ entry:
declare !dbg !75 dso_local { <2 x float>, <2 x float> } @_Z1fv() local_unnamed_addr #2
; Function Attrs: argmemonly nofree nosync nounwind willreturn
-declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN1d1eEv(ptr %this) local_unnamed_addr #3 comdat align 2 !dbg !48 {
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
index 127e84a348ba6b..714a9b3a8c9411 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
@@ -94,14 +94,14 @@ entry:
; CHECK: %Z = alloca [3 x i32], align 4, !DIAssignID ![[ID_0:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_0:[0-9]+]], metadata !DIExpression(), metadata ![[ID_0]], metadata ptr %Z, metadata !DIExpression())
%0 = bitcast ptr %Z to ptr, !dbg !39
- call void @llvm.lifetime.start.p0i8(i64 12, ptr %0) #5, !dbg !39
+ call void @llvm.lifetime.start.p0(i64 12, ptr %0) #5, !dbg !39
call void @llvm.dbg.declare(metadata ptr %Z, metadata !35, metadata !DIExpression()), !dbg !40
%1 = bitcast ptr %Z to ptr, !dbg !40
- call void @llvm.memset.p0i8.i64(ptr align 4 %1, i8 0, i64 12, i1 false), !dbg !40
+ call void @llvm.memset.p0.i64(ptr align 4 %1, i8 0, i64 12, i1 false), !dbg !40
; CHECK: @llvm.memset{{.*}}, !DIAssignID ![[ID_1:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i8 0, metadata ![[VAR_0]], metadata !DIExpression(), metadata ![[ID_1]], metadata ptr %1, metadata !DIExpression())
%2 = bitcast ptr %Z to ptr, !dbg !41
- call void @llvm.lifetime.end.p0i8(i64 12, ptr %2) #5, !dbg !41
+ call void @llvm.lifetime.end.p0(i64 12, ptr %2) #5, !dbg !41
ret void, !dbg !41
}
@@ -119,14 +119,14 @@ entry:
; CHECK: %A = alloca [4 x i32], align 16, !DIAssignID ![[ID_2:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_1:[0-9]+]], metadata !DIExpression(), metadata ![[ID_2]], metadata ptr %A, metadata !DIExpression())
%0 = bitcast ptr %A to ptr, !dbg !48
- call void @llvm.lifetime.start.p0i8(i64 16, ptr %0) #5, !dbg !48
+ call void @llvm.lifetime.start.p0(i64 16, ptr %0) #5, !dbg !48
call void @llvm.dbg.declare(metadata ptr %A, metadata !44, metadata !DIExpression()), !dbg !49
%1 = bitcast ptr %A to ptr, !dbg !49
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 16 %1, ptr align 16 bitcast (ptr @__const._Z10memcpyInitv.A to ptr), i64 16, i1 false), !dbg !49
+ call void @llvm.memcpy.p0.p0.i64(ptr align 16 %1, ptr align 16 @__const._Z10memcpyInitv.A, i64 16, i1 false), !dbg !49
; CHECK: @llvm.memcpy{{.*}}, !DIAssignID ![[ID_3:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_1]], metadata !DIExpression(), metadata ![[ID_3]], metadata ptr %1, metadata !DIExpression())
%2 = bitcast ptr %A to ptr, !dbg !50
- call void @llvm.lifetime.end.p0i8(i64 16, ptr %2) #5, !dbg !50
+ call void @llvm.lifetime.end.p0(i64 16, ptr %2) #5, !dbg !50
ret void, !dbg !50
}
@@ -148,7 +148,7 @@ entry:
; CHECK: %O = alloca %struct.Outer, align 4, !DIAssignID ![[ID_4:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_2:[0-9]+]], metadata !DIExpression(), metadata ![[ID_4]], metadata ptr %O, metadata !DIExpression())
%0 = bitcast ptr %O to ptr, !dbg !58
- call void @llvm.lifetime.start.p0i8(i64 16, ptr %0) #5, !dbg !58
+ call void @llvm.lifetime.start.p0(i64 16, ptr %0) #5, !dbg !58
call void @llvm.dbg.declare(metadata ptr %O, metadata !53, metadata !DIExpression()), !dbg !59
%1 = load i32, ptr @Value, align 4, !dbg !60, !tbaa !61
%A = getelementptr inbounds %struct.Outer, ptr %O, i32 0, i32 0, !dbg !65
@@ -157,7 +157,7 @@ entry:
; CHECK: store i32 %1, ptr %B, align 4,{{.*}}!DIAssignID ![[ID_5:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i32 %1, metadata ![[VAR_2]], metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32), metadata ![[ID_5]], metadata ptr %B, metadata !DIExpression())
%2 = bitcast ptr %O to ptr, !dbg !71
- call void @llvm.lifetime.end.p0i8(i64 16, ptr %2) #5, !dbg !71
+ call void @llvm.lifetime.end.p0(i64 16, ptr %2) #5, !dbg !71
ret void, !dbg !71
}
@@ -180,7 +180,7 @@ entry:
; CHECK: %A = alloca [2 x i32], align 4, !DIAssignID ![[ID_6:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_3:[0-9]+]], metadata !DIExpression(), metadata ![[ID_6]], metadata ptr %A, metadata !DIExpression())
%0 = bitcast ptr %A to ptr, !dbg !78
- call void @llvm.lifetime.start.p0i8(i64 8, ptr %0) #5, !dbg !78
+ call void @llvm.lifetime.start.p0(i64 8, ptr %0) #5, !dbg !78
call void @llvm.dbg.declare(metadata ptr %A, metadata !74, metadata !DIExpression()), !dbg !79
%1 = load i32, ptr @Value, align 4, !dbg !80, !tbaa !61
%2 = load i32, ptr @Index, align 4, !dbg !81, !tbaa !61
@@ -188,7 +188,7 @@ entry:
%arrayidx = getelementptr inbounds [2 x i32], ptr %A, i64 0, i64 %idxprom, !dbg !82
store i32 %1, ptr %arrayidx, align 4, !dbg !83, !tbaa !61
%3 = bitcast ptr %A to ptr, !dbg !84
- call void @llvm.lifetime.end.p0i8(i64 8, ptr %3) #5, !dbg !84
+ call void @llvm.lifetime.end.p0(i64 8, ptr %3) #5, !dbg !84
ret void, !dbg !84
}
@@ -219,7 +219,7 @@ if.then: ; preds = %entry
; CHECK: if.then:
call void @llvm.dbg.declare(metadata ptr %retval, metadata !89, metadata !DIExpression()), !dbg !96
%1 = bitcast ptr %retval to ptr, !dbg !97
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 4 %1, ptr align 4 bitcast (ptr @InnerA to ptr), i64 8, i1 false), !dbg !97, !tbaa.struct !98
+ call void @llvm.memcpy.p0.p0.i64(ptr align 4 %1, ptr align 4 @InnerA, i64 8, i1 false), !dbg !97, !tbaa.struct !98
; CHECK: call void @llvm.memcpy{{.*}}, !DIAssignID ![[ID_8:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_4]], metadata !DIExpression(), metadata ![[ID_8]], metadata ptr %1, metadata !DIExpression())
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_5]], metadata !DIExpression(), metadata ![[ID_8]], metadata ptr %1, metadata !DIExpression())
@@ -229,7 +229,7 @@ if.else: ; preds = %entry
; CHECK: if.else:
call void @llvm.dbg.declare(metadata ptr %retval, metadata !92, metadata !DIExpression()), !dbg !100
%2 = bitcast ptr %retval to ptr, !dbg !101
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 4 %2, ptr align 4 bitcast (ptr @InnerB to ptr), i64 8, i1 false), !dbg !101, !tbaa.struct !98
+ call void @llvm.memcpy.p0.p0.i64(ptr align 4 %2, ptr align 4 @InnerB, i64 8, i1 false), !dbg !101, !tbaa.struct !98
; CHECK: call void @llvm.memcpy{{.*}}, !DIAssignID ![[ID_9:[0-9]+]]
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_4]], metadata !DIExpression(), metadata ![[ID_9]], metadata ptr %2, metadata !DIExpression())
; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_5]], metadata !DIExpression(), metadata ![[ID_9]], metadata ptr %2, metadata !DIExpression())
@@ -258,7 +258,7 @@ entry:
; CHECK: call void @llvm.dbg.declare
call void @llvm.dbg.declare(metadata ptr %agg.result, metadata !108, metadata !DIExpression()), !dbg !109
%0 = bitcast ptr %agg.result to ptr, !dbg !110
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 4 %0, ptr align 4 bitcast (ptr @L to ptr), i64 40, i1 false), !dbg !110, !tbaa.struct !111
+ call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @L, i64 40, i1 false), !dbg !110, !tbaa.struct !111
ret void, !dbg !113
}
@@ -331,11 +331,11 @@ entry:
ret i32 %mul.i, !dbg !148
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
-declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3
-declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare dso_local void @_ZN9LCopyCtorC1Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/DebugInfo/Generic/import-inlined-declaration.ll b/llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
index 6870cfa81100f9..d3f28ad63ff604 100644
--- a/llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
+++ b/llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
@@ -39,8 +39,8 @@
define dso_local void @_Z3goov() !dbg !4 {
entry:
%a.i = alloca i32, align 4
- call void @llvm.dbg.declare(metadata i32* %a.i, metadata !16, metadata !DIExpression()), !dbg !18
- store i32 4, i32* %a.i, align 4, !dbg !18
+ call void @llvm.dbg.declare(metadata ptr %a.i, metadata !16, metadata !DIExpression()), !dbg !18
+ store i32 4, ptr %a.i, align 4, !dbg !18
ret void, !dbg !20
}
diff --git a/llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll b/llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll
index a86111b6a710ac..93ed43c6718342 100644
--- a/llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll
+++ b/llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll
@@ -28,7 +28,7 @@ source_filename = "test.c"
define void @foo(i32 %k, i32 %p) !dbg !7 {
entry:
%p.addr = alloca i32, align 4
- store i32 %p, i32* %p.addr, align 4
+ store i32 %p, ptr %p.addr, align 4
%cmp2 = icmp slt i32 0, %k, !dbg !9
br i1 %cmp2, label %for.body.lr.ph, label %for.end, !dbg !9
@@ -37,8 +37,8 @@ for.body.lr.ph: ; preds = %entry
for.body: ; preds = %for.body.lr.ph, %for.body
%i.03 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
- %add.ptr = getelementptr inbounds i32, i32* %p.addr, i64 4, !dbg !11
- call void @bar(i32* %add.ptr), !dbg !11
+ %add.ptr = getelementptr inbounds i32, ptr %p.addr, i64 4, !dbg !11
+ call void @bar(ptr %add.ptr), !dbg !11
%inc = add nsw i32 %i.03, 1, !dbg !12
%cmp = icmp slt i32 %inc, %k, !dbg !9
br i1 %cmp, label %for.body, label %for.cond.for.end_crit_edge, !dbg !9, !llvm.loop !14
@@ -50,7 +50,7 @@ for.end: ; preds = %for.cond.for.end_cr
ret void, !dbg !16
}
-declare void @bar(i32*)
+declare void @bar(ptr)
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4, !5}
diff --git a/llvm/test/DebugInfo/Generic/licm-hoist-intrinsic-debug-loc.ll b/llvm/test/DebugInfo/Generic/licm-hoist-intrinsic-debug-loc.ll
index f1fdc5c24bd98f..d9c982af55f7f8 100644
--- a/llvm/test/DebugInfo/Generic/licm-hoist-intrinsic-debug-loc.ll
+++ b/llvm/test/DebugInfo/Generic/licm-hoist-intrinsic-debug-loc.ll
@@ -6,7 +6,7 @@
; CHECK-NEXT: call float @llvm.fma.f32(float %coef_0, float %coef_1, float 0.000000e+00){{$}}
; CHECK-NEXT: br label %loop.header
;
-define float @foo(float* %A, float %coef_0, float %coef_1, i32 %n) !dbg !2 {
+define float @foo(ptr %A, float %coef_0, float %coef_1, i32 %n) !dbg !2 {
entry:
br label %loop.header
@@ -18,8 +18,8 @@ loop.header:
loop.backedge:
%i.cast = zext i32 %i to i64
- %A.ptr = getelementptr inbounds float, float* %A, i64 %i.cast
- %A.load = load float, float* %A.ptr
+ %A.ptr = getelementptr inbounds float, ptr %A, i64 %i.cast
+ %A.load = load float, ptr %A.ptr
%fma = call float @llvm.fma.f32(float %coef_0, float %coef_1, float 0.000000e+00), !dbg !3
%mul = fmul float %fma, %A.load
%a.inc = fadd float %mul, %a
diff --git a/llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll b/llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
index 1a41f3f348ca04..16a17edccc33e2 100644
--- a/llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
+++ b/llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
@@ -37,7 +37,7 @@ declare dso_local void @_Z3pinv() local_unnamed_addr
define dso_local i32 @main() local_unnamed_addr !dbg !18 {
entry:
- call void @llvm.dbg.declare(metadata %"struct.ns::t1"* undef, metadata !22, metadata !DIExpression()), !dbg !23
+ call void @llvm.dbg.declare(metadata ptr undef, metadata !22, metadata !DIExpression()), !dbg !23
call void @_Z3pinv(), !dbg !25
ret i32 0, !dbg !26
}
diff --git a/llvm/test/DebugInfo/MSP430/dwarf-basics.ll b/llvm/test/DebugInfo/MSP430/dwarf-basics.ll
index 0dc23b5199838b..56fed3ae8f46ed 100644
--- a/llvm/test/DebugInfo/MSP430/dwarf-basics.ll
+++ b/llvm/test/DebugInfo/MSP430/dwarf-basics.ll
@@ -97,12 +97,12 @@ source_filename = "dwarf-basics.c"
target datalayout = "e-m:e-p:16:16-i32:16-i64:16-f32:16-f64:16-a:8-n8:16-S16"
target triple = "msp430"
-%struct.X = type { i8* }
+%struct.X = type { ptr }
-define i16 @f(i32 %y, %struct.X* %p) !dbg !7 {
+define i16 @f(i32 %y, ptr %p) !dbg !7 {
entry:
call void @llvm.dbg.value(metadata i32 %y, metadata !18, metadata !DIExpression()), !dbg !20
- call void @llvm.dbg.value(metadata %struct.X* %p, metadata !19, metadata !DIExpression()), !dbg !20
+ call void @llvm.dbg.value(metadata ptr %p, metadata !19, metadata !DIExpression()), !dbg !20
ret i16 42, !dbg !21
}
diff --git a/llvm/test/DebugInfo/MSP430/fp-vla-callee-saved.ll b/llvm/test/DebugInfo/MSP430/fp-vla-callee-saved.ll
index fc4d3aa9d7a67f..da4b822e3b18d5 100644
--- a/llvm/test/DebugInfo/MSP430/fp-vla-callee-saved.ll
+++ b/llvm/test/DebugInfo/MSP430/fp-vla-callee-saved.ll
@@ -30,16 +30,16 @@ define void @foo() {
%n = load i16, ptr @N, align 2
%vla = alloca i8, i16 %n, align 1
- %t1 = load volatile float, float* @g
- %t2 = load volatile float, float* @g
- %t3 = load volatile float, float* @g
- %t4 = load volatile float, float* @g
- %t5 = load volatile float, float* @g
- store volatile float %t1, float* @g
- store volatile float %t2, float* @g
- store volatile float %t3, float* @g
- store volatile float %t4, float* @g
- store volatile float %t5, float* @g
+ %t1 = load volatile float, ptr @g
+ %t2 = load volatile float, ptr @g
+ %t3 = load volatile float, ptr @g
+ %t4 = load volatile float, ptr @g
+ %t5 = load volatile float, ptr @g
+ store volatile float %t1, ptr @g
+ store volatile float %t2, ptr @g
+ store volatile float %t3, ptr @g
+ store volatile float %t4, ptr @g
+ store volatile float %t5, ptr @g
; CHECK: mov r4, r1
; CHECK-NEXT: sub #10, r1
diff --git a/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll b/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
index 495f0f646628ff..52b368840e7d20 100644
--- a/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
+++ b/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
@@ -42,7 +42,7 @@ source_filename = "t.cpp"
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
target triple = "i386-pc-windows-msvc19.0.23918"
-@"\01?fptr@@3P6IHHH at ZA" = global i32 (i32, i32)* @"\01?f@@YIHHH at Z", align 4, !dbg !0
+@"\01?fptr@@3P6IHHH at ZA" = global ptr @"\01?f@@YIHHH at Z", align 4, !dbg !0
; Function Attrs: nounwind readnone
define x86_fastcallcc i32 @"\01?f@@YIHHH at Z"(i32 inreg %a, i32 inreg %b) #0 !dbg !13 {
diff --git a/llvm/test/DebugInfo/X86/PR37234.ll b/llvm/test/DebugInfo/X86/PR37234.ll
index 04005ca3fc5889..664bfc3a144e0e 100644
--- a/llvm/test/DebugInfo/X86/PR37234.ll
+++ b/llvm/test/DebugInfo/X86/PR37234.ll
@@ -48,17 +48,17 @@ entry:
br label %while.cond.outer, !dbg !20
while.cond.outer: ; preds = %if.then, %entry
- %buffer.0.ph = phi i8* [ %incdec.ptr, %if.then ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), %entry ]
+ %buffer.0.ph = phi ptr [ %incdec.ptr, %if.then ], [ @.str, %entry ]
%aa.0.ph = phi i32 [ %inc, %if.then ], [ 0, %entry ]
br label %while.cond, !dbg !21
while.cond: ; preds = %while.cond.outer, %while.cond
- %buffer.0 = phi i8* [ %incdec.ptr, %while.cond ], [ %buffer.0.ph, %while.cond.outer ], !dbg !22
+ %buffer.0 = phi ptr [ %incdec.ptr, %while.cond ], [ %buffer.0.ph, %while.cond.outer ], !dbg !22
call void @llvm.dbg.value(metadata i32 %aa.0.ph, metadata !16, metadata !DIExpression()), !dbg !19
- call void @llvm.dbg.value(metadata i8* %buffer.0, metadata !12, metadata !DIExpression()), !dbg !23
- %incdec.ptr = getelementptr inbounds i8, i8* %buffer.0, i64 1, !dbg !21
- call void @llvm.dbg.value(metadata i8* %incdec.ptr, metadata !12, metadata !DIExpression()), !dbg !23
- %0 = load i8, i8* %buffer.0, align 1, !dbg !24, !tbaa !25
+ call void @llvm.dbg.value(metadata ptr %buffer.0, metadata !12, metadata !DIExpression()), !dbg !23
+ %incdec.ptr = getelementptr inbounds i8, ptr %buffer.0, i64 1, !dbg !21
+ call void @llvm.dbg.value(metadata ptr %incdec.ptr, metadata !12, metadata !DIExpression()), !dbg !23
+ %0 = load i8, ptr %buffer.0, align 1, !dbg !24, !tbaa !25
call void @llvm.dbg.value(metadata i8 %0, metadata !18, metadata !DIExpression()), !dbg !28
switch i8 %0, label %while.cond [
i8 0, label %while.end
diff --git a/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll b/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
index 0ec8397769198b..d4a2f903f5a812 100644
--- a/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
+++ b/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
@@ -32,16 +32,16 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@ref.0 = internal unnamed_addr constant double 2.300000e+01, align 8
- at vtable.1 = internal unnamed_addr constant { void (double*)*, i64, i64 } { void (double*)* @_ZN4core3ptr13drop_in_place17h2818a933abde117eE, i64 8, i64 8 }, align 8, !dbg !0
+ at vtable.1 = internal unnamed_addr constant { ptr, i64, i64 } { ptr @_ZN4core3ptr13drop_in_place17h2818a933abde117eE, i64 8, i64 8 }, align 8, !dbg !0
@__rustc_debug_gdb_scripts_section__ = linkonce_odr unnamed_addr constant [34 x i8] c"\01gdb_load_rust_pretty_printers.py\00", section ".debug_gdb_scripts", align 1
; core::ptr::drop_in_place
; Function Attrs: uwtable
-define internal void @_ZN4core3ptr13drop_in_place17h2818a933abde117eE(double*) unnamed_addr #0 !dbg !11 {
+define internal void @_ZN4core3ptr13drop_in_place17h2818a933abde117eE(ptr) unnamed_addr #0 !dbg !11 {
start:
- %arg0 = alloca double*
- store double* %0, double** %arg0
- call void @llvm.dbg.declare(metadata double** %arg0, metadata !20, metadata !22), !dbg !23
+ %arg0 = alloca ptr
+ store ptr %0, ptr %arg0
+ call void @llvm.dbg.declare(metadata ptr %arg0, metadata !20, metadata !22), !dbg !23
ret void, !dbg !24
}
@@ -49,30 +49,30 @@ start:
; Function Attrs: uwtable
define internal void @_ZN2t24main17h6319e6ac7de3a097E() unnamed_addr #0 !dbg !25 {
start:
- %tu = alloca { i8*, void (i8*)** }
- call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %tu, metadata !29, metadata !22), !dbg !37
- %0 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %tu, i32 0, i32 0, !dbg !37
- store i8* bitcast (double* @ref.0 to i8*), i8** %0, !dbg !37
- %1 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %tu, i32 0, i32 1, !dbg !37
- store void (i8*)** bitcast ({ void (double*)*, i64, i64 }* @vtable.1 to void (i8*)**), void (i8*)*** %1, !dbg !37
+ %tu = alloca { ptr, ptr }
+ call void @llvm.dbg.declare(metadata ptr %tu, metadata !29, metadata !22), !dbg !37
+ %0 = getelementptr inbounds { ptr, ptr }, ptr %tu, i32 0, i32 0, !dbg !37
+ store ptr @ref.0, ptr %0, !dbg !37
+ %1 = getelementptr inbounds { ptr, ptr }, ptr %tu, i32 0, i32 1, !dbg !37
+ store ptr @vtable.1, ptr %1, !dbg !37
ret void, !dbg !38
}
; Function Attrs: nounwind readnone
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
-define i32 @main(i32, i8**) unnamed_addr #2 {
+define i32 @main(i32, ptr) unnamed_addr #2 {
top:
- %2 = load volatile i8, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__rustc_debug_gdb_scripts_section__, i32 0, i32 0), align 1
+ %2 = load volatile i8, ptr @__rustc_debug_gdb_scripts_section__, align 1
%3 = sext i32 %0 to i64
; call std::rt::lang_start
- %4 = call i64 @_ZN3std2rt10lang_start17h2626caf1112a00beE(void ()* @_ZN2t24main17h6319e6ac7de3a097E, i64 %3, i8** %1)
+ %4 = call i64 @_ZN3std2rt10lang_start17h2626caf1112a00beE(ptr @_ZN2t24main17h6319e6ac7de3a097E, i64 %3, ptr %1)
%5 = trunc i64 %4 to i32
ret i32 %5
}
; std::rt::lang_start
-declare i64 @_ZN3std2rt10lang_start17h2626caf1112a00beE(void ()*, i64, i8**) unnamed_addr #3
+declare i64 @_ZN3std2rt10lang_start17h2626caf1112a00beE(ptr, i64, ptr) unnamed_addr #3
attributes #0 = { uwtable "frame-pointer"="all" "probe-stack"="__rust_probestack" }
attributes #1 = { nounwind readnone }
diff --git a/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll b/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
index 7abd0262284dbf..27462313735b1a 100644
--- a/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
+++ b/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
@@ -1,72 +1,72 @@
-; RUN: llc %s -start-after=codegenprepare -stop-before=finalize-isel -experimental-debug-variable-locations=false -o - | FileCheck %s
-
-;; Generated from clang -O2 -emit-llvm -S -g reduce.c -o -
-;; $ cat reduce.c
-;; struct {
-;; int a;
-;; } * b;
-;; int c;
-;; void d() {
-;; int *e = &b->a - 1; // XXX
-;; c = *e;
-;; }
-;;
-;; The line marked XXX becomes a load and gep in IR. We have a variadic
-;; dbg.value using the gep, but we lose that gep in SelectionDAG. Ensure that
-;; we salvage the value.
-
-; CHECK: [[E_REG:%[0-9]+]]{{.+}} = MOV{{.+}} @b
-; CHECK: DBG_VALUE_LIST {{.*}}, !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 4, DW_OP_minus, DW_OP_stack_value), [[E_REG]], debug-location
-
-target triple = "x86_64-unknown-linux-gnu"
-
-%struct.anon = type { i32 }
-
- at b = dso_local local_unnamed_addr global %struct.anon* null, align 8, !dbg !0
- at c = dso_local local_unnamed_addr global i32 0, align 4, !dbg !6
-
-define dso_local void @d() local_unnamed_addr !dbg !17 {
-entry:
- %0 = load %struct.anon*, %struct.anon** @b, align 8, !dbg !23
- %add.ptr = getelementptr inbounds %struct.anon, %struct.anon* %0, i64 -1, i32 0, !dbg !28
- call void @llvm.dbg.value(metadata !DIArgList(i32* %add.ptr), metadata !21, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_stack_value)), !dbg !29
- %1 = load i32, i32* %add.ptr, align 4, !dbg !30
- store i32 %1, i32* @c, align 4, !dbg !33
- ret void, !dbg !34
-}
-
-declare void @llvm.dbg.value(metadata, metadata, metadata)
-
-!llvm.dbg.cu = !{!2}
-!llvm.module.flags = !{!13, !14, !15}
-!llvm.ident = !{!16}
-
-!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
-!1 = distinct !DIGlobalVariable(name: "b", scope: !2, file: !3, line: 3, type: !9, isLocal: false, isDefinition: true)
-!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 11.0.0", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5, splitDebugInlining: false, nameTableKind: None)
-!3 = !DIFile(filename: "reduce.c", directory: "/")
-!4 = !{}
-!5 = !{!0, !6}
-!6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())
-!7 = distinct !DIGlobalVariable(name: "c", scope: !2, file: !3, line: 4, type: !8, isLocal: false, isDefinition: true)
-!8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!9 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !10, size: 64)
-!10 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !3, line: 1, size: 32, elements: !11)
-!11 = !{!12}
-!12 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !10, file: !3, line: 2, baseType: !8, size: 32)
-!13 = !{i32 7, !"Dwarf Version", i32 4}
-!14 = !{i32 2, !"Debug Info Version", i32 3}
-!15 = !{i32 1, !"wchar_size", i32 4}
-!16 = !{!"clang version 11.0.0"}
-!17 = distinct !DISubprogram(name: "d", scope: !3, file: !3, line: 5, type: !18, scopeLine: 5, flags: DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !20)
-!18 = !DISubroutineType(types: !19)
-!19 = !{null}
-!20 = !{!21}
-!21 = !DILocalVariable(name: "e", scope: !17, file: !3, line: 6, type: !22)
-!22 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !8, size: 64)
-!23 = !DILocation(line: 6, column: 13, scope: !17)
-!28 = !DILocation(line: 6, column: 18, scope: !17)
-!29 = !DILocation(line: 0, scope: !17)
-!30 = !DILocation(line: 7, column: 7, scope: !17)
-!33 = !DILocation(line: 7, column: 5, scope: !17)
-!34 = !DILocation(line: 8, column: 1, scope: !17)
+; RUN: llc %s -start-after=codegenprepare -stop-before=finalize-isel -experimental-debug-variable-locations=false -o - | FileCheck %s
+
+;; Generated from clang -O2 -emit-llvm -S -g reduce.c -o -
+;; $ cat reduce.c
+;; struct {
+;; int a;
+;; } * b;
+;; int c;
+;; void d() {
+;; int *e = &b->a - 1; // XXX
+;; c = *e;
+;; }
+;;
+;; The line marked XXX becomes a load and gep in IR. We have a variadic
+;; dbg.value using the gep, but we lose that gep in SelectionDAG. Ensure that
+;; we salvage the value.
+
+; CHECK: [[E_REG:%[0-9]+]]{{.+}} = MOV{{.+}} @b
+; CHECK: DBG_VALUE_LIST {{.*}}, !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_constu, 4, DW_OP_minus, DW_OP_stack_value), [[E_REG]], debug-location
+
+target triple = "x86_64-unknown-linux-gnu"
+
+%struct.anon = type { i32 }
+
+ at b = dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at c = dso_local local_unnamed_addr global i32 0, align 4, !dbg !6
+
+define dso_local void @d() local_unnamed_addr !dbg !17 {
+entry:
+ %0 = load ptr, ptr @b, align 8, !dbg !23
+ %add.ptr = getelementptr inbounds %struct.anon, ptr %0, i64 -1, i32 0, !dbg !28
+ call void @llvm.dbg.value(metadata !DIArgList(ptr %add.ptr), metadata !21, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_stack_value)), !dbg !29
+ %1 = load i32, ptr %add.ptr, align 4, !dbg !30
+ store i32 %1, ptr @c, align 4, !dbg !33
+ ret void, !dbg !34
+}
+
+declare void @llvm.dbg.value(metadata, metadata, metadata)
+
+!llvm.dbg.cu = !{!2}
+!llvm.module.flags = !{!13, !14, !15}
+!llvm.ident = !{!16}
+
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
+!1 = distinct !DIGlobalVariable(name: "b", scope: !2, file: !3, line: 3, type: !9, isLocal: false, isDefinition: true)
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 11.0.0", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5, splitDebugInlining: false, nameTableKind: None)
+!3 = !DIFile(filename: "reduce.c", directory: "/")
+!4 = !{}
+!5 = !{!0, !6}
+!6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())
+!7 = distinct !DIGlobalVariable(name: "c", scope: !2, file: !3, line: 4, type: !8, isLocal: false, isDefinition: true)
+!8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
+!9 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !10, size: 64)
+!10 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !3, line: 1, size: 32, elements: !11)
+!11 = !{!12}
+!12 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !10, file: !3, line: 2, baseType: !8, size: 32)
+!13 = !{i32 7, !"Dwarf Version", i32 4}
+!14 = !{i32 2, !"Debug Info Version", i32 3}
+!15 = !{i32 1, !"wchar_size", i32 4}
+!16 = !{!"clang version 11.0.0"}
+!17 = distinct !DISubprogram(name: "d", scope: !3, file: !3, line: 5, type: !18, scopeLine: 5, flags: DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !20)
+!18 = !DISubroutineType(types: !19)
+!19 = !{null}
+!20 = !{!21}
+!21 = !DILocalVariable(name: "e", scope: !17, file: !3, line: 6, type: !22)
+!22 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !8, size: 64)
+!23 = !DILocation(line: 6, column: 13, scope: !17)
+!28 = !DILocation(line: 6, column: 18, scope: !17)
+!29 = !DILocation(line: 0, scope: !17)
+!30 = !DILocation(line: 7, column: 7, scope: !17)
+!33 = !DILocation(line: 7, column: 5, scope: !17)
+!34 = !DILocation(line: 8, column: 1, scope: !17)
diff --git a/llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_at_return.mir b/llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_at_return.mir
index dcdaed64e88a64..7de399905c5033 100644
--- a/llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_at_return.mir
+++ b/llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_at_return.mir
@@ -8,10 +8,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-scei-ps4"
- define hidden i32 @main(i32 %arg, i8** nocapture readnone %argv) local_unnamed_addr !dbg !8 {
+ define hidden i32 @main(i32 %arg, ptr nocapture readnone %argv) local_unnamed_addr !dbg !8 {
entry:
call void @llvm.dbg.value(metadata i32 %arg, metadata !19, metadata !DIExpression()), !dbg !22
- call void @llvm.dbg.value(metadata i8** %argv, metadata !20, metadata !DIExpression()), !dbg !22
+ call void @llvm.dbg.value(metadata ptr %argv, metadata !20, metadata !DIExpression()), !dbg !22
%add = shl nsw i32 %arg, 1, !dbg !23
call void @llvm.dbg.value(metadata i32 %add, metadata !21, metadata !DIExpression()), !dbg !22
ret i32 %add, !dbg !24
diff --git a/llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_still_clobbers.mir b/llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_still_clobbers.mir
index 2828d640c23d11..88cb84a3cae202 100644
--- a/llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_still_clobbers.mir
+++ b/llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_still_clobbers.mir
@@ -9,10 +9,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-scei-ps4"
- define hidden i32 @main(i32 %arg, i8** nocapture readnone %argv) local_unnamed_addr !dbg !8 {
+ define hidden i32 @main(i32 %arg, ptr nocapture readnone %argv) local_unnamed_addr !dbg !8 {
entry:
call void @llvm.dbg.value(metadata i32 %arg, metadata !19, metadata !DIExpression()), !dbg !22
- call void @llvm.dbg.value(metadata i8** %argv, metadata !20, metadata !DIExpression()), !dbg !22
+ call void @llvm.dbg.value(metadata ptr %argv, metadata !20, metadata !DIExpression()), !dbg !22
%add = shl nsw i32 %arg, 1, !dbg !23
call void @llvm.dbg.value(metadata i32 %add, metadata !21, metadata !DIExpression()), !dbg !22
ret i32 %add, !dbg !24
diff --git a/llvm/test/DebugInfo/X86/debug-info-blocks.ll b/llvm/test/DebugInfo/X86/debug-info-blocks.ll
index 5dacd711ad6049..c7c3a682e86ee4 100644
--- a/llvm/test/DebugInfo/X86/debug-info-blocks.ll
+++ b/llvm/test/DebugInfo/X86/debug-info-blocks.ll
@@ -48,217 +48,217 @@ target triple = "x86_64-apple-darwin"
%0 = type opaque
%1 = type opaque
-%struct._class_t = type { %struct._class_t*, %struct._class_t*, %struct._objc_cache*, i8* (i8*, i8*)**, %struct._class_ro_t* }
+%struct._class_t = type { ptr, ptr, ptr, ptr, ptr }
%struct._objc_cache = type opaque
-%struct._class_ro_t = type { i32, i32, i32, i8*, i8*, %struct.__method_list_t*, %struct._objc_protocol_list*, %struct._ivar_list_t*, i8*, %struct._prop_list_t* }
+%struct._class_ro_t = type { i32, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%struct.__method_list_t = type { i32, i32, [0 x %struct._objc_method] }
-%struct._objc_method = type { i8*, i8*, i8* }
-%struct._objc_protocol_list = type { i64, [0 x %struct._protocol_t*] }
-%struct._protocol_t = type { i8*, i8*, %struct._objc_protocol_list*, %struct.__method_list_t*, %struct.__method_list_t*, %struct.__method_list_t*, %struct.__method_list_t*, %struct._prop_list_t*, i32, i32, i8** }
+%struct._objc_method = type { ptr, ptr, ptr }
+%struct._objc_protocol_list = type { i64, [0 x ptr] }
+%struct._protocol_t = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr }
%struct._prop_list_t = type { i32, i32, [0 x %struct._prop_t] }
-%struct._prop_t = type { i8*, i8* }
+%struct._prop_t = type { ptr, ptr }
%struct._ivar_list_t = type { i32, i32, [0 x %struct._ivar_t] }
-%struct._ivar_t = type { i64*, i8*, i8*, i32, i32 }
-%struct._message_ref_t = type { i8*, i8* }
-%struct._objc_super = type { i8*, i8* }
+%struct._ivar_t = type { ptr, ptr, ptr, i32, i32 }
+%struct._message_ref_t = type { ptr, ptr }
+%struct._objc_super = type { ptr, ptr }
%struct.__block_descriptor = type { i64, i64 }
-%struct.__block_literal_generic = type { i8*, i32, i32, i8*, %struct.__block_descriptor* }
+%struct.__block_literal_generic = type { ptr, i32, i32, ptr, ptr }
-@"OBJC_CLASS_$_A" = global %struct._class_t { %struct._class_t* @"OBJC_METACLASS_$_A", %struct._class_t* @"OBJC_CLASS_$_NSObject", %struct._objc_cache* @_objc_empty_cache, i8* (i8*, i8*)** @_objc_empty_vtable, %struct._class_ro_t* @"\01l_OBJC_CLASS_RO_$_A" }, section "__DATA, __objc_data", align 8
-@"\01L_OBJC_CLASSLIST_SUP_REFS_$_" = internal global %struct._class_t* @"OBJC_CLASS_$_A", section "__DATA, __objc_superrefs, regular, no_dead_strip", align 8
+@"OBJC_CLASS_$_A" = global %struct._class_t { ptr @"OBJC_METACLASS_$_A", ptr @"OBJC_CLASS_$_NSObject", ptr @_objc_empty_cache, ptr @_objc_empty_vtable, ptr @"\01l_OBJC_CLASS_RO_$_A" }, section "__DATA, __objc_data", align 8
+@"\01L_OBJC_CLASSLIST_SUP_REFS_$_" = internal global ptr @"OBJC_CLASS_$_A", section "__DATA, __objc_superrefs, regular, no_dead_strip", align 8
@"\01L_OBJC_METH_VAR_NAME_" = internal global [5 x i8] c"init\00", section "__TEXT,__objc_methname,cstring_literals", align 1
-@"\01L_OBJC_SELECTOR_REFERENCES_" = internal externally_initialized global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @"\01L_OBJC_METH_VAR_NAME_", i32 0, i32 0), section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
+@"\01L_OBJC_SELECTOR_REFERENCES_" = internal externally_initialized global ptr @"\01L_OBJC_METH_VAR_NAME_", section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
@"OBJC_CLASS_$_NSMutableDictionary" = external global %struct._class_t
-@"\01L_OBJC_CLASSLIST_REFERENCES_$_" = internal global %struct._class_t* @"OBJC_CLASS_$_NSMutableDictionary", section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8
+@"\01L_OBJC_CLASSLIST_REFERENCES_$_" = internal global ptr @"OBJC_CLASS_$_NSMutableDictionary", section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8
@"\01L_OBJC_METH_VAR_NAME_1" = internal global [6 x i8] c"alloc\00", section "__TEXT,__objc_methname,cstring_literals", align 1
-@"\01l_objc_msgSend_fixup_alloc" = weak hidden global { i8* (i8*, %struct._message_ref_t*, ...)*, i8* } { i8* (i8*, %struct._message_ref_t*, ...)* @objc_msgSend_fixup, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01L_OBJC_METH_VAR_NAME_1", i32 0, i32 0) }, section "__DATA, __objc_msgrefs, coalesced", align 16
+@"\01l_objc_msgSend_fixup_alloc" = weak hidden global { ptr, ptr } { ptr @objc_msgSend_fixup, ptr @"\01L_OBJC_METH_VAR_NAME_1" }, section "__DATA, __objc_msgrefs, coalesced", align 16
@"\01L_OBJC_METH_VAR_NAME_2" = internal global [6 x i8] c"count\00", section "__TEXT,__objc_methname,cstring_literals", align 1
-@"\01l_objc_msgSend_fixup_count" = weak hidden global { i8* (i8*, %struct._message_ref_t*, ...)*, i8* } { i8* (i8*, %struct._message_ref_t*, ...)* @objc_msgSend_fixup, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01L_OBJC_METH_VAR_NAME_2", i32 0, i32 0) }, section "__DATA, __objc_msgrefs, coalesced", align 16
+@"\01l_objc_msgSend_fixup_count" = weak hidden global { ptr, ptr } { ptr @objc_msgSend_fixup, ptr @"\01L_OBJC_METH_VAR_NAME_2" }, section "__DATA, __objc_msgrefs, coalesced", align 16
@"OBJC_IVAR_$_A.ivar" = global i64 0, section "__DATA, __objc_ivar", align 8
- at _NSConcreteStackBlock = external global i8*
+ at _NSConcreteStackBlock = external global ptr
@.str = private unnamed_addr constant [6 x i8] c"v8@?0\00", align 1
- at __block_descriptor_tmp = internal constant { i64, i64, i8*, i8*, i8*, i64 } { i64 0, i64 40, i8* bitcast (void (i8*, i8*)* @__copy_helper_block_ to i8*), i8* bitcast (void (i8*)* @__destroy_helper_block_ to i8*), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), i64 256 }
+ at __block_descriptor_tmp = internal constant { i64, i64, ptr, ptr, ptr, i64 } { i64 0, i64 40, ptr @__copy_helper_block_, ptr @__destroy_helper_block_, ptr @.str, i64 256 }
@_objc_empty_cache = external global %struct._objc_cache
- at _objc_empty_vtable = external global i8* (i8*, i8*)*
+ at _objc_empty_vtable = external global ptr
@"OBJC_METACLASS_$_NSObject" = external global %struct._class_t
@"\01L_OBJC_CLASS_NAME_" = internal global [2 x i8] c"A\00", section "__TEXT,__objc_classname,cstring_literals", align 1
-@"\01l_OBJC_METACLASS_RO_$_A" = internal global %struct._class_ro_t { i32 1, i32 40, i32 40, i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @"\01L_OBJC_CLASS_NAME_", i32 0, i32 0), %struct.__method_list_t* null, %struct._objc_protocol_list* null, %struct._ivar_list_t* null, i8* null, %struct._prop_list_t* null }, section "__DATA, __objc_const", align 8
-@"OBJC_METACLASS_$_A" = global %struct._class_t { %struct._class_t* @"OBJC_METACLASS_$_NSObject", %struct._class_t* @"OBJC_METACLASS_$_NSObject", %struct._objc_cache* @_objc_empty_cache, i8* (i8*, i8*)** @_objc_empty_vtable, %struct._class_ro_t* @"\01l_OBJC_METACLASS_RO_$_A" }, section "__DATA, __objc_data", align 8
+@"\01l_OBJC_METACLASS_RO_$_A" = internal global %struct._class_ro_t { i32 1, i32 40, i32 40, ptr null, ptr @"\01L_OBJC_CLASS_NAME_", ptr null, ptr null, ptr null, ptr null, ptr null }, section "__DATA, __objc_const", align 8
+@"OBJC_METACLASS_$_A" = global %struct._class_t { ptr @"OBJC_METACLASS_$_NSObject", ptr @"OBJC_METACLASS_$_NSObject", ptr @_objc_empty_cache, ptr @_objc_empty_vtable, ptr @"\01l_OBJC_METACLASS_RO_$_A" }, section "__DATA, __objc_data", align 8
@"OBJC_CLASS_$_NSObject" = external global %struct._class_t
@"\01L_OBJC_METH_VAR_TYPE_" = internal global [8 x i8] c"@16 at 0:8\00", section "__TEXT,__objc_methtype,cstring_literals", align 1
-@"\01l_OBJC_$_INSTANCE_METHODS_A" = internal global { i32, i32, [1 x %struct._objc_method] } { i32 24, i32 1, [1 x %struct._objc_method] [%struct._objc_method { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @"\01L_OBJC_METH_VAR_NAME_", i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @"\01L_OBJC_METH_VAR_TYPE_", i32 0, i32 0), i8* bitcast (i8* (%0*, i8*)* @"\01-[A init]" to i8*) }] }, section "__DATA, __objc_const", align 8
+@"\01l_OBJC_$_INSTANCE_METHODS_A" = internal global { i32, i32, [1 x %struct._objc_method] } { i32 24, i32 1, [1 x %struct._objc_method] [%struct._objc_method { ptr @"\01L_OBJC_METH_VAR_NAME_", ptr @"\01L_OBJC_METH_VAR_TYPE_", ptr @"\01-[A init]" }] }, section "__DATA, __objc_const", align 8
@"\01L_OBJC_METH_VAR_NAME_3" = internal global [5 x i8] c"ivar\00", section "__TEXT,__objc_methname,cstring_literals", align 1
@"\01L_OBJC_METH_VAR_TYPE_4" = internal global [2 x i8] c"i\00", section "__TEXT,__objc_methtype,cstring_literals", align 1
-@"\01l_OBJC_$_INSTANCE_VARIABLES_A" = internal global { i32, i32, [1 x %struct._ivar_t] } { i32 32, i32 1, [1 x %struct._ivar_t] [%struct._ivar_t { i64* @"OBJC_IVAR_$_A.ivar", i8* getelementptr inbounds ([5 x i8], [5 x i8]* @"\01L_OBJC_METH_VAR_NAME_3", i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @"\01L_OBJC_METH_VAR_TYPE_4", i32 0, i32 0), i32 2, i32 4 }] }, section "__DATA, __objc_const", align 8
-@"\01l_OBJC_CLASS_RO_$_A" = internal global %struct._class_ro_t { i32 0, i32 0, i32 4, i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @"\01L_OBJC_CLASS_NAME_", i32 0, i32 0), %struct.__method_list_t* bitcast ({ i32, i32, [1 x %struct._objc_method] }* @"\01l_OBJC_$_INSTANCE_METHODS_A" to %struct.__method_list_t*), %struct._objc_protocol_list* null, %struct._ivar_list_t* bitcast ({ i32, i32, [1 x %struct._ivar_t] }* @"\01l_OBJC_$_INSTANCE_VARIABLES_A" to %struct._ivar_list_t*), i8* null, %struct._prop_list_t* null }, section "__DATA, __objc_const", align 8
-@"\01L_OBJC_CLASSLIST_REFERENCES_$_5" = internal global %struct._class_t* @"OBJC_CLASS_$_A", section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8
-@"\01L_OBJC_LABEL_CLASS_$" = internal global [1 x i8*] [i8* bitcast (%struct._class_t* @"OBJC_CLASS_$_A" to i8*)], section "__DATA, __objc_classlist, regular, no_dead_strip", align 8
- at llvm.used = appending global [14 x i8*] [i8* bitcast (%struct._class_t** @"\01L_OBJC_CLASSLIST_SUP_REFS_$_" to i8*), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @"\01L_OBJC_METH_VAR_NAME_", i32 0, i32 0), i8* bitcast (i8** @"\01L_OBJC_SELECTOR_REFERENCES_" to i8*), i8* bitcast (%struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_" to i8*), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01L_OBJC_METH_VAR_NAME_1", i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01L_OBJC_METH_VAR_NAME_2", i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @"\01L_OBJC_CLASS_NAME_", i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @"\01L_OBJC_METH_VAR_TYPE_", i32 0, i32 0), i8* bitcast ({ i32, i32, [1 x %struct._objc_method] }* @"\01l_OBJC_$_INSTANCE_METHODS_A" to i8*), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @"\01L_OBJC_METH_VAR_NAME_3", i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @"\01L_OBJC_METH_VAR_TYPE_4", i32 0, i32 0), i8* bitcast ({ i32, i32, [1 x %struct._ivar_t] }* @"\01l_OBJC_$_INSTANCE_VARIABLES_A" to i8*), i8* bitcast (%struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_5" to i8*), i8* bitcast ([1 x i8*]* @"\01L_OBJC_LABEL_CLASS_$" to i8*)], section "llvm.metadata"
+@"\01l_OBJC_$_INSTANCE_VARIABLES_A" = internal global { i32, i32, [1 x %struct._ivar_t] } { i32 32, i32 1, [1 x %struct._ivar_t] [%struct._ivar_t { ptr @"OBJC_IVAR_$_A.ivar", ptr @"\01L_OBJC_METH_VAR_NAME_3", ptr @"\01L_OBJC_METH_VAR_TYPE_4", i32 2, i32 4 }] }, section "__DATA, __objc_const", align 8
+@"\01l_OBJC_CLASS_RO_$_A" = internal global %struct._class_ro_t { i32 0, i32 0, i32 4, ptr null, ptr @"\01L_OBJC_CLASS_NAME_", ptr @"\01l_OBJC_$_INSTANCE_METHODS_A", ptr null, ptr @"\01l_OBJC_$_INSTANCE_VARIABLES_A", ptr null, ptr null }, section "__DATA, __objc_const", align 8
+@"\01L_OBJC_CLASSLIST_REFERENCES_$_5" = internal global ptr @"OBJC_CLASS_$_A", section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8
+@"\01L_OBJC_LABEL_CLASS_$" = internal global [1 x ptr] [ptr @"OBJC_CLASS_$_A"], section "__DATA, __objc_classlist, regular, no_dead_strip", align 8
+ at llvm.used = appending global [14 x ptr] [ptr @"\01L_OBJC_CLASSLIST_SUP_REFS_$_", ptr @"\01L_OBJC_METH_VAR_NAME_", ptr @"\01L_OBJC_SELECTOR_REFERENCES_", ptr @"\01L_OBJC_CLASSLIST_REFERENCES_$_", ptr @"\01L_OBJC_METH_VAR_NAME_1", ptr @"\01L_OBJC_METH_VAR_NAME_2", ptr @"\01L_OBJC_CLASS_NAME_", ptr @"\01L_OBJC_METH_VAR_TYPE_", ptr @"\01l_OBJC_$_INSTANCE_METHODS_A", ptr @"\01L_OBJC_METH_VAR_NAME_3", ptr @"\01L_OBJC_METH_VAR_TYPE_4", ptr @"\01l_OBJC_$_INSTANCE_VARIABLES_A", ptr @"\01L_OBJC_CLASSLIST_REFERENCES_$_5", ptr @"\01L_OBJC_LABEL_CLASS_$"], section "llvm.metadata"
-define internal i8* @"\01-[A init]"(%0* %self, i8* %_cmd) #0 !dbg !13 {
- %1 = alloca %0*, align 8
- %2 = alloca i8*, align 8
+define internal ptr @"\01-[A init]"(ptr %self, ptr %_cmd) #0 !dbg !13 {
+ %1 = alloca ptr, align 8
+ %2 = alloca ptr, align 8
%3 = alloca %struct._objc_super
- %4 = alloca <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, align 8
- store %0* %self, %0** %1, align 8
- call void @llvm.dbg.declare(metadata %0** %1, metadata !60, metadata !DIExpression()), !dbg !62
- store i8* %_cmd, i8** %2, align 8
- call void @llvm.dbg.declare(metadata i8** %2, metadata !63, metadata !DIExpression()), !dbg !62
- %5 = load %0*, %0** %1, !dbg !65
- %6 = bitcast %0* %5 to i8*, !dbg !65
- %7 = getelementptr inbounds %struct._objc_super, %struct._objc_super* %3, i32 0, i32 0, !dbg !65
- store i8* %6, i8** %7, !dbg !65
- %8 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_SUP_REFS_$_", !dbg !65
- %9 = bitcast %struct._class_t* %8 to i8*, !dbg !65
- %10 = getelementptr inbounds %struct._objc_super, %struct._objc_super* %3, i32 0, i32 1, !dbg !65
- store i8* %9, i8** %10, !dbg !65
- %11 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", !dbg !65, !invariant.load !67
- %12 = call i8* bitcast (i8* (%struct._objc_super*, i8*, ...)* @objc_msgSendSuper2 to i8* (%struct._objc_super*, i8*)*)(%struct._objc_super* %3, i8* %11), !dbg !65
- %13 = bitcast i8* %12 to %0*, !dbg !65
- store %0* %13, %0** %1, align 8, !dbg !65
- %14 = icmp ne %0* %13, null, !dbg !65
+ %4 = alloca <{ ptr, i32, i32, ptr, ptr, ptr }>, align 8
+ store ptr %self, ptr %1, align 8
+ call void @llvm.dbg.declare(metadata ptr %1, metadata !60, metadata !DIExpression()), !dbg !62
+ store ptr %_cmd, ptr %2, align 8
+ call void @llvm.dbg.declare(metadata ptr %2, metadata !63, metadata !DIExpression()), !dbg !62
+ %5 = load ptr, ptr %1, !dbg !65
+ %6 = bitcast ptr %5 to ptr, !dbg !65
+ %7 = getelementptr inbounds %struct._objc_super, ptr %3, i32 0, i32 0, !dbg !65
+ store ptr %6, ptr %7, !dbg !65
+ %8 = load ptr, ptr @"\01L_OBJC_CLASSLIST_SUP_REFS_$_", !dbg !65
+ %9 = bitcast ptr %8 to ptr, !dbg !65
+ %10 = getelementptr inbounds %struct._objc_super, ptr %3, i32 0, i32 1, !dbg !65
+ store ptr %9, ptr %10, !dbg !65
+ %11 = load ptr, ptr @"\01L_OBJC_SELECTOR_REFERENCES_", !dbg !65, !invariant.load !67
+ %12 = call ptr @objc_msgSendSuper2(ptr %3, ptr %11), !dbg !65
+ %13 = bitcast ptr %12 to ptr, !dbg !65
+ store ptr %13, ptr %1, align 8, !dbg !65
+ %14 = icmp ne ptr %13, null, !dbg !65
br i1 %14, label %15, label %24, !dbg !65
; <label>:15 ; preds = %0
- %16 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, i32 0, i32 0, !dbg !68
- store i8* bitcast (i8** @_NSConcreteStackBlock to i8*), i8** %16, !dbg !68
- %17 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, i32 0, i32 1, !dbg !68
- store i32 -1040187392, i32* %17, !dbg !68
- %18 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, i32 0, i32 2, !dbg !68
- store i32 0, i32* %18, !dbg !68
- %19 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, i32 0, i32 3, !dbg !68
- store i8* bitcast (void (i8*)* @"__9-[A init]_block_invoke" to i8*), i8** %19, !dbg !68
- %20 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, i32 0, i32 4, !dbg !68
- store %struct.__block_descriptor* bitcast ({ i64, i64, i8*, i8*, i8*, i64 }* @__block_descriptor_tmp to %struct.__block_descriptor*), %struct.__block_descriptor** %20, !dbg !68
- %21 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, i32 0, i32 5, !dbg !68
- %22 = load %0*, %0** %1, align 8, !dbg !68
- store %0* %22, %0** %21, align 8, !dbg !68
- %23 = bitcast <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4 to void ()*, !dbg !68
- call void @run(void ()* %23), !dbg !68
+ %16 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %4, i32 0, i32 0, !dbg !68
+ store ptr @_NSConcreteStackBlock, ptr %16, !dbg !68
+ %17 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %4, i32 0, i32 1, !dbg !68
+ store i32 -1040187392, ptr %17, !dbg !68
+ %18 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %4, i32 0, i32 2, !dbg !68
+ store i32 0, ptr %18, !dbg !68
+ %19 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %4, i32 0, i32 3, !dbg !68
+ store ptr @"__9-[A init]_block_invoke", ptr %19, !dbg !68
+ %20 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %4, i32 0, i32 4, !dbg !68
+ store ptr @__block_descriptor_tmp, ptr %20, !dbg !68
+ %21 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %4, i32 0, i32 5, !dbg !68
+ %22 = load ptr, ptr %1, align 8, !dbg !68
+ store ptr %22, ptr %21, align 8, !dbg !68
+ %23 = bitcast ptr %4 to ptr, !dbg !68
+ call void @run(ptr %23), !dbg !68
br label %24, !dbg !70
; <label>:24 ; preds = %15, %0
- %25 = load %0*, %0** %1, align 8, !dbg !71
- %26 = bitcast %0* %25 to i8*, !dbg !71
- ret i8* %26, !dbg !71
+ %25 = load ptr, ptr %1, align 8, !dbg !71
+ %26 = bitcast ptr %25 to ptr, !dbg !71
+ ret ptr %26, !dbg !71
}
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
-declare i8* @objc_msgSendSuper2(%struct._objc_super*, i8*, ...)
+declare ptr @objc_msgSendSuper2(ptr, ptr, ...)
-define internal void @run(void ()* %block) #0 !dbg !39 {
- %1 = alloca void ()*, align 8
- store void ()* %block, void ()** %1, align 8
- call void @llvm.dbg.declare(metadata void ()** %1, metadata !72, metadata !DIExpression()), !dbg !73
- %2 = load void ()*, void ()** %1, align 8, !dbg !74
- %3 = bitcast void ()* %2 to %struct.__block_literal_generic*, !dbg !74
- %4 = getelementptr inbounds %struct.__block_literal_generic, %struct.__block_literal_generic* %3, i32 0, i32 3, !dbg !74
- %5 = bitcast %struct.__block_literal_generic* %3 to i8*, !dbg !74
- %6 = load i8*, i8** %4, !dbg !74
- %7 = bitcast i8* %6 to void (i8*)*, !dbg !74
- call void %7(i8* %5), !dbg !74
+define internal void @run(ptr %block) #0 !dbg !39 {
+ %1 = alloca ptr, align 8
+ store ptr %block, ptr %1, align 8
+ call void @llvm.dbg.declare(metadata ptr %1, metadata !72, metadata !DIExpression()), !dbg !73
+ %2 = load ptr, ptr %1, align 8, !dbg !74
+ %3 = bitcast ptr %2 to ptr, !dbg !74
+ %4 = getelementptr inbounds %struct.__block_literal_generic, ptr %3, i32 0, i32 3, !dbg !74
+ %5 = bitcast ptr %3 to ptr, !dbg !74
+ %6 = load ptr, ptr %4, !dbg !74
+ %7 = bitcast ptr %6 to ptr, !dbg !74
+ call void %7(ptr %5), !dbg !74
ret void, !dbg !75
}
-define internal void @"__9-[A init]_block_invoke"(i8* %.block_descriptor) #0 !dbg !27 {
- %1 = alloca i8*, align 8
- %2 = alloca <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>*, align 8
- %d = alloca %1*, align 8
- store i8* %.block_descriptor, i8** %1, align 8
- %3 = load i8*, i8** %1
- call void @llvm.dbg.value(metadata i8* %3, metadata !76, metadata !DIExpression()), !dbg !88
- call void @llvm.dbg.declare(metadata i8* %.block_descriptor, metadata !76, metadata !DIExpression()), !dbg !88
- %4 = bitcast i8* %.block_descriptor to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>*, !dbg !88
- store <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>** %2, align 8, !dbg !88
- %5 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, i32 0, i32 5, !dbg !88
- call void @llvm.dbg.declare(metadata <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>** %2, metadata !89, metadata !111), !dbg !90
- call void @llvm.dbg.declare(metadata %1** %d, metadata !91, metadata !DIExpression()), !dbg !100
- %6 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_", !dbg !100
- %7 = bitcast %struct._class_t* %6 to i8*, !dbg !100
- %8 = load i8*, i8** getelementptr inbounds (%struct._message_ref_t, %struct._message_ref_t* bitcast ({ i8* (i8*, %struct._message_ref_t*, ...)*, i8* }* @"\01l_objc_msgSend_fixup_alloc" to %struct._message_ref_t*), i32 0, i32 0), !dbg !100
- %9 = bitcast i8* %8 to i8* (i8*, i8*)*, !dbg !100
- %10 = call i8* %9(i8* %7, i8* bitcast ({ i8* (i8*, %struct._message_ref_t*, ...)*, i8* }* @"\01l_objc_msgSend_fixup_alloc" to i8*)), !dbg !100
- %11 = bitcast i8* %10 to %1*, !dbg !100
- %12 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", !dbg !100, !invariant.load !67
- %13 = bitcast %1* %11 to i8*, !dbg !100
- %14 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %13, i8* %12), !dbg !100
- %15 = bitcast i8* %14 to %1*, !dbg !100
- store %1* %15, %1** %d, align 8, !dbg !100
- %16 = load %1*, %1** %d, align 8, !dbg !101
- %17 = bitcast %1* %16 to i8*, !dbg !101
- %18 = load i8*, i8** getelementptr inbounds (%struct._message_ref_t, %struct._message_ref_t* bitcast ({ i8* (i8*, %struct._message_ref_t*, ...)*, i8* }* @"\01l_objc_msgSend_fixup_count" to %struct._message_ref_t*), i32 0, i32 0), !dbg !101
- %19 = bitcast i8* %18 to i32 (i8*, i8*)*, !dbg !101
- %20 = call i32 %19(i8* %17, i8* bitcast ({ i8* (i8*, %struct._message_ref_t*, ...)*, i8* }* @"\01l_objc_msgSend_fixup_count" to i8*)), !dbg !101
+define internal void @"__9-[A init]_block_invoke"(ptr %.block_descriptor) #0 !dbg !27 {
+ %1 = alloca ptr, align 8
+ %2 = alloca ptr, align 8
+ %d = alloca ptr, align 8
+ store ptr %.block_descriptor, ptr %1, align 8
+ %3 = load ptr, ptr %1
+ call void @llvm.dbg.value(metadata ptr %3, metadata !76, metadata !DIExpression()), !dbg !88
+ call void @llvm.dbg.declare(metadata ptr %.block_descriptor, metadata !76, metadata !DIExpression()), !dbg !88
+ %4 = bitcast ptr %.block_descriptor to ptr, !dbg !88
+ store ptr %4, ptr %2, align 8, !dbg !88
+ %5 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %4, i32 0, i32 5, !dbg !88
+ call void @llvm.dbg.declare(metadata ptr %2, metadata !89, metadata !111), !dbg !90
+ call void @llvm.dbg.declare(metadata ptr %d, metadata !91, metadata !DIExpression()), !dbg !100
+ %6 = load ptr, ptr @"\01L_OBJC_CLASSLIST_REFERENCES_$_", !dbg !100
+ %7 = bitcast ptr %6 to ptr, !dbg !100
+ %8 = load ptr, ptr @"\01l_objc_msgSend_fixup_alloc", !dbg !100
+ %9 = bitcast ptr %8 to ptr, !dbg !100
+ %10 = call ptr %9(ptr %7, ptr @"\01l_objc_msgSend_fixup_alloc"), !dbg !100
+ %11 = bitcast ptr %10 to ptr, !dbg !100
+ %12 = load ptr, ptr @"\01L_OBJC_SELECTOR_REFERENCES_", !dbg !100, !invariant.load !67
+ %13 = bitcast ptr %11 to ptr, !dbg !100
+ %14 = call ptr @objc_msgSend(ptr %13, ptr %12), !dbg !100
+ %15 = bitcast ptr %14 to ptr, !dbg !100
+ store ptr %15, ptr %d, align 8, !dbg !100
+ %16 = load ptr, ptr %d, align 8, !dbg !101
+ %17 = bitcast ptr %16 to ptr, !dbg !101
+ %18 = load ptr, ptr @"\01l_objc_msgSend_fixup_count", !dbg !101
+ %19 = bitcast ptr %18 to ptr, !dbg !101
+ %20 = call i32 %19(ptr %17, ptr @"\01l_objc_msgSend_fixup_count"), !dbg !101
%21 = add nsw i32 42, %20, !dbg !101
- %22 = load %0*, %0** %5, align 8, !dbg !101
- %23 = load i64, i64* @"OBJC_IVAR_$_A.ivar", !dbg !101, !invariant.load !67
- %24 = bitcast %0* %22 to i8*, !dbg !101
- %25 = getelementptr inbounds i8, i8* %24, i64 %23, !dbg !101
- %26 = bitcast i8* %25 to i32*, !dbg !101
- store i32 %21, i32* %26, align 4, !dbg !101
+ %22 = load ptr, ptr %5, align 8, !dbg !101
+ %23 = load i64, ptr @"OBJC_IVAR_$_A.ivar", !dbg !101, !invariant.load !67
+ %24 = bitcast ptr %22 to ptr, !dbg !101
+ %25 = getelementptr inbounds i8, ptr %24, i64 %23, !dbg !101
+ %26 = bitcast ptr %25 to ptr, !dbg !101
+ store i32 %21, ptr %26, align 4, !dbg !101
ret void, !dbg !90
}
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
-declare i8* @objc_msgSend_fixup(i8*, %struct._message_ref_t*, ...)
+declare ptr @objc_msgSend_fixup(ptr, ptr, ...)
-declare i8* @objc_msgSend(i8*, i8*, ...) #2
+declare ptr @objc_msgSend(ptr, ptr, ...) #2
-define internal void @__copy_helper_block_(i8*, i8*) !dbg !31 {
- %3 = alloca i8*, align 8
- %4 = alloca i8*, align 8
- store i8* %0, i8** %3, align 8
- call void @llvm.dbg.declare(metadata i8** %3, metadata !102, metadata !DIExpression()), !dbg !103
- store i8* %1, i8** %4, align 8
- call void @llvm.dbg.declare(metadata i8** %4, metadata !104, metadata !DIExpression()), !dbg !103
- %5 = load i8*, i8** %4, !dbg !103
- %6 = bitcast i8* %5 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>*, !dbg !103
- %7 = load i8*, i8** %3, !dbg !103
- %8 = bitcast i8* %7 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>*, !dbg !103
- %9 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %6, i32 0, i32 5, !dbg !103
- %10 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %8, i32 0, i32 5, !dbg !103
- %11 = load %0*, %0** %9, !dbg !103
- %12 = bitcast %0* %11 to i8*, !dbg !103
- %13 = bitcast %0** %10 to i8*, !dbg !103
- call void @_Block_object_assign(i8* %13, i8* %12, i32 3) #3, !dbg !103
+define internal void @__copy_helper_block_(ptr, ptr) !dbg !31 {
+ %3 = alloca ptr, align 8
+ %4 = alloca ptr, align 8
+ store ptr %0, ptr %3, align 8
+ call void @llvm.dbg.declare(metadata ptr %3, metadata !102, metadata !DIExpression()), !dbg !103
+ store ptr %1, ptr %4, align 8
+ call void @llvm.dbg.declare(metadata ptr %4, metadata !104, metadata !DIExpression()), !dbg !103
+ %5 = load ptr, ptr %4, !dbg !103
+ %6 = bitcast ptr %5 to ptr, !dbg !103
+ %7 = load ptr, ptr %3, !dbg !103
+ %8 = bitcast ptr %7 to ptr, !dbg !103
+ %9 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %6, i32 0, i32 5, !dbg !103
+ %10 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %8, i32 0, i32 5, !dbg !103
+ %11 = load ptr, ptr %9, !dbg !103
+ %12 = bitcast ptr %11 to ptr, !dbg !103
+ %13 = bitcast ptr %10 to ptr, !dbg !103
+ call void @_Block_object_assign(ptr %13, ptr %12, i32 3) #3, !dbg !103
ret void, !dbg !103
}
-declare void @_Block_object_assign(i8*, i8*, i32)
+declare void @_Block_object_assign(ptr, ptr, i32)
-define internal void @__destroy_helper_block_(i8*) !dbg !35 {
- %2 = alloca i8*, align 8
- store i8* %0, i8** %2, align 8
- call void @llvm.dbg.declare(metadata i8** %2, metadata !105, metadata !DIExpression()), !dbg !106
- %3 = load i8*, i8** %2, !dbg !106
- %4 = bitcast i8* %3 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>*, !dbg !106
- %5 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, i32 0, i32 5, !dbg !106
- %6 = load %0*, %0** %5, !dbg !106
- %7 = bitcast %0* %6 to i8*, !dbg !106
- call void @_Block_object_dispose(i8* %7, i32 3) #3, !dbg !106
+define internal void @__destroy_helper_block_(ptr) !dbg !35 {
+ %2 = alloca ptr, align 8
+ store ptr %0, ptr %2, align 8
+ call void @llvm.dbg.declare(metadata ptr %2, metadata !105, metadata !DIExpression()), !dbg !106
+ %3 = load ptr, ptr %2, !dbg !106
+ %4 = bitcast ptr %3 to ptr, !dbg !106
+ %5 = getelementptr inbounds <{ ptr, i32, i32, ptr, ptr, ptr }>, ptr %4, i32 0, i32 5, !dbg !106
+ %6 = load ptr, ptr %5, !dbg !106
+ %7 = bitcast ptr %6 to ptr, !dbg !106
+ call void @_Block_object_dispose(ptr %7, i32 3) #3, !dbg !106
ret void, !dbg !106
}
-declare void @_Block_object_dispose(i8*, i32)
+declare void @_Block_object_dispose(ptr, i32)
define i32 @main() #0 !dbg !36 {
%1 = alloca i32, align 4
- %a = alloca %0*, align 8
- store i32 0, i32* %1
- call void @llvm.dbg.declare(metadata %0** %a, metadata !107, metadata !DIExpression()), !dbg !108
- %2 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_5", !dbg !108
- %3 = bitcast %struct._class_t* %2 to i8*, !dbg !108
- %4 = load i8*, i8** getelementptr inbounds (%struct._message_ref_t, %struct._message_ref_t* bitcast ({ i8* (i8*, %struct._message_ref_t*, ...)*, i8* }* @"\01l_objc_msgSend_fixup_alloc" to %struct._message_ref_t*), i32 0, i32 0), !dbg !108
- %5 = bitcast i8* %4 to i8* (i8*, i8*)*, !dbg !108
- %6 = call i8* %5(i8* %3, i8* bitcast ({ i8* (i8*, %struct._message_ref_t*, ...)*, i8* }* @"\01l_objc_msgSend_fixup_alloc" to i8*)), !dbg !108
- %7 = bitcast i8* %6 to %0*, !dbg !108
- %8 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", !dbg !108, !invariant.load !67
- %9 = bitcast %0* %7 to i8*, !dbg !108
- %10 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %9, i8* %8), !dbg !108
- %11 = bitcast i8* %10 to %0*, !dbg !108
- store %0* %11, %0** %a, align 8, !dbg !108
+ %a = alloca ptr, align 8
+ store i32 0, ptr %1
+ call void @llvm.dbg.declare(metadata ptr %a, metadata !107, metadata !DIExpression()), !dbg !108
+ %2 = load ptr, ptr @"\01L_OBJC_CLASSLIST_REFERENCES_$_5", !dbg !108
+ %3 = bitcast ptr %2 to ptr, !dbg !108
+ %4 = load ptr, ptr @"\01l_objc_msgSend_fixup_alloc", !dbg !108
+ %5 = bitcast ptr %4 to ptr, !dbg !108
+ %6 = call ptr %5(ptr %3, ptr @"\01l_objc_msgSend_fixup_alloc"), !dbg !108
+ %7 = bitcast ptr %6 to ptr, !dbg !108
+ %8 = load ptr, ptr @"\01L_OBJC_SELECTOR_REFERENCES_", !dbg !108, !invariant.load !67
+ %9 = bitcast ptr %7 to ptr, !dbg !108
+ %10 = call ptr @objc_msgSend(ptr %9, ptr %8), !dbg !108
+ %11 = bitcast ptr %10 to ptr, !dbg !108
+ store ptr %11, ptr %a, align 8, !dbg !108
ret i32 0, !dbg !109
}
diff --git a/llvm/test/DebugInfo/X86/debug-loc-asan.mir b/llvm/test/DebugInfo/X86/debug-loc-asan.mir
index 6f90c94e9947b7..e50bd6060f804f 100644
--- a/llvm/test/DebugInfo/X86/debug-loc-asan.mir
+++ b/llvm/test/DebugInfo/X86/debug-loc-asan.mir
@@ -49,8 +49,8 @@
define i32 @_Z3bari(i32 %y) #0 !dbg !6 {
entry:
%MyAlloca = alloca [64 x i8], align 32
- %0 = ptrtoint [64 x i8]* %MyAlloca to i64
- %1 = load i32, i32* @__asan_option_detect_stack_use_after_return
+ %0 = ptrtoint ptr %MyAlloca to i64
+ %1 = load i32, ptr @__asan_option_detect_stack_use_after_return
%2 = icmp ne i32 %1, 0
br i1 %2, label %3, label %5
@@ -61,27 +61,27 @@
; <label>:5: ; preds = %3, %entry
%6 = phi i64 [ %0, %entry ], [ %4, %3 ]
%7 = add i64 %6, 32
- %8 = inttoptr i64 %7 to i32*
- %9 = inttoptr i64 %6 to i64*
- store i64 1102416563, i64* %9
+ %8 = inttoptr i64 %7 to ptr
+ %9 = inttoptr i64 %6 to ptr
+ store i64 1102416563, ptr %9
%10 = add i64 %6, 8
- %11 = inttoptr i64 %10 to i64*
- store i64 ptrtoint ([16 x i8]* @___asan_gen_ to i64), i64* %11
+ %11 = inttoptr i64 %10 to ptr
+ store i64 ptrtoint (ptr @___asan_gen_ to i64), ptr %11
%12 = add i64 %6, 16
- %13 = inttoptr i64 %12 to i64*
- store i64 ptrtoint (i32 (i32)* @_Z3bari to i64), i64* %13
+ %13 = inttoptr i64 %12 to ptr
+ store i64 ptrtoint (ptr @_Z3bari to i64), ptr %13
%14 = lshr i64 %6, 3
%15 = add i64 %14, 2147450880
%16 = add i64 %15, 0
- %17 = inttoptr i64 %16 to i64*
- store i64 -868083100587789839, i64* %17
- %18 = ptrtoint i32* %8 to i64
+ %17 = inttoptr i64 %16 to ptr
+ store i64 -868083100587789839, ptr %17
+ %18 = ptrtoint ptr %8 to i64
%19 = lshr i64 %18, 3
%20 = add i64 %19, 2147450880
- %21 = inttoptr i64 %20 to i8*
- %22 = load i8, i8* %21
+ %21 = inttoptr i64 %20 to ptr
+ %22 = load i8, ptr %21
%23 = icmp ne i8 %22, 0
- call void @llvm.dbg.declare(metadata i32* %8, metadata !10, metadata !DIExpression(DW_OP_deref)), !dbg !11
+ call void @llvm.dbg.declare(metadata ptr %8, metadata !10, metadata !DIExpression(DW_OP_deref)), !dbg !11
br i1 %23, label %24, label %30
; <label>:24: ; preds = %5
@@ -97,12 +97,12 @@
unreachable
; <label>:30: ; preds = %24, %5
- store i32 %y, i32* %8, align 4
- %31 = ptrtoint i32* %8 to i64, !dbg !12
+ store i32 %y, ptr %8, align 4
+ %31 = ptrtoint ptr %8 to i64, !dbg !12
%32 = lshr i64 %31, 3, !dbg !12
%33 = add i64 %32, 2147450880, !dbg !12
- %34 = inttoptr i64 %33 to i8*, !dbg !12
- %35 = load i8, i8* %34, !dbg !12
+ %34 = inttoptr i64 %33 to ptr, !dbg !12
+ %35 = load i8, ptr %34, !dbg !12
%36 = icmp ne i8 %35, 0, !dbg !12
br i1 %36, label %37, label %43, !dbg !12
@@ -119,27 +119,27 @@
unreachable
; <label>:43: ; preds = %37, %30
- %44 = load i32, i32* %8, align 4, !dbg !12
+ %44 = load i32, ptr %8, align 4, !dbg !12
%add = add nsw i32 %44, 2, !dbg !12
- store i64 1172321806, i64* %9, !dbg !12
+ store i64 1172321806, ptr %9, !dbg !12
%45 = icmp ne i64 %6, %0, !dbg !12
br i1 %45, label %46, label %53, !dbg !12
; <label>:46: ; preds = %43
%47 = add i64 %15, 0, !dbg !12
- %48 = inttoptr i64 %47 to i64*, !dbg !12
- store i64 -723401728380766731, i64* %48, !dbg !12
+ %48 = inttoptr i64 %47 to ptr, !dbg !12
+ store i64 -723401728380766731, ptr %48, !dbg !12
%49 = add i64 %6, 56, !dbg !12
- %50 = inttoptr i64 %49 to i64*, !dbg !12
- %51 = load i64, i64* %50, !dbg !12
- %52 = inttoptr i64 %51 to i8*, !dbg !12
- store i8 0, i8* %52, !dbg !12
+ %50 = inttoptr i64 %49 to ptr, !dbg !12
+ %51 = load i64, ptr %50, !dbg !12
+ %52 = inttoptr i64 %51 to ptr, !dbg !12
+ store i8 0, ptr %52, !dbg !12
br label %56, !dbg !12
; <label>:53: ; preds = %43
%54 = add i64 %15, 0, !dbg !12
- %55 = inttoptr i64 %54 to i64*, !dbg !12
- store i64 0, i64* %55, !dbg !12
+ %55 = inttoptr i64 %54 to ptr, !dbg !12
+ store i64 0, ptr %55, !dbg !12
br label %56, !dbg !12
; <label>:56: ; preds = %53, %46
@@ -158,7 +158,7 @@
declare i64 @__asan_stack_malloc_0(i64, i64)
; Function Attrs: nounwind
- declare void @llvm.stackprotector(i8*, i8**) #2
+ declare void @llvm.stackprotector(ptr, ptr) #2
attributes #0 = { nounwind sanitize_address uwtable "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind readnone speculatable }
diff --git a/llvm/test/DebugInfo/X86/debug-loc-frame.ll b/llvm/test/DebugInfo/X86/debug-loc-frame.ll
index f4f71c533ed077..ff9c4154b90b97 100644
--- a/llvm/test/DebugInfo/X86/debug-loc-frame.ll
+++ b/llvm/test/DebugInfo/X86/debug-loc-frame.ll
@@ -43,31 +43,31 @@ source_filename = "frame.c"
@data = dso_local global i32 17, align 4, !dbg !0
@sum = dso_local local_unnamed_addr global i32 0, align 4, !dbg !6
@zero = dso_local local_unnamed_addr global i32 0, align 4, !dbg !9
- at ptr = common dso_local local_unnamed_addr global i32* null, align 8, !dbg !11
+ at ptr = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !11
define dso_local i32 @main() local_unnamed_addr !dbg !17 {
entry:
%val = alloca i32, align 4
- %0 = bitcast i32* %val to i8*, !dbg !22
- call void @llvm.lifetime.start(i64 4, i8* %0), !dbg !22
- %1 = load i32, i32* @data, align 4, !dbg !23, !tbaa !24
+ %0 = bitcast ptr %val to ptr, !dbg !22
+ call void @llvm.lifetime.start(i64 4, ptr %0), !dbg !22
+ %1 = load i32, ptr @data, align 4, !dbg !23, !tbaa !24
tail call void @llvm.dbg.value(metadata i32 %1, metadata !21, metadata !28), !dbg !29
- store i32 %1, i32* %val, align 4, !dbg !30, !tbaa !24
- tail call void @llvm.dbg.value(metadata i32* %val, metadata !21, metadata !31), !dbg !29
- call void @foo(i32 1, i32* nonnull %val), !dbg !32
- call void @foo(i32 2, i32* nonnull @data), !dbg !33
- %2 = load i32, i32* @zero, align 4, !dbg !34, !tbaa !24
- call void @llvm.lifetime.end(i64 4, i8* %0), !dbg !35
+ store i32 %1, ptr %val, align 4, !dbg !30, !tbaa !24
+ tail call void @llvm.dbg.value(metadata ptr %val, metadata !21, metadata !31), !dbg !29
+ call void @foo(i32 1, ptr nonnull %val), !dbg !32
+ call void @foo(i32 2, ptr nonnull @data), !dbg !33
+ %2 = load i32, ptr @zero, align 4, !dbg !34, !tbaa !24
+ call void @llvm.lifetime.end(i64 4, ptr %0), !dbg !35
ret i32 %2, !dbg !36
}
; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #0
+declare void @llvm.lifetime.start(i64, ptr nocapture) #0
-declare void @foo(i32, i32*) local_unnamed_addr
+declare void @foo(i32, ptr) local_unnamed_addr
; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #0
+declare void @llvm.lifetime.end(i64, ptr nocapture) #0
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
diff --git a/llvm/test/DebugInfo/X86/debug-loc-offset.mir b/llvm/test/DebugInfo/X86/debug-loc-offset.mir
index e453788a6f8a8d..5c35626010aa3e 100644
--- a/llvm/test/DebugInfo/X86/debug-loc-offset.mir
+++ b/llvm/test/DebugInfo/X86/debug-loc-offset.mir
@@ -75,15 +75,15 @@
--- |
target triple = "i386-unknown-linux-gnu"
- %struct.A = type { i32 (...)**, i32 }
+ %struct.A = type { ptr, i32 }
; Function Attrs: nounwind
define i32 @_Z3bari(i32 %b) #0 !dbg !10 {
entry:
%b.addr = alloca i32, align 4
- store i32 %b, i32* %b.addr, align 4
+ store i32 %b, ptr %b.addr, align 4
call void @llvm.dbg.value(metadata i32 0, metadata !14, metadata !DIExpression()), !dbg !15
- %0 = load i32, i32* %b.addr, align 4, !dbg !16
+ %0 = load i32, ptr %b.addr, align 4, !dbg !16
call void @llvm.dbg.value(metadata i32 1, metadata !14, metadata !DIExpression()), !dbg !15
%add = add nsw i32 %0, 4, !dbg !16
ret i32 %add, !dbg !16
@@ -95,43 +95,43 @@
; Function Attrs: nounwind readnone speculatable
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
- define void @_Z3baz1A(%struct.A* %a) #2 !dbg !17 {
+ define void @_Z3baz1A(ptr %a) #2 !dbg !17 {
entry:
%z = alloca i32, align 4
- call void @llvm.dbg.declare(metadata %struct.A* %a, metadata !20, metadata !DIExpression(DW_OP_deref)), !dbg !21
- call void @llvm.dbg.declare(metadata i32* %z, metadata !22, metadata !DIExpression()), !dbg !23
- store i32 2, i32* %z, align 4, !dbg !23
- %var = getelementptr inbounds %struct.A, %struct.A* %a, i32 0, i32 1, !dbg !24
- %0 = load i32, i32* %var, align 4, !dbg !24
+ call void @llvm.dbg.declare(metadata ptr %a, metadata !20, metadata !DIExpression(DW_OP_deref)), !dbg !21
+ call void @llvm.dbg.declare(metadata ptr %z, metadata !22, metadata !DIExpression()), !dbg !23
+ store i32 2, ptr %z, align 4, !dbg !23
+ %var = getelementptr inbounds %struct.A, ptr %a, i32 0, i32 1, !dbg !24
+ %0 = load i32, ptr %var, align 4, !dbg !24
%cmp = icmp sgt i32 %0, 2, !dbg !24
br i1 %cmp, label %if.then, label %if.end, !dbg !24
if.then: ; preds = %entry
- %1 = load i32, i32* %z, align 4, !dbg !26
+ %1 = load i32, ptr %z, align 4, !dbg !26
%inc = add nsw i32 %1, 1, !dbg !26
- store i32 %inc, i32* %z, align 4, !dbg !26
+ store i32 %inc, ptr %z, align 4, !dbg !26
br label %if.end, !dbg !26
if.end: ; preds = %if.then, %entry
- %call = call signext i8 @_ZN1A3fooEv(%struct.A* %a), !dbg !27
+ %call = call signext i8 @_ZN1A3fooEv(ptr %a), !dbg !27
%conv = sext i8 %call to i32, !dbg !27
%cmp1 = icmp eq i32 %conv, 97, !dbg !27
br i1 %cmp1, label %if.then2, label %if.end4, !dbg !27
if.then2: ; preds = %if.end
- %2 = load i32, i32* %z, align 4, !dbg !29
+ %2 = load i32, ptr %z, align 4, !dbg !29
%inc3 = add nsw i32 %2, 1, !dbg !29
- store i32 %inc3, i32* %z, align 4, !dbg !29
+ store i32 %inc3, ptr %z, align 4, !dbg !29
br label %if.end4, !dbg !29
if.end4: ; preds = %if.then2, %if.end
ret void, !dbg !30
}
- declare signext i8 @_ZN1A3fooEv(%struct.A*) #2
+ declare signext i8 @_ZN1A3fooEv(ptr) #2
; Function Attrs: nounwind
- declare void @llvm.stackprotector(i8*, i8**) #3
+ declare void @llvm.stackprotector(ptr, ptr) #3
attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind readnone speculatable }
diff --git a/llvm/test/DebugInfo/X86/dw_op_minus.mir b/llvm/test/DebugInfo/X86/dw_op_minus.mir
index 2a408c97bf3d22..720758eb6ba315 100644
--- a/llvm/test/DebugInfo/X86/dw_op_minus.mir
+++ b/llvm/test/DebugInfo/X86/dw_op_minus.mir
@@ -29,30 +29,30 @@
# CHECK-NEXT: .byte 3 #
# CHECK-NEXT: .byte 28 # DW_OP_minus
--- |
- @__safestack_unsafe_stack_ptr = external thread_local(initialexec) global i8*
+ @__safestack_unsafe_stack_ptr = external thread_local(initialexec) global ptr
define void @f() !dbg !5 {
entry:
- %unsafe_stack_ptr = load i8*, i8** @__safestack_unsafe_stack_ptr
- %unsafe_stack_static_top = getelementptr i8, i8* %unsafe_stack_ptr, i32 -400
- store i8* %unsafe_stack_static_top, i8** @__safestack_unsafe_stack_ptr
- %0 = getelementptr i8, i8* %unsafe_stack_ptr, i32 -400
- %buf = bitcast i8* %0 to [100 x i32]*
- %1 = bitcast [100 x i32]* %buf to i8*, !dbg !14
- call void @llvm.dbg.declare(metadata i8* %unsafe_stack_ptr, metadata !9, metadata !DIExpression(DW_OP_constu, 400, DW_OP_minus)), !dbg !15
- %arraydecay = getelementptr inbounds [100 x i32], [100 x i32]* %buf, i64 0, i64 0, !dbg !16
- call void @Capture(i32* %arraydecay), !dbg !17
- store i8* %unsafe_stack_ptr, i8** @__safestack_unsafe_stack_ptr, !dbg !18
+ %unsafe_stack_ptr = load ptr, ptr @__safestack_unsafe_stack_ptr
+ %unsafe_stack_static_top = getelementptr i8, ptr %unsafe_stack_ptr, i32 -400
+ store ptr %unsafe_stack_static_top, ptr @__safestack_unsafe_stack_ptr
+ %0 = getelementptr i8, ptr %unsafe_stack_ptr, i32 -400
+ %buf = bitcast ptr %0 to ptr
+ %1 = bitcast ptr %buf to ptr, !dbg !14
+ call void @llvm.dbg.declare(metadata ptr %unsafe_stack_ptr, metadata !9, metadata !DIExpression(DW_OP_constu, 400, DW_OP_minus)), !dbg !15
+ %arraydecay = getelementptr inbounds [100 x i32], ptr %buf, i64 0, i64 0, !dbg !16
+ call void @Capture(ptr %arraydecay), !dbg !17
+ store ptr %unsafe_stack_ptr, ptr @__safestack_unsafe_stack_ptr, !dbg !18
ret void, !dbg !18
}
; Function Attrs: nounwind readnone speculatable
declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
- declare void @Capture(i32*)
+ declare void @Capture(ptr)
; Function Attrs: nounwind
- declare void @llvm.stackprotector(i8*, i8**) #1
+ declare void @llvm.stackprotector(ptr, ptr) #1
attributes #0 = { nounwind readnone speculatable }
attributes #1 = { nounwind }
diff --git a/llvm/test/DebugInfo/X86/empty-and-one-elem-array.ll b/llvm/test/DebugInfo/X86/empty-and-one-elem-array.ll
index 17572a19e44f74..090bef9b39788f 100644
--- a/llvm/test/DebugInfo/X86/empty-and-one-elem-array.ll
+++ b/llvm/test/DebugInfo/X86/empty-and-one-elem-array.ll
@@ -9,16 +9,16 @@ define i32 @func() nounwind uwtable ssp !dbg !5 {
entry:
%my_foo = alloca %struct.foo, align 4
%my_bar = alloca %struct.bar, align 4
- call void @llvm.dbg.declare(metadata %struct.foo* %my_foo, metadata !10, metadata !DIExpression()), !dbg !19
- call void @llvm.dbg.declare(metadata %struct.bar* %my_bar, metadata !20, metadata !DIExpression()), !dbg !28
- %a = getelementptr inbounds %struct.foo, %struct.foo* %my_foo, i32 0, i32 0, !dbg !29
- store i32 3, i32* %a, align 4, !dbg !29
- %a1 = getelementptr inbounds %struct.bar, %struct.bar* %my_bar, i32 0, i32 0, !dbg !30
- store i32 5, i32* %a1, align 4, !dbg !30
- %a2 = getelementptr inbounds %struct.foo, %struct.foo* %my_foo, i32 0, i32 0, !dbg !31
- %0 = load i32, i32* %a2, align 4, !dbg !31
- %a3 = getelementptr inbounds %struct.bar, %struct.bar* %my_bar, i32 0, i32 0, !dbg !31
- %1 = load i32, i32* %a3, align 4, !dbg !31
+ call void @llvm.dbg.declare(metadata ptr %my_foo, metadata !10, metadata !DIExpression()), !dbg !19
+ call void @llvm.dbg.declare(metadata ptr %my_bar, metadata !20, metadata !DIExpression()), !dbg !28
+ %a = getelementptr inbounds %struct.foo, ptr %my_foo, i32 0, i32 0, !dbg !29
+ store i32 3, ptr %a, align 4, !dbg !29
+ %a1 = getelementptr inbounds %struct.bar, ptr %my_bar, i32 0, i32 0, !dbg !30
+ store i32 5, ptr %a1, align 4, !dbg !30
+ %a2 = getelementptr inbounds %struct.foo, ptr %my_foo, i32 0, i32 0, !dbg !31
+ %0 = load i32, ptr %a2, align 4, !dbg !31
+ %a3 = getelementptr inbounds %struct.bar, ptr %my_bar, i32 0, i32 0, !dbg !31
+ %1 = load i32, ptr %a3, align 4, !dbg !31
%add = add nsw i32 %0, %1, !dbg !31
ret i32 %add, !dbg !31
}
diff --git a/llvm/test/DebugInfo/X86/fragment-offset-order.ll b/llvm/test/DebugInfo/X86/fragment-offset-order.ll
index 31117f69d2221b..d86debf6a33394 100644
--- a/llvm/test/DebugInfo/X86/fragment-offset-order.ll
+++ b/llvm/test/DebugInfo/X86/fragment-offset-order.ll
@@ -34,8 +34,8 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at var.1 = internal unnamed_addr global i8* null, align 8, !dbg !0
- at var.3 = internal unnamed_addr global i8* null, align 8, !dbg !15
+ at var.1 = internal unnamed_addr global ptr null, align 8, !dbg !0
+ at var.3 = internal unnamed_addr global ptr null, align 8, !dbg !15
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!16, !17}
diff --git a/llvm/test/DebugInfo/X86/global-sra-struct-part-overlap-segment.ll b/llvm/test/DebugInfo/X86/global-sra-struct-part-overlap-segment.ll
index 11e5356ea20745..d7854cb822e3e9 100644
--- a/llvm/test/DebugInfo/X86/global-sra-struct-part-overlap-segment.ll
+++ b/llvm/test/DebugInfo/X86/global-sra-struct-part-overlap-segment.ll
@@ -40,101 +40,101 @@ define float @mymod_() local_unnamed_addr {
ret float undef
}
-define void @mymod_foo_(i64* noalias nocapture writeonly %foo, i64* noalias nocapture readonly %arg) local_unnamed_addr !dbg !22 {
+define void @mymod_foo_(ptr noalias nocapture writeonly %foo, ptr noalias nocapture readonly %arg) local_unnamed_addr !dbg !22 {
L.entry:
tail call void @llvm.experimental.noalias.scope.decl(metadata !23)
tail call void @llvm.experimental.noalias.scope.decl(metadata !26)
- %0 = bitcast i64* %arg to double*
- %1 = load double, double* %0, align 8, !noalias !23
- store double %1, double* bitcast (%struct.BSS3* @.BSS3 to double*), align 32, !noalias !28
- %2 = getelementptr i64, i64* %arg, i64 3
- %3 = bitcast i64* %2 to double*
- %4 = load double, double* %3, align 8, !alias.scope !26, !noalias !23
- store double %4, double* bitcast (i8* getelementptr inbounds (%struct.BSS3, %struct.BSS3* @.BSS3, i64 0, i32 0, i64 8) to double*), align 8, !noalias !28
- %5 = getelementptr i64, i64* %arg, i64 6
- %6 = bitcast i64* %5 to double*
- %7 = load double, double* %6, align 8, !alias.scope !26, !noalias !23
- store double %7, double* bitcast (i8* getelementptr inbounds (%struct.BSS3, %struct.BSS3* @.BSS3, i64 0, i32 0, i64 16) to double*), align 16, !noalias !28
+ %0 = bitcast ptr %arg to ptr
+ %1 = load double, ptr %0, align 8, !noalias !23
+ store double %1, ptr @.BSS3, align 32, !noalias !28
+ %2 = getelementptr i64, ptr %arg, i64 3
+ %3 = bitcast ptr %2 to ptr
+ %4 = load double, ptr %3, align 8, !alias.scope !26, !noalias !23
+ store double %4, ptr getelementptr inbounds (%struct.BSS3, ptr @.BSS3, i64 0, i32 0, i64 8), align 8, !noalias !28
+ %5 = getelementptr i64, ptr %arg, i64 6
+ %6 = bitcast ptr %5 to ptr
+ %7 = load double, ptr %6, align 8, !alias.scope !26, !noalias !23
+ store double %7, ptr getelementptr inbounds (%struct.BSS3, ptr @.BSS3, i64 0, i32 0, i64 16), align 16, !noalias !28
%8 = fcmp une double %1, 0.000000e+00
br i1 %8, label %L.LB3_377.i, label %L.LB3_417.i
L.LB3_417.i: ; preds = %L.entry
- tail call void (i8*, i8*, i64, ...) bitcast (void (...)* @f90io_src_info03a to void (i8*, i8*, i64, ...)*)(i8* bitcast (i32* @.C359_mymod_bar_ to i8*), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.C357_mymod_bar_, i64 0, i64 0), i64 9), !noalias !28
- %9 = tail call i32 (i8*, i8*, i8*, i8*, ...) bitcast (i32 (...)* @f90io_print_init to i32 (i8*, i8*, i8*, i8*, ...)*)(i8* bitcast (i32* @.C360_mymod_bar_ to i8*), i8* null, i8* bitcast (i32* @.C330_mymod_bar_ to i8*), i8* bitcast (i32* @.C330_mymod_bar_ to i8*)), !noalias !28
- %10 = tail call i32 (i8*, i32, i64, ...) bitcast (i32 (...)* @f90io_sc_ch_ldw to i32 (i8*, i32, i64, ...)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.C363_mymod_bar_, i64 0, i64 0), i32 14, i64 2), !noalias !28
+ tail call void (ptr, ptr, i64, ...) @f90io_src_info03a(ptr @.C359_mymod_bar_, ptr @.C357_mymod_bar_, i64 9), !noalias !28
+ %9 = tail call i32 (ptr, ptr, ptr, ptr, ...) @f90io_print_init(ptr @.C360_mymod_bar_, ptr null, ptr @.C330_mymod_bar_, ptr @.C330_mymod_bar_), !noalias !28
+ %10 = tail call i32 (ptr, i32, i64, ...) @f90io_sc_ch_ldw(ptr @.C363_mymod_bar_, i32 14, i64 2), !noalias !28
%11 = tail call i32 (...) @f90io_ldw_end(), !noalias !28
- %.pre = load double, double* bitcast (%struct.BSS3* @.BSS3 to double*), align 32, !noalias !28
- %.pre1 = load double, double* bitcast (i8* getelementptr inbounds (%struct.BSS3, %struct.BSS3* @.BSS3, i64 0, i32 0, i64 8) to double*), align 8, !noalias !28
- %.pre2 = load double, double* bitcast (i8* getelementptr inbounds (%struct.BSS3, %struct.BSS3* @.BSS3, i64 0, i32 0, i64 16) to double*), align 16, !noalias !28
+ %.pre = load double, ptr @.BSS3, align 32, !noalias !28
+ %.pre1 = load double, ptr getelementptr inbounds (%struct.BSS3, ptr @.BSS3, i64 0, i32 0, i64 8), align 8, !noalias !28
+ %.pre2 = load double, ptr getelementptr inbounds (%struct.BSS3, ptr @.BSS3, i64 0, i32 0, i64 16), align 16, !noalias !28
br label %L.LB3_377.i
L.LB3_377.i: ; preds = %L.LB3_417.i, %L.entry
%12 = phi double [ %.pre2, %L.LB3_417.i ], [ %7, %L.entry ]
%13 = phi double [ %.pre1, %L.LB3_417.i ], [ %4, %L.entry ]
%14 = phi double [ %.pre, %L.LB3_417.i ], [ %1, %L.entry ]
- %15 = bitcast i64* %foo to i8*
+ %15 = bitcast ptr %foo to ptr
%16 = tail call double @llvm.floor.f64(double %14)
%17 = fptosi double %16 to i32
- %18 = bitcast i64* %foo to i32*
- store i32 %17, i32* %18, align 4, !alias.scope !23, !noalias !26
+ %18 = bitcast ptr %foo to ptr
+ store i32 %17, ptr %18, align 4, !alias.scope !23, !noalias !26
%19 = tail call double @llvm.floor.f64(double %13)
%20 = fptosi double %19 to i32
- %21 = getelementptr i8, i8* %15, i64 4
- %22 = bitcast i8* %21 to i32*
- store i32 %20, i32* %22, align 4, !alias.scope !23, !noalias !26
+ %21 = getelementptr i8, ptr %15, i64 4
+ %22 = bitcast ptr %21 to ptr
+ store i32 %20, ptr %22, align 4, !alias.scope !23, !noalias !26
%23 = tail call double @llvm.floor.f64(double %12)
%24 = fptosi double %23 to i32
- %25 = getelementptr i64, i64* %foo, i64 1
- %26 = bitcast i64* %25 to i32*
- store i32 %24, i32* %26, align 4, !alias.scope !23, !noalias !26
+ %25 = getelementptr i64, ptr %foo, i64 1
+ %26 = bitcast ptr %25 to ptr
+ store i32 %24, ptr %26, align 4, !alias.scope !23, !noalias !26
ret void
}
-define void @mymod_bar_(i64* noalias nocapture writeonly %bar, i64* noalias nocapture readonly %arg) local_unnamed_addr !dbg !9 {
+define void @mymod_bar_(ptr noalias nocapture writeonly %bar, ptr noalias nocapture readonly %arg) local_unnamed_addr !dbg !9 {
L.entry:
- %0 = bitcast i64* %arg to double*
- %1 = load double, double* %0, align 8
- store double %1, double* bitcast (%struct.BSS3* @.BSS3 to double*), align 32
- %2 = getelementptr i64, i64* %arg, i64 3
- %3 = bitcast i64* %2 to double*
- %4 = load double, double* %3, align 8
- store double %4, double* bitcast (i8* getelementptr inbounds (%struct.BSS3, %struct.BSS3* @.BSS3, i64 0, i32 0, i64 8) to double*), align 8
- %5 = getelementptr i64, i64* %arg, i64 6
- %6 = bitcast i64* %5 to double*
- %7 = load double, double* %6, align 8
- store double %7, double* bitcast (i8* getelementptr inbounds (%struct.BSS3, %struct.BSS3* @.BSS3, i64 0, i32 0, i64 16) to double*), align 16
+ %0 = bitcast ptr %arg to ptr
+ %1 = load double, ptr %0, align 8
+ store double %1, ptr @.BSS3, align 32
+ %2 = getelementptr i64, ptr %arg, i64 3
+ %3 = bitcast ptr %2 to ptr
+ %4 = load double, ptr %3, align 8
+ store double %4, ptr getelementptr inbounds (%struct.BSS3, ptr @.BSS3, i64 0, i32 0, i64 8), align 8
+ %5 = getelementptr i64, ptr %arg, i64 6
+ %6 = bitcast ptr %5 to ptr
+ %7 = load double, ptr %6, align 8
+ store double %7, ptr getelementptr inbounds (%struct.BSS3, ptr @.BSS3, i64 0, i32 0, i64 16), align 16
%8 = fcmp une double %1, 0.000000e+00
br i1 %8, label %L.LB3_377, label %L.LB3_417
L.LB3_417: ; preds = %L.entry
- tail call void (i8*, i8*, i64, ...) bitcast (void (...)* @f90io_src_info03a to void (i8*, i8*, i64, ...)*)(i8* bitcast (i32* @.C359_mymod_bar_ to i8*), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.C357_mymod_bar_, i64 0, i64 0), i64 9)
- %9 = tail call i32 (i8*, i8*, i8*, i8*, ...) bitcast (i32 (...)* @f90io_print_init to i32 (i8*, i8*, i8*, i8*, ...)*)(i8* bitcast (i32* @.C360_mymod_bar_ to i8*), i8* null, i8* bitcast (i32* @.C330_mymod_bar_ to i8*), i8* bitcast (i32* @.C330_mymod_bar_ to i8*))
- %10 = tail call i32 (i8*, i32, i64, ...) bitcast (i32 (...)* @f90io_sc_ch_ldw to i32 (i8*, i32, i64, ...)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.C363_mymod_bar_, i64 0, i64 0), i32 14, i64 2)
+ tail call void (ptr, ptr, i64, ...) @f90io_src_info03a(ptr @.C359_mymod_bar_, ptr @.C357_mymod_bar_, i64 9)
+ %9 = tail call i32 (ptr, ptr, ptr, ptr, ...) @f90io_print_init(ptr @.C360_mymod_bar_, ptr null, ptr @.C330_mymod_bar_, ptr @.C330_mymod_bar_)
+ %10 = tail call i32 (ptr, i32, i64, ...) @f90io_sc_ch_ldw(ptr @.C363_mymod_bar_, i32 14, i64 2)
%11 = tail call i32 (...) @f90io_ldw_end()
- %.pre = load double, double* bitcast (%struct.BSS3* @.BSS3 to double*), align 32
- %.pre1 = load double, double* bitcast (i8* getelementptr inbounds (%struct.BSS3, %struct.BSS3* @.BSS3, i64 0, i32 0, i64 8) to double*), align 8
- %.pre2 = load double, double* bitcast (i8* getelementptr inbounds (%struct.BSS3, %struct.BSS3* @.BSS3, i64 0, i32 0, i64 16) to double*), align 16
+ %.pre = load double, ptr @.BSS3, align 32
+ %.pre1 = load double, ptr getelementptr inbounds (%struct.BSS3, ptr @.BSS3, i64 0, i32 0, i64 8), align 8
+ %.pre2 = load double, ptr getelementptr inbounds (%struct.BSS3, ptr @.BSS3, i64 0, i32 0, i64 16), align 16
br label %L.LB3_377
L.LB3_377: ; preds = %L.LB3_417, %L.entry
%12 = phi double [ %.pre2, %L.LB3_417 ], [ %7, %L.entry ]
%13 = phi double [ %.pre1, %L.LB3_417 ], [ %4, %L.entry ]
%14 = phi double [ %.pre, %L.LB3_417 ], [ %1, %L.entry ]
- %15 = bitcast i64* %bar to i8*
+ %15 = bitcast ptr %bar to ptr
%16 = tail call double @llvm.floor.f64(double %14)
%17 = fptosi double %16 to i32
- %18 = bitcast i64* %bar to i32*
- store i32 %17, i32* %18, align 4
+ %18 = bitcast ptr %bar to ptr
+ store i32 %17, ptr %18, align 4
%19 = tail call double @llvm.floor.f64(double %13)
%20 = fptosi double %19 to i32
- %21 = getelementptr i8, i8* %15, i64 4
- %22 = bitcast i8* %21 to i32*
- store i32 %20, i32* %22, align 4
+ %21 = getelementptr i8, ptr %15, i64 4
+ %22 = bitcast ptr %21 to ptr
+ store i32 %20, ptr %22, align 4
%23 = tail call double @llvm.floor.f64(double %12)
%24 = fptosi double %23 to i32
- %25 = getelementptr i64, i64* %bar, i64 1
- %26 = bitcast i64* %25 to i32*
- store i32 %24, i32* %26, align 4
+ %25 = getelementptr i64, ptr %bar, i64 1
+ %26 = bitcast ptr %25 to ptr
+ store i32 %24, ptr %26, align 4
ret void
}
diff --git a/llvm/test/DebugInfo/X86/linkage-name.ll b/llvm/test/DebugInfo/X86/linkage-name.ll
index f5c82b1759a350..8eafd65de82f45 100644
--- a/llvm/test/DebugInfo/X86/linkage-name.ll
+++ b/llvm/test/DebugInfo/X86/linkage-name.ll
@@ -12,16 +12,16 @@ source_filename = "test/DebugInfo/X86/linkage-name.ll"
@a = global %class.A zeroinitializer, align 1, !dbg !0
; Function Attrs: nounwind ssp uwtable
-define i32 @_ZN1A1aEi(%class.A* %this, i32 %b) #0 align 2 !dbg !14 {
+define i32 @_ZN1A1aEi(ptr %this, i32 %b) #0 align 2 !dbg !14 {
entry:
- %this.addr = alloca %class.A*, align 8
+ %this.addr = alloca ptr, align 8
%b.addr = alloca i32, align 4
- store %class.A* %this, %class.A** %this.addr, align 8
- call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !15, metadata !17), !dbg !18
- store i32 %b, i32* %b.addr, align 4
- call void @llvm.dbg.declare(metadata i32* %b.addr, metadata !19, metadata !17), !dbg !20
- %this1 = load %class.A*, %class.A** %this.addr
- %0 = load i32, i32* %b.addr, align 4, !dbg !21
+ store ptr %this, ptr %this.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !15, metadata !17), !dbg !18
+ store i32 %b, ptr %b.addr, align 4
+ call void @llvm.dbg.declare(metadata ptr %b.addr, metadata !19, metadata !17), !dbg !20
+ %this1 = load ptr, ptr %this.addr
+ %0 = load i32, ptr %b.addr, align 4, !dbg !21
ret i32 %0, !dbg !21
}
diff --git a/llvm/test/DebugInfo/X86/live-debug-values-constprop.mir b/llvm/test/DebugInfo/X86/live-debug-values-constprop.mir
index 2137b52936e322..2dbe8fbc0f2a4f 100644
--- a/llvm/test/DebugInfo/X86/live-debug-values-constprop.mir
+++ b/llvm/test/DebugInfo/X86/live-debug-values-constprop.mir
@@ -8,7 +8,7 @@
source_filename = "<stdin>"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- define i32 @foo(i32* %bees, i32* %output) !dbg !4 {
+ define i32 @foo(ptr %bees, ptr %output) !dbg !4 {
entry:
br i1 undef, label %bb1, label %bb1
bb1:
@@ -19,7 +19,7 @@
ret i32 0
}
- define i32 @bar(i32* %bees, i32* %output) !dbg !40 {
+ define i32 @bar(ptr %bees, ptr %output) !dbg !40 {
entry:
br i1 undef, label %bb1, label %bb1
bb1:
@@ -30,7 +30,7 @@
ret i32 0
}
- define i32 @baz(i32* %bees, i32* %output) !dbg !80 {
+ define i32 @baz(ptr %bees, ptr %output) !dbg !80 {
entry:
br i1 undef, label %bb1, label %bb1
bb1:
@@ -41,7 +41,7 @@
ret i32 0
}
- define i32 @qux(i32* %bees, i32* %output) !dbg !120 {
+ define i32 @qux(ptr %bees, ptr %output) !dbg !120 {
entry:
br i1 undef, label %bb1, label %bb1
bb1:
@@ -59,7 +59,7 @@
declare void @llvm.dbg.declare(metadata, metadata, metadata)
; Function Attrs: nounwind
- declare void @llvm.stackprotector(i8*, i8**)
+ declare void @llvm.stackprotector(ptr, ptr)
!llvm.module.flags = !{!0, !100}
!llvm.dbg.cu = !{!1}
diff --git a/llvm/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir b/llvm/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
index d6bef189c1a97c..08130b47b4c5c9 100644
--- a/llvm/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
+++ b/llvm/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
@@ -6,14 +6,14 @@
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-darwin"
- %struct.S1 = type { float*, i32 }
+ %struct.S1 = type { ptr, i32 }
@p = common global %struct.S1 zeroinitializer, align 8, !dbg !0
; Function Attrs: nounwind optsize ssp
define void @foobar() !dbg !15 {
entry:
- tail call void @llvm.dbg.value(metadata %struct.S1* @p, metadata !18, metadata !DIExpression()) , !dbg !25
+ tail call void @llvm.dbg.value(metadata ptr @p, metadata !18, metadata !DIExpression()) , !dbg !25
ret void, !dbg !32
}
diff --git a/llvm/test/DebugInfo/X86/live-debug-vars-dse.mir b/llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
index c3032146f82636..9443ed5e332c13 100644
--- a/llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
+++ b/llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
@@ -35,25 +35,25 @@
; Function Attrs: nounwind readnone speculatable
declare void @llvm.dbg.value(metadata, metadata, metadata) #0
- declare void @escape(i32*)
+ declare void @escape(ptr)
; Function Attrs: nounwind uwtable
define void @f(i32 %x) #1 !dbg !8 {
entry:
%x.addr = alloca i32, align 4
- store i32 %x, i32* %x.addr, align 4
- call void @llvm.dbg.value(metadata i32* %x.addr, metadata !13, metadata !DIExpression()), !dbg !14
- call void @escape(i32* %x.addr), !dbg !15
+ store i32 %x, ptr %x.addr, align 4
+ call void @llvm.dbg.value(metadata ptr %x.addr, metadata !13, metadata !DIExpression()), !dbg !14
+ call void @escape(ptr %x.addr), !dbg !15
call void @llvm.dbg.value(metadata i32 1, metadata !13, metadata !DIExpression()), !dbg !16
- store i32 1, i32* @global, align 4, !dbg !17
- call void @llvm.dbg.value(metadata i32* %x.addr, metadata !13, metadata !DIExpression()), !dbg !18
- store i32 2, i32* %x.addr, align 4, !dbg !18
- call void @escape(i32* %x.addr), !dbg !19
+ store i32 1, ptr @global, align 4, !dbg !17
+ call void @llvm.dbg.value(metadata ptr %x.addr, metadata !13, metadata !DIExpression()), !dbg !18
+ store i32 2, ptr %x.addr, align 4, !dbg !18
+ call void @escape(ptr %x.addr), !dbg !19
ret void, !dbg !20
}
; Function Attrs: nounwind
- declare void @llvm.stackprotector(i8*, i8**) #2
+ declare void @llvm.stackprotector(ptr, ptr) #2
attributes #0 = { nounwind readnone speculatable }
attributes #1 = { nounwind uwtable }
diff --git a/llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir b/llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
index ba7f5ac1ddbcf4..c5b6d7381ace9a 100644
--- a/llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
+++ b/llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
@@ -44,33 +44,33 @@
@global = external global i32, align 4
declare void @llvm.dbg.value(metadata, metadata, metadata)
- declare void @escape(i32*)
+ declare void @escape(ptr)
define void @f1(i32 %x) !dbg !6 {
entry:
%x.addr = alloca i32, align 4
- store i32 %x, i32* %x.addr, align 4
- call void @llvm.dbg.value(metadata i32* %x.addr, metadata !11, metadata !DIExpression(DW_OP_deref)), !dbg !12
- call void @escape(i32* %x.addr), !dbg !12
- call void @llvm.dbg.value(metadata i32* %x.addr, metadata !11, metadata !DIExpression()), !dbg !12
- store i32 1, i32* @global, align 4, !dbg !12
- call void @llvm.dbg.value(metadata i32* %x.addr, metadata !11, metadata !DIExpression(DW_OP_deref)), !dbg !12
- store i32 2, i32* %x.addr, align 4, !dbg !12
- call void @escape(i32* %x.addr), !dbg !12
+ store i32 %x, ptr %x.addr, align 4
+ call void @llvm.dbg.value(metadata ptr %x.addr, metadata !11, metadata !DIExpression(DW_OP_deref)), !dbg !12
+ call void @escape(ptr %x.addr), !dbg !12
+ call void @llvm.dbg.value(metadata ptr %x.addr, metadata !11, metadata !DIExpression()), !dbg !12
+ store i32 1, ptr @global, align 4, !dbg !12
+ call void @llvm.dbg.value(metadata ptr %x.addr, metadata !11, metadata !DIExpression(DW_OP_deref)), !dbg !12
+ store i32 2, ptr %x.addr, align 4, !dbg !12
+ call void @escape(ptr %x.addr), !dbg !12
ret void, !dbg !12
}
define void @f2(i32 %x) !dbg !13 {
entry:
%x.addr = alloca i32, align 4
- store i32 %x, i32* %x.addr, align 4
- call void @llvm.dbg.value(metadata i32* %x.addr, metadata !14, metadata !DIExpression(DW_OP_deref, DW_OP_LLVM_fragment, 0, 16)), !dbg !15
- call void @escape(i32* %x.addr)
- call void @llvm.dbg.value(metadata i32* %x.addr, metadata !14, metadata !DIExpression(DW_OP_LLVM_fragment, 16, 16)), !dbg !15
- store i32 1, i32* @global, align 4
- call void @llvm.dbg.value(metadata i32* %x.addr, metadata !14, metadata !DIExpression(DW_OP_deref, DW_OP_LLVM_fragment, 0, 16)), !dbg !15
- store i32 2, i32* %x.addr, align 4
- call void @escape(i32* %x.addr)
+ store i32 %x, ptr %x.addr, align 4
+ call void @llvm.dbg.value(metadata ptr %x.addr, metadata !14, metadata !DIExpression(DW_OP_deref, DW_OP_LLVM_fragment, 0, 16)), !dbg !15
+ call void @escape(ptr %x.addr)
+ call void @llvm.dbg.value(metadata ptr %x.addr, metadata !14, metadata !DIExpression(DW_OP_LLVM_fragment, 16, 16)), !dbg !15
+ store i32 1, ptr @global, align 4
+ call void @llvm.dbg.value(metadata ptr %x.addr, metadata !14, metadata !DIExpression(DW_OP_deref, DW_OP_LLVM_fragment, 0, 16)), !dbg !15
+ store i32 2, ptr %x.addr, align 4
+ call void @escape(ptr %x.addr)
ret void
}
diff --git a/llvm/test/DebugInfo/X86/location-range-inlined-xblock.mir b/llvm/test/DebugInfo/X86/location-range-inlined-xblock.mir
index 4a8567363c1034..02e963865328ee 100644
--- a/llvm/test/DebugInfo/X86/location-range-inlined-xblock.mir
+++ b/llvm/test/DebugInfo/X86/location-range-inlined-xblock.mir
@@ -38,8 +38,8 @@
define dso_local i32 @_Z3funi(i32 %p) !dbg !11 {
entry:
call void @llvm.dbg.value(metadata i32 %p, metadata !15, metadata !DIExpression()), !dbg !16
- store i32 %p, i32* @glob, align 4, !dbg !17
- %0 = load i32, i32* @glob, align 4, !dbg !22
+ store i32 %p, ptr @glob, align 4, !dbg !17
+ %0 = load i32, ptr @glob, align 4, !dbg !22
call void @llvm.dbg.value(metadata i32 %0, metadata !27, metadata !DIExpression()), !dbg !30
call void @llvm.dbg.value(metadata i32 0, metadata !28, metadata !DIExpression()), !dbg !30
%tobool.i = icmp ne i32 %0, 0, !dbg !31
@@ -59,7 +59,7 @@
%r.0.i = phi i32 [ %call.i, %if.then.i ], [ %call1.i, %if.else.i ], !dbg !37
call void @llvm.dbg.value(metadata i32 %r.0.i, metadata !28, metadata !DIExpression()), !dbg !30
%mul.i = mul nsw i32 %r.0.i, %0, !dbg !38
- store i32 %mul.i, i32* @glob, align 4, !dbg !39
+ store i32 %mul.i, ptr @glob, align 4, !dbg !39
ret i32 0, !dbg !40
}
diff --git a/llvm/test/DebugInfo/X86/location-range.mir b/llvm/test/DebugInfo/X86/location-range.mir
index 2682d1d997a14c..f8f925dead0742 100644
--- a/llvm/test/DebugInfo/X86/location-range.mir
+++ b/llvm/test/DebugInfo/X86/location-range.mir
@@ -47,17 +47,17 @@
define dso_local i64 @funone() !dbg !15 {
entry:
- %0 = load i64, i64* @c, align 8, !dbg !21
+ %0 = load i64, ptr @c, align 8, !dbg !21
%tobool = icmp ne i64 %0, 0, !dbg !21
br i1 %tobool, label %if.then, label %if.end, !dbg !27
if.then: ; preds = %entry
- %1 = load i64, i64* @b, align 8, !dbg !21
+ %1 = load i64, ptr @b, align 8, !dbg !21
br label %cleanup, !dbg !21
if.end: ; preds = %entry
call void @llvm.dbg.value(metadata i32 0, metadata !19, metadata !DIExpression()), !dbg !27
- %2 = load i64, i64* @a, align 8, !dbg !27
+ %2 = load i64, ptr @a, align 8, !dbg !27
br label %cleanup, !dbg !27
cleanup: ; preds = %if.end, %if.then
@@ -67,12 +67,12 @@
define dso_local signext i16 @funtwo() !dbg !34 {
entry:
- %localtwo.sroa.0.0.copyload = load i16, i16* null, align 1, !dbg !48
+ %localtwo.sroa.0.0.copyload = load i16, ptr null, align 1, !dbg !48
call void @llvm.dbg.value(metadata i16 %localtwo.sroa.0.0.copyload, metadata !39, metadata !DIExpression()), !dbg !51
ret i16 %localtwo.sroa.0.0.copyload, !dbg !51
}
- declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg)
+ declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)
declare void @llvm.dbg.value(metadata, metadata, metadata)
!llvm.dbg.cu = !{!2}
@@ -145,7 +145,7 @@ body: |
name: funtwo
body: |
bb.0.entry:
- $eax = MOVZX32rm16 $noreg, 1, $noreg, 0, $noreg, debug-location !48 :: (load (s16) from `i16* null`, align 1)
+ $eax = MOVZX32rm16 $noreg, 1, $noreg, 0, $noreg, debug-location !48 :: (load (s16) from `ptr null`, align 1)
DBG_VALUE $ax, $noreg, !39, !DIExpression(), debug-location !51
RET64 $ax, debug-location !51
diff --git a/llvm/test/DebugInfo/X86/pr19307.mir b/llvm/test/DebugInfo/X86/pr19307.mir
index 594afc043f7f43..4ba1ca0343f7e4 100644
--- a/llvm/test/DebugInfo/X86/pr19307.mir
+++ b/llvm/test/DebugInfo/X86/pr19307.mir
@@ -28,54 +28,54 @@
target triple = "x86_64-unknown-linux-gnu"
%"class.std::basic_string" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" }
- %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* }
+ %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { ptr }
@.str = private unnamed_addr constant [7 x i8] c"items=\00", align 1
; Function Attrs: uwtable
- define void @_Z11parse_rangeRyS_Ss(i64* %offset, i64* %limit, %"class.std::basic_string"* %range) #0 !dbg !34 {
+ define void @_Z11parse_rangeRyS_Ss(ptr %offset, ptr %limit, ptr %range) #0 !dbg !34 {
entry:
- %offset.addr = alloca i64*, align 8
- %limit.addr = alloca i64*, align 8
- store i64* %offset, i64** %offset.addr, align 8
- call void @llvm.dbg.declare(metadata i64** %offset.addr, metadata !41, metadata !DIExpression()), !dbg !42
- store i64* %limit, i64** %limit.addr, align 8
- call void @llvm.dbg.declare(metadata i64** %limit.addr, metadata !43, metadata !DIExpression()), !dbg !42
- call void @llvm.dbg.declare(metadata %"class.std::basic_string"* %range, metadata !44, metadata !DIExpression(DW_OP_deref)), !dbg !45
- %call = call i32 @_ZNKSs7compareEmmPKc(%"class.std::basic_string"* %range, i64 0, i64 6, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i32 0, i32 0)), !dbg !46
+ %offset.addr = alloca ptr, align 8
+ %limit.addr = alloca ptr, align 8
+ store ptr %offset, ptr %offset.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %offset.addr, metadata !41, metadata !DIExpression()), !dbg !42
+ store ptr %limit, ptr %limit.addr, align 8
+ call void @llvm.dbg.declare(metadata ptr %limit.addr, metadata !43, metadata !DIExpression()), !dbg !42
+ call void @llvm.dbg.declare(metadata ptr %range, metadata !44, metadata !DIExpression(DW_OP_deref)), !dbg !45
+ %call = call i32 @_ZNKSs7compareEmmPKc(ptr %range, i64 0, i64 6, ptr @.str), !dbg !46
%cmp = icmp ne i32 %call, 0, !dbg !46
br i1 %cmp, label %if.then, label %lor.lhs.false, !dbg !46
lor.lhs.false: ; preds = %entry
- %call1 = call i8* @_ZNSsixEm(%"class.std::basic_string"* %range, i64 6), !dbg !48
- %0 = load i8, i8* %call1, !dbg !48
+ %call1 = call ptr @_ZNSsixEm(ptr %range, i64 6), !dbg !48
+ %0 = load i8, ptr %call1, !dbg !48
%conv = sext i8 %0 to i32, !dbg !48
%cmp2 = icmp eq i32 %conv, 45, !dbg !48
br i1 %cmp2, label %if.then, label %if.end, !dbg !48
if.then: ; preds = %lor.lhs.false, %entry
- %1 = load i64*, i64** %offset.addr, align 8, !dbg !50
- store i64 1, i64* %1, align 8, !dbg !50
+ %1 = load ptr, ptr %offset.addr, align 8, !dbg !50
+ store i64 1, ptr %1, align 8, !dbg !50
br label %if.end, !dbg !50
if.end: ; preds = %if.then, %lor.lhs.false
- %call3 = call %"class.std::basic_string"* @_ZNSs5eraseEmm(%"class.std::basic_string"* %range, i64 0, i64 6), !dbg !51
- %2 = load i64*, i64** %limit.addr, align 8, !dbg !52
- store i64 2, i64* %2, align 8, !dbg !52
+ %call3 = call ptr @_ZNSs5eraseEmm(ptr %range, i64 0, i64 6), !dbg !51
+ %2 = load ptr, ptr %limit.addr, align 8, !dbg !52
+ store i64 2, ptr %2, align 8, !dbg !52
ret void, !dbg !53
}
; Function Attrs: nounwind readnone speculatable
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
- declare i32 @_ZNKSs7compareEmmPKc(%"class.std::basic_string"*, i64, i64, i8*) #2
+ declare i32 @_ZNKSs7compareEmmPKc(ptr, i64, i64, ptr) #2
- declare i8* @_ZNSsixEm(%"class.std::basic_string"*, i64) #2
+ declare ptr @_ZNSsixEm(ptr, i64) #2
- declare %"class.std::basic_string"* @_ZNSs5eraseEmm(%"class.std::basic_string"*, i64, i64) #2
+ declare ptr @_ZNSs5eraseEmm(ptr, i64, i64) #2
; Function Attrs: nounwind
- declare void @llvm.stackprotector(i8*, i8**) #3
+ declare void @llvm.stackprotector(ptr, ptr) #3
attributes #0 = { uwtable "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind readnone speculatable }
diff --git a/llvm/test/DebugInfo/X86/prolog-params.mir b/llvm/test/DebugInfo/X86/prolog-params.mir
index 461801def7e795..af21bc85ccd746 100644
--- a/llvm/test/DebugInfo/X86/prolog-params.mir
+++ b/llvm/test/DebugInfo/X86/prolog-params.mir
@@ -37,15 +37,15 @@
call void @llvm.dbg.value(metadata i32 %p8, metadata !25, metadata !DIExpression()), !dbg !28
call void @llvm.dbg.value(metadata i32 %p1, metadata !26, metadata !DIExpression()), !dbg !28
call void @llvm.dbg.value(metadata i32 %p6, metadata !27, metadata !DIExpression()), !dbg !28
- %arraydecay1 = bitcast [2 x i32]* %arr to i32*, !dbg !28
- call void @bar(i32* nonnull %arraydecay1), !dbg !28
+ %arraydecay1 = bitcast ptr %arr to ptr, !dbg !28
+ call void @bar(ptr nonnull %arraydecay1), !dbg !28
ret void, !dbg !28
}
; Function Attrs: nounwind readnone speculatable
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
- declare dso_local void @bar(i32*) local_unnamed_addr
+ declare dso_local void @bar(ptr) local_unnamed_addr
; Function Attrs: nounwind readnone speculatable
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
diff --git a/llvm/test/DebugInfo/X86/single-location-inlined-param.mir b/llvm/test/DebugInfo/X86/single-location-inlined-param.mir
index 8b36f3ce44f6a8..d8cc0d212f6fc1 100644
--- a/llvm/test/DebugInfo/X86/single-location-inlined-param.mir
+++ b/llvm/test/DebugInfo/X86/single-location-inlined-param.mir
@@ -40,7 +40,7 @@
define dso_local i32 @fun(i32 %number) !dbg !11 {
entry:
call void @llvm.dbg.value(metadata i32 %number, metadata !17, metadata !DIExpression()), !dbg !24
- store i32 %number, i32* @glob, align 4, !dbg !27
+ store i32 %number, ptr @glob, align 4, !dbg !27
%tobool = icmp ne i32 %number, 0, !dbg !32
br i1 %tobool, label %return, label %if.end, !dbg !34
diff --git a/llvm/test/DebugInfo/X86/single-location-interrupted-scope.mir b/llvm/test/DebugInfo/X86/single-location-interrupted-scope.mir
index c5feecaab40dac..aa710fc8e6a529 100644
--- a/llvm/test/DebugInfo/X86/single-location-interrupted-scope.mir
+++ b/llvm/test/DebugInfo/X86/single-location-interrupted-scope.mir
@@ -55,9 +55,9 @@
define dso_local void @funone(i32 %one, i32 %two) local_unnamed_addr !dbg !17 {
entry:
call void @llvm.dbg.value(metadata i32 %one, metadata !20, metadata !DIExpression()), !dbg !23
- store i32 %one, i32* @globa, align 4, !dbg !25
+ store i32 %one, ptr @globa, align 4, !dbg !25
%add = add nsw i32 %two, %one, !dbg !30
- store i32 %add, i32* @globb, align 4, !dbg !31
+ store i32 %add, ptr @globb, align 4, !dbg !31
%cmp = icmp sgt i32 %add, 0, !dbg !32
br i1 %cmp, label %if.then, label %if.end, !dbg !34
@@ -72,9 +72,9 @@
define dso_local void @funtwo(i32 %one, i32 %two) local_unnamed_addr !dbg !37 {
entry:
call void @llvm.dbg.value(metadata i32 %one, metadata !20, metadata !DIExpression()), !dbg !41
- store i32 %one, i32* @globa, align 4, !dbg !43
+ store i32 %one, ptr @globa, align 4, !dbg !43
%add = add nsw i32 %two, %one, !dbg !44
- store i32 %add, i32* @globb, align 4, !dbg !45
+ store i32 %add, ptr @globb, align 4, !dbg !45
%cmp = icmp sgt i32 %two, 0, !dbg !46
br i1 %cmp, label %if.then, label %if.end, !dbg !48
diff --git a/llvm/test/DebugInfo/X86/single-location.mir b/llvm/test/DebugInfo/X86/single-location.mir
index eedbd9e83017ee..79049e31f3710e 100644
--- a/llvm/test/DebugInfo/X86/single-location.mir
+++ b/llvm/test/DebugInfo/X86/single-location.mir
@@ -29,7 +29,7 @@
define dso_local void @fun(i32 %p) local_unnamed_addr !dbg !15 {
entry:
call void @llvm.dbg.value(metadata i32 %p, metadata !20, metadata !DIExpression()), !dbg !23
- store i32 %p, i32* @global, align 4, !dbg !24
+ store i32 %p, ptr @global, align 4, !dbg !24
tail call void (...) @ext(), !dbg !29
ret void, !dbg !30
}
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll b/llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll
index 2d0bf287079f05..7d1c7941df4b09 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll
@@ -24,9 +24,9 @@ entry:
call void @llvm.dbg.assign(metadata i32 undef, metadata !16, metadata !DIExpression(), metadata !24, metadata ptr %a, metadata !DIExpression()), !dbg !34
;; unlink and undef a dbg.assign to avoid using sidetable for var loc.
call void @llvm.dbg.assign(metadata i32 undef, metadata !16, metadata !DIExpression(), metadata !26, metadata ptr undef, metadata !DIExpression()), !dbg !34
- %idx2 = getelementptr inbounds i32, i32* %a, i32 2
- store i32 100, i32* %idx2, !DIAssignID !25
- call void @llvm.dbg.assign(metadata i32 100, metadata !16, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32), metadata !25, metadata i32* %a, metadata !DIExpression(DW_OP_plus_uconst, 8)), !dbg !34
+ %idx2 = getelementptr inbounds i32, ptr %a, i32 2
+ store i32 100, ptr %idx2, !DIAssignID !25
+ call void @llvm.dbg.assign(metadata i32 100, metadata !16, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32), metadata !25, metadata ptr %a, metadata !DIExpression(DW_OP_plus_uconst, 8)), !dbg !34
ret void
}
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll b/llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
index 28195bc22a62dd..d1983340cb8642 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
@@ -82,9 +82,9 @@ entry:
ret i64 %add, !dbg !32
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
declare !dbg !33 dso_local void @_Z3escPl(ptr) local_unnamed_addr
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!0}
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll b/llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll
index 0211fb7e74bd0f..75b836664cda8f 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll
@@ -72,7 +72,7 @@ entry:
%nums = alloca %struct.Nums, align 4, !DIAssignID !45
call void @llvm.dbg.assign(metadata i1 undef, metadata !44, metadata !DIExpression(), metadata !45, metadata ptr %nums, metadata !DIExpression()), !dbg !46
; CHECK: DBG_VALUE %stack.0.nums, $noreg, ![[nums]], !DIExpression(DW_OP_deref)
- call void @llvm.memcpy.p0i8.p0i8.i64(ptr noundef nonnull align 4 dereferenceable(12) %nums, ptr noundef nonnull align 4 dereferenceable(12) %nums, i64 12, i1 false), !dbg !48, !DIAssignID !49
+ call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %nums, ptr noundef nonnull align 4 dereferenceable(12) %nums, i64 12, i1 false), !dbg !48, !DIAssignID !49
call void @llvm.dbg.assign(metadata i1 undef, metadata !44, metadata !DIExpression(), metadata !49, metadata ptr %nums, metadata !DIExpression()), !dbg !46
%call = tail call noundef zeroext i1 @_Z4stepv(), !dbg !50
br i1 %call, label %if.then, label %if.else, !dbg !52
@@ -101,10 +101,10 @@ if.end: ; preds = %if.else, %if.then
ret i32 0, !dbg !64
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #4
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4
declare !dbg !65 dso_local noundef zeroext i1 @_Z4stepv() local_unnamed_addr #5
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #4
-declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #2
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll b/llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll
index 597531aaf1d3f5..a91fe7f00aee05 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll
@@ -77,10 +77,10 @@ entry:
ret i32 0, !dbg !35
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare !dbg !36 dso_local void @_Z4stepv() local_unnamed_addr #2
declare !dbg !40 dso_local void @_Z3escP4Nums(ptr noundef) local_unnamed_addr #2
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) #3
!llvm.dbg.cu = !{!0}
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll b/llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll
index 1b2d047815755a..d68fb16a4f9637 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll
@@ -41,7 +41,7 @@ entry:
%local = alloca i32, align 4, !DIAssignID !13
call void @llvm.dbg.assign(metadata i1 undef, metadata !11, metadata !DIExpression(), metadata !13, metadata ptr %local, metadata !DIExpression()), !dbg !14
%0 = bitcast ptr %local to ptr, !dbg !15
- call void @llvm.lifetime.start.p0i8(i64 4, ptr nonnull %0) #4, !dbg !15
+ call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %0) #4, !dbg !15
call void @_Z3escPi(ptr nonnull %local), !dbg !16
%1 = load i32, ptr %local, align 4, !dbg !17
%tobool.not1 = icmp eq i32 %1, 0, !dbg !17
@@ -58,15 +58,15 @@ while.body: ; preds = %entry, %while.body
br i1 %tobool.not, label %while.end, label %while.body, !dbg !22, !llvm.loop !29
while.end: ; preds = %while.body, %entry
- call void @llvm.lifetime.end.p0i8(i64 4, ptr nonnull %0) #4, !dbg !32
+ call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %0) #4, !dbg !32
ret void, !dbg !32
}
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
declare !dbg !33 dso_local void @_Z3escPi(ptr) local_unnamed_addr
declare !dbg !37 dso_local i32 @_Z3getv() local_unnamed_addr
declare !dbg !40 dso_local void @_Z11doSomethingi(i32) local_unnamed_addr
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
!llvm.dbg.cu = !{!0}
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll b/llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll
index a9cc55dbe84747..5258ba41244500 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll
@@ -44,18 +44,18 @@ entry:
%local2 = alloca i32, align 4
call void @llvm.dbg.declare(metadata !2, metadata !32, metadata !DIExpression()), !dbg !14
%0 = bitcast ptr %local to ptr, !dbg !15
- call void @llvm.lifetime.start.p0i8(i64 4, ptr nonnull %0), !dbg !15
+ call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %0), !dbg !15
call void @_Z12maybe_writesPi(ptr nonnull %local), !dbg !16
call void @_Z3extiiiiiiiiii(i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9), !dbg !17
%1 = load i32, ptr %local, align 4, !dbg !18
- call void @llvm.lifetime.end.p0i8(i64 4, ptr nonnull %0), !dbg !23
+ call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %0), !dbg !23
ret i32 %1, !dbg !24
}
declare !dbg !25 dso_local void @_Z12maybe_writesPi(ptr) local_unnamed_addr
declare !dbg !29 dso_local void @_Z3extiiiiiiiiii(i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) local_unnamed_addr
-declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture)
-declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
declare void @llvm.dbg.declare(metadata, metadata, metadata)
More information about the llvm-commits
mailing list