brintos

brintos / llvm-project-archived public Read only

0
0
Text · 39.4 KiB · 718fa6f Raw
689 lines · plain
1# RUN: llc -O0 -start-before=livedebugvalues -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s2#3# Derived from (clang -O0 -g -fsanitize=address -fobjc-arc)4#   @protocol NSObject5#   @end6#   @interface NSObject<NSObject>{}7#   + (instancetype)alloc;8#   @end9#   struct CGSize {10#     double width;11#     double height;12#   };13#   typedef struct CGSize CGSize;14#   @interface Object : NSObject15#   - (instancetype)initWithSize:(CGSize)size;16#   - (id)aMessage;17#   @end18#   @implementation MyObject19#   + (id)doWithSize:(CGSize)imageSize andObject:(id)object {20#     return [object aMessage];21#   }22#   @end23#24# CHECK: .debug_info contents:25# CHECK: DW_TAG_subprogram26# CHECK-NEXT:   DW_AT_low_pc [DW_FORM_addr]     (0x0000000000000000)27# CHECK-NEXT:   DW_AT_high_pc [DW_FORM_addr]    ([[FN_END:.*]])28# CHECK: "_cmd"29# CHECK: DW_TAG_formal_parameter30# CHECK-NEXT: DW_AT_location31# CHECK-NEXT:   [0x{{.*}}, 0x{{.*}}):32# CHECK-NOT:    DW_AT_33# CHECK:        [0x{{.*}}, [[FN_END]]):34# CHECK-NEXT: DW_AT_name {{.*}}"imageSize"35--- |36  ; ModuleID = 'test/DebugInfo/AArch64/asan-stack-vars.ll'37  source_filename = "m.m"38  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"39  target triple = "arm64-apple-ios"40 41  %0 = type opaque42  %struct._class_t = type { ptr, ptr, ptr, ptr, ptr }43  %struct._objc_cache = type opaque44  %struct._class_ro_t = type { i32, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr }45  %struct.__method_list_t = type { i32, i32, [0 x %struct._objc_method] }46  %struct._objc_method = type { ptr, ptr, ptr }47  %struct._objc_protocol_list = type { i64, [0 x ptr] }48  %struct._protocol_t = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, ptr, ptr }49  %struct._ivar_list_t = type { i32, i32, [0 x %struct._ivar_t] }50  %struct._ivar_t = type { ptr, ptr, ptr, i32, i32 }51  %struct._prop_list_t = type { i32, i32, [0 x %struct._prop_t] }52  %struct._prop_t = type { ptr, ptr }53  %struct.CGSize = type { double, double }54 55  @"OBJC_CLASS_$_Object" = external global %struct._class_t56  @"OBJC_CLASSLIST_REFERENCES_$_" = private global ptr @"OBJC_CLASS_$_Object", section "__DATA, __objc_classrefs, regular, no_dead_strip", align 857  @OBJC_METH_VAR_NAME_ = private unnamed_addr constant [6 x i8] c"alloc\00", section "__TEXT,__objc_methname,cstring_literals", align 158  @OBJC_SELECTOR_REFERENCES_ = private externally_initialized global ptr @OBJC_METH_VAR_NAME_, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 859  @OBJC_METH_VAR_NAME_.1 = private unnamed_addr constant [14 x i8] c"initWithSize:\00", section "__TEXT,__objc_methname,cstring_literals", align 160  @OBJC_SELECTOR_REFERENCES_.2 = private externally_initialized global ptr @OBJC_METH_VAR_NAME_.1, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 861  @OBJC_METH_VAR_NAME_.3 = private unnamed_addr constant [9 x i8] c"aMessage\00", section "__TEXT,__objc_methname,cstring_literals", align 162  @OBJC_SELECTOR_REFERENCES_.4 = private externally_initialized global ptr @OBJC_METH_VAR_NAME_.3, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip", align 863  @_objc_empty_cache = external global %struct._objc_cache64  @"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 865  @"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 866  @OBJC_CLASS_NAME_ = private unnamed_addr constant [9 x i8] c"MyObject\00", section "__TEXT,__objc_classname,cstring_literals", align 167  @OBJC_METH_VAR_NAME_.5 = private unnamed_addr constant [12 x i8] c"doWithSize:\00", section "__TEXT,__objc_methname,cstring_literals", align 168  @OBJC_METH_VAR_TYPE_ = private unnamed_addr constant [21 x i8] c"@32@0:8{CGSize=dd}16\00", section "__TEXT,__objc_methtype,cstring_literals", align 169  @"\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 870  @"\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 871  @"\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 872  @"OBJC_LABEL_CLASS_$" = private global [1 x ptr] [ptr @"OBJC_CLASS_$_MyObject"], section "__DATA, __objc_classlist, regular, no_dead_strip", align 873  @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"74  @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 1, ptr @asan.module_ctor, ptr null }]75  @__asan_shadow_memory_dynamic_address = external global i6476  @___asan_gen_ = private unnamed_addr constant [34 x i8] c"2 32 16 9 imageSize 64 8 6 object\00", align 177  @__stack_chk_guard = external global ptr78 79  ; Function Attrs: noinline sanitize_address ssp uwtable80  define internal ptr @"\01+[MyObject doWithSize:]"(ptr %self, ptr %_cmd, [2 x double] %imageSize.coerce) #0 !dbg !14 {81  entry:82    %StackGuardSlot = alloca ptr83    %0 = call ptr @llvm.stackguard()84    call void @llvm.stackprotector(ptr %0, ptr %StackGuardSlot)85    %1 = load i64, ptr @__asan_shadow_memory_dynamic_address86    %self.addr = alloca ptr, align 887    %_cmd.addr = alloca ptr, align 888    %MyAlloca = alloca [96 x i8], align 32, !dbg !3589    %2 = ptrtoint ptr %MyAlloca to i64, !dbg !3590    %3 = add i64 %2, 32, !dbg !3591    %4 = inttoptr i64 %3 to ptr, !dbg !3592    %5 = add i64 %2, 64, !dbg !3593    %6 = inttoptr i64 %5 to ptr, !dbg !3594    %7 = inttoptr i64 %2 to ptr, !dbg !3595    store i64 1102416563, ptr %7, !dbg !3596    %8 = add i64 %2, 8, !dbg !3597    %9 = inttoptr i64 %8 to ptr, !dbg !3598    store i64 ptrtoint (ptr @___asan_gen_ to i64), ptr %9, !dbg !3599    %10 = add i64 %2, 16, !dbg !35100    %11 = inttoptr i64 %10 to ptr, !dbg !35101    store i64 ptrtoint (ptr @"\01+[MyObject doWithSize:]" to i64), ptr %11, !dbg !35102    %12 = lshr i64 %2, 3, !dbg !35103    %13 = add i64 %12, %1, !dbg !35104    %14 = add i64 %13, 0, !dbg !35105    %15 = inttoptr i64 %14 to ptr, !dbg !35106    store i64 -940689368107847183, ptr %15, align 1, !dbg !35107    %16 = add i64 %13, 9, !dbg !35108    %17 = inttoptr i64 %16 to ptr, !dbg !35109    store i16 -3085, ptr %17, align 1, !dbg !35110    %18 = add i64 %13, 11, !dbg !35111    %19 = inttoptr i64 %18 to ptr, !dbg !35112    store i8 -13, ptr %19, align 1, !dbg !35113    call void @llvm.dbg.declare(metadata ptr %4, metadata !36, metadata !DIExpression(DW_OP_deref)), !dbg !37114    call void @llvm.dbg.declare(metadata ptr %6, metadata !38, metadata !DIExpression(DW_OP_deref)), !dbg !44115    %20 = bitcast ptr %4 to ptr116    %21 = ptrtoint ptr %20 to i64117    %22 = lshr i64 %21, 3118    %23 = add i64 %22, %1119    %24 = inttoptr i64 %23 to ptr120    %25 = load i16, ptr %24121    %26 = icmp ne i16 %25, 0122    br i1 %26, label %27, label %28123 124  ; <label>:27:                                     ; preds = %entry125    call void @__asan_report_store16(i64 %21)126    call void asm sideeffect "", ""()127    unreachable128 129  ; <label>:28:                                     ; preds = %entry130    store [2 x double] %imageSize.coerce, ptr %20, align 8131    store ptr %self, ptr %self.addr, align 8132    call void @llvm.dbg.declare(metadata ptr %self.addr, metadata !45, metadata !DIExpression()), !dbg !47133    store ptr %_cmd, ptr %_cmd.addr, align 8134    call void @llvm.dbg.declare(metadata ptr %_cmd.addr, metadata !48, metadata !DIExpression()), !dbg !47135    %29 = load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_", align 8, !dbg !50136    %lshr1 = lshr i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_ to i64), 3, !dbg !50137    %30 = add i64 %lshr1, %1, !dbg !50138    %31 = inttoptr i64 %30 to ptr, !dbg !50139    %32 = load i8, ptr %31, !dbg !50140    %33 = icmp ne i8 %32, 0, !dbg !50141    br i1 %33, label %34, label %35, !dbg !50142 143  ; <label>:34:                                     ; preds = %28144    call void @__asan_report_load8(i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_ to i64)), !dbg !50145    call void asm sideeffect "", ""(), !dbg !50146    unreachable, !dbg !50147 148  ; <label>:35:                                     ; preds = %28149    %36 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_, align 8, !dbg !50, !invariant.load !2150    %37 = bitcast ptr %29 to ptr, !dbg !50151    %call = call ptr @objc_msgSend(ptr %37, ptr %36), !dbg !50152    %38 = bitcast ptr %call to ptr, !dbg !50153    %lshr2 = lshr i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_.2 to i64), 3, !dbg !51154    %39 = add i64 %lshr2, %1, !dbg !51155    %40 = inttoptr i64 %39 to ptr, !dbg !51156    %41 = load i8, ptr %40, !dbg !51157    %42 = icmp ne i8 %41, 0, !dbg !51158    br i1 %42, label %43, label %44, !dbg !51159 160  ; <label>:43:                                     ; preds = %35161    call void @__asan_report_load8(i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_.2 to i64)), !dbg !51162    call void asm sideeffect "", ""(), !dbg !51163    unreachable, !dbg !51164 165  ; <label>:44:                                     ; preds = %35166    %45 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.2, align 8, !dbg !51, !invariant.load !2167    %46 = bitcast ptr %38 to ptr, !dbg !51168    %47 = bitcast ptr %4 to ptr, !dbg !51169    %48 = ptrtoint ptr %47 to i64, !dbg !51170    %49 = lshr i64 %48, 3, !dbg !51171    %50 = add i64 %49, %1, !dbg !51172    %51 = inttoptr i64 %50 to ptr, !dbg !51173    %52 = load i16, ptr %51, !dbg !51174    %53 = icmp ne i16 %52, 0, !dbg !51175    br i1 %53, label %54, label %55, !dbg !51176 177  ; <label>:54:                                     ; preds = %44178    call void @__asan_report_load16(i64 %48), !dbg !51179    call void asm sideeffect "", ""(), !dbg !51180    unreachable, !dbg !51181 182  ; <label>:55:                                     ; preds = %44183    %56 = load [2 x double], ptr %47, align 8, !dbg !51184    %call1 = call ptr @objc_msgSend(ptr %46, ptr %45, [2 x double] %56), !dbg !51185    %57 = bitcast ptr %call1 to ptr, !dbg !51186    %58 = ptrtoint ptr %6 to i64, !dbg !44187    %59 = lshr i64 %58, 3, !dbg !44188    %60 = add i64 %59, %1, !dbg !44189    %61 = inttoptr i64 %60 to ptr, !dbg !44190    %62 = load i8, ptr %61, !dbg !44191    %63 = icmp ne i8 %62, 0, !dbg !44192    br i1 %63, label %64, label %65, !dbg !44193 194  ; <label>:64:                                     ; preds = %55195    call void @__asan_report_store8(i64 %58), !dbg !44196    call void asm sideeffect "", ""(), !dbg !44197    unreachable, !dbg !44198 199  ; <label>:65:                                     ; preds = %55200    store ptr %57, ptr %6, align 8, !dbg !44201    %66 = load ptr, ptr %6, align 8, !dbg !52202    %lshr3 = lshr i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_.4 to i64), 3, !dbg !53203    %67 = add i64 %lshr3, %1, !dbg !53204    %68 = inttoptr i64 %67 to ptr, !dbg !53205    %69 = load i8, ptr %68, !dbg !53206    %70 = icmp ne i8 %69, 0, !dbg !53207    br i1 %70, label %71, label %72, !dbg !53208 209  ; <label>:71:                                     ; preds = %65210    call void @__asan_report_load8(i64 ptrtoint (ptr @OBJC_SELECTOR_REFERENCES_.4 to i64)), !dbg !53211    call void asm sideeffect "", ""(), !dbg !53212    unreachable, !dbg !53213 214  ; <label>:72:                                     ; preds = %65215    %73 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_.4, align 8, !dbg !53, !invariant.load !2216    %74 = bitcast ptr %66 to ptr, !dbg !53217    %call2 = call ptr @objc_msgSend(ptr %74, ptr %73), !dbg !53218    call void asm sideeffect "mov\09fp, fp\09\09; marker for objc_retainAutoreleaseReturnValue", ""(), !dbg !53219    %75 = call ptr @objc_retainAutoreleasedReturnValue(ptr %call2) #3, !dbg !53220    %76 = bitcast ptr %6 to ptr, !dbg !54221    call void @objc_storeStrong(ptr %76, ptr null) #3, !dbg !54222    %77 = tail call ptr @objc_autoreleaseReturnValue(ptr %75) #3, !dbg !54223    store i64 1172321806, ptr %7, !dbg !54224    %78 = add i64 %13, 0, !dbg !54225    %79 = inttoptr i64 %78 to ptr, !dbg !54226    store i64 0, ptr %79, align 1, !dbg !54227    %80 = add i64 %13, 9, !dbg !54228    %81 = inttoptr i64 %80 to ptr, !dbg !54229    store i16 0, ptr %81, align 1, !dbg !54230    %82 = add i64 %13, 11, !dbg !54231    %83 = inttoptr i64 %82 to ptr, !dbg !54232    store i8 0, ptr %83, align 1, !dbg !54233    %84 = call ptr @llvm.stackguard()234    %85 = load volatile ptr, ptr %StackGuardSlot235    %86 = icmp eq ptr %84, %85236    br i1 %86, label %SP_return, label %CallStackCheckFailBlk, !prof !55237 238  SP_return:                                        ; preds = %72239    ret ptr %77, !dbg !54240 241  CallStackCheckFailBlk:                            ; preds = %72242    call void @__stack_chk_fail(), !dbg !47243    unreachable, !dbg !47244  }245 246  ; Function Attrs: nounwind readnone speculatable247  declare void @llvm.dbg.declare(metadata, metadata, metadata) #1248 249  ; Function Attrs: nonlazybind250  declare ptr @objc_msgSend(ptr, ptr, ...) #2251 252  declare ptr @objc_retainAutoreleasedReturnValue(ptr returned)253 254  declare void @objc_storeStrong(ptr, ptr)255 256  declare ptr @objc_autoreleaseReturnValue(ptr returned)257 258  define internal void @asan.module_ctor() {259    call void @__asan_init()260    call void @__asan_version_mismatch_check_v8()261    ret void262  }263 264  declare void @__asan_init()265 266  declare void @__asan_version_mismatch_check_v8()267 268  declare void @__asan_report_load8(i64)269 270  declare void @__asan_report_load16(i64)271 272  declare void @__asan_report_store8(i64)273 274  declare void @__asan_report_store16(i64)275 276  ; Function Attrs: nounwind277  declare void @llvm.stackprotector(ptr, ptr) #3278 279  ; Function Attrs: nounwind280  declare ptr @llvm.stackguard() #3281 282  declare void @__stack_chk_fail()283 284  attributes #0 = { noinline sanitize_address ssp uwtable }285  attributes #1 = { nounwind readnone speculatable }286  attributes #2 = { nonlazybind }287  attributes #3 = { nounwind }288 289  !llvm.dbg.cu = !{!0}290  !llvm.module.flags = !{!5, !6, !7, !8, !9, !10, !11, !12}291  !llvm.ident = !{!13}292 293  !0 = distinct !DICompileUnit(language: DW_LANG_ObjC, file: !1, producer: "clang version 5.0.0 (trunk 295779) (llvm/trunk 295777)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, enums: !2, retainedTypes: !3)294  !1 = !DIFile(filename: "m.m", directory: "/")295  !2 = !{}296  !3 = !{!4}297  !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "MyObject", scope: !1, file: !1, line: 15, flags: DIFlagObjcClassComplete, elements: !2, runtimeLang: DW_LANG_ObjC)298  !5 = !{i32 1, !"Objective-C Version", i32 2}299  !6 = !{i32 1, !"Objective-C Image Info Version", i32 0}300  !7 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}301  !8 = !{i32 4, !"Objective-C Garbage Collection", i32 0}302  !9 = !{i32 1, !"Objective-C Class Properties", i32 64}303  !10 = !{i32 2, !"Dwarf Version", i32 2}304  !11 = !{i32 2, !"Debug Info Version", i32 3}305  !12 = !{i32 7, !"PIC Level", i32 2}306  !13 = !{!"clang version 5.0.0 (trunk 295779) (llvm/trunk 295777)"}307  !14 = distinct !DISubprogram(name: "+[MyObject doWithSize:]", scope: !1, file: !1, line: 16, type: !15, isLocal: true, isDefinition: true, scopeLine: 16, flags: DIFlagPrototyped, isOptimized: false, unit: !0, retainedNodes: !2)308  !15 = !DISubroutineType(types: !16)309  !16 = !{!17, !24, !26, !29}310  !17 = !DIDerivedType(tag: DW_TAG_typedef, name: "id", file: !1, baseType: !18)311  !18 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !19, size: 64)312  !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_object", file: !1, elements: !20)313  !20 = !{!21}314  !21 = !DIDerivedType(tag: DW_TAG_member, name: "isa", scope: !19, file: !1, baseType: !22, size: 64)315  !22 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !23, size: 64)316  !23 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", file: !1, flags: DIFlagFwdDecl)317  !24 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !25, flags: DIFlagArtificial | DIFlagObjectPointer)318  !25 = !DIDerivedType(tag: DW_TAG_typedef, name: "Class", file: !1, baseType: !22)319  !26 = !DIDerivedType(tag: DW_TAG_typedef, name: "SEL", file: !1, baseType: !27, flags: DIFlagArtificial)320  !27 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !28, size: 64)321  !28 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_selector", file: !1, flags: DIFlagFwdDecl)322  !29 = !DIDerivedType(tag: DW_TAG_typedef, name: "CGSize", file: !1, line: 10, baseType: !30)323  !30 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "CGSize", file: !1, line: 6, size: 128, elements: !31)324  !31 = !{!32, !34}325  !32 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !30, file: !1, line: 7, baseType: !33, size: 64)326  !33 = !DIBasicType(name: "double", size: 64, encoding: DW_ATE_float)327  !34 = !DIDerivedType(tag: DW_TAG_member, name: "height", scope: !30, file: !1, line: 8, baseType: !33, size: 64, offset: 64)328  !35 = !DILocation(line: 16, scope: !14)329  !36 = !DILocalVariable(name: "imageSize", arg: 3, scope: !14, file: !1, line: 16, type: !29)330  !37 = !DILocation(line: 16, column: 26, scope: !14)331  !38 = !DILocalVariable(name: "object", scope: !14, file: !1, line: 17, type: !39)332  !39 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !40, size: 64)333  !40 = !DICompositeType(tag: DW_TAG_structure_type, name: "Object", scope: !1, file: !1, line: 11, elements: !41, runtimeLang: DW_LANG_ObjC)334  !41 = !{!42}335  !42 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !40, baseType: !43)336  !43 = !DICompositeType(tag: DW_TAG_structure_type, name: "NSObject", scope: !1, file: !1, line: 3, elements: !2, runtimeLang: DW_LANG_ObjC)337  !44 = !DILocation(line: 17, column: 11, scope: !14)338  !45 = !DILocalVariable(name: "self", arg: 1, scope: !14, type: !46, flags: DIFlagArtificial | DIFlagObjectPointer)339  !46 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !25)340  !47 = !DILocation(line: 0, scope: !14)341  !48 = !DILocalVariable(name: "_cmd", arg: 2, scope: !14, type: !49, flags: DIFlagArtificial)342  !49 = !DIDerivedType(tag: DW_TAG_typedef, name: "SEL", file: !1, baseType: !27)343  !50 = !DILocation(line: 17, column: 21, scope: !14)344  !51 = !DILocation(line: 17, column: 20, scope: !14)345  !52 = !DILocation(line: 18, column: 11, scope: !14)346  !53 = !DILocation(line: 18, column: 10, scope: !14)347  !54 = !DILocation(line: 19, column: 1, scope: !14)348  !55 = !{!"branch_weights", i32 2147481600, i32 2048}349 350...351---352name:            "\x01+[MyObject doWithSize:]"353alignment:       4354tracksRegLiveness: true355liveins:356  - { reg: '$x0' }357  - { reg: '$x1' }358  - { reg: '$d0' }359  - { reg: '$d1' }360frameInfo:361  stackSize:       352362  maxAlignment:    32363  adjustsStack:    true364  hasCalls:        true365  stackProtector:  '%stack.0.StackGuardSlot'366  maxCallFrameSize: 0367  localFrameSize:  144368machineFunctionInfo:369  stackSizeZPR:    0370  stackSizePPR:    0371stack:372  - { id: 0, name: StackGuardSlot, offset: -40, size: 8, alignment: 8,373      stack-id: default, local-offset: -8 }374  - { id: 1, name: self.addr, offset: -168, size: 8, alignment: 8, stack-id: default,375      local-offset: -136, debug-info-variable: '!45', debug-info-expression: '!DIExpression()',376      debug-info-location: '!47' }377  - { id: 2, name: _cmd.addr, offset: -176, size: 8, alignment: 8, stack-id: default,378      local-offset: -144, debug-info-variable: '!48', debug-info-expression: '!DIExpression()',379      debug-info-location: '!47' }380  - { id: 3, name: MyAlloca, offset: -160, size: 96, alignment: 32, stack-id: default,381      local-offset: -128 }382  - { id: 4, type: spill-slot, offset: -184, size: 8, alignment: 8, stack-id: default }383  - { id: 5, type: spill-slot, offset: -192, size: 8, alignment: 8, stack-id: default }384  - { id: 6, type: spill-slot, offset: -200, size: 8, alignment: 8, stack-id: default }385  - { id: 7, type: spill-slot, offset: -208, size: 8, alignment: 8, stack-id: default }386  - { id: 8, type: spill-slot, offset: -216, size: 8, alignment: 8, stack-id: default }387  - { id: 9, type: spill-slot, offset: -224, size: 8, alignment: 8, stack-id: default }388  - { id: 10, type: spill-slot, offset: -232, size: 8, alignment: 8, stack-id: default }389  - { id: 11, type: spill-slot, offset: -240, size: 8, alignment: 8, stack-id: default }390  - { id: 12, type: spill-slot, offset: -248, size: 8, alignment: 8, stack-id: default }391  - { id: 13, type: spill-slot, offset: -256, size: 8, alignment: 8, stack-id: default }392  - { id: 14, type: spill-slot, offset: -264, size: 8, alignment: 8, stack-id: default }393  - { id: 15, type: spill-slot, offset: -272, size: 8, alignment: 8, stack-id: default }394  - { id: 16, type: spill-slot, offset: -280, size: 8, alignment: 8, stack-id: default }395  - { id: 17, type: spill-slot, offset: -288, size: 8, alignment: 8, stack-id: default }396  - { id: 18, type: spill-slot, offset: -296, size: 8, alignment: 8, stack-id: default }397  - { id: 19, type: spill-slot, offset: -304, size: 8, alignment: 8, stack-id: default }398  - { id: 20, type: spill-slot, offset: -312, size: 8, alignment: 8, stack-id: default }399  - { id: 21, type: spill-slot, offset: -320, size: 8, alignment: 8, stack-id: default }400  - { id: 22, type: spill-slot, offset: -328, size: 8, alignment: 8, stack-id: default }401  - { id: 23, type: spill-slot, offset: -336, size: 8, alignment: 8, stack-id: default }402  - { id: 24, type: spill-slot, offset: -8, size: 8, alignment: 8, stack-id: default,403      callee-saved-register: '$lr' }404  - { id: 25, type: spill-slot, offset: -16, size: 8, alignment: 8, stack-id: default,405      callee-saved-register: '$fp' }406  - { id: 26, type: spill-slot, offset: -24, size: 8, alignment: 8, stack-id: default,407      callee-saved-register: '$x27' }408  - { id: 27, type: spill-slot, offset: -32, size: 8, alignment: 8, stack-id: default,409      callee-saved-register: '$x28' }410body:             |411  bb.0.entry:412    liveins: $x0, $x1, $d0, $d1, $x27, $x28, $lr413 414    early-clobber $sp = frame-setup STPXpre killed $x28, killed $x27, $sp, -4 :: (store (s64) into %stack.27), (store (s64) into %stack.26)415    frame-setup STPXi killed $fp, killed $lr, $sp, 2 :: (store (s64) into %stack.25), (store (s64) into %stack.24)416    $fp = frame-setup ADDXri $sp, 16, 0417    $x9 = frame-setup SUBXri $sp, 320, 0418    $sp = ANDXri killed $x9, 7930419    frame-setup CFI_INSTRUCTION def_cfa $w29, 16420    frame-setup CFI_INSTRUCTION offset $w30, -8421    frame-setup CFI_INSTRUCTION offset $w29, -16422    frame-setup CFI_INSTRUCTION offset $w27, -24423    frame-setup CFI_INSTRUCTION offset $w28, -32424    renamable $x8 = ADRP target-flags(aarch64-page) @"\01+[MyObject doWithSize:]"425    renamable $x8 = ADDXri killed renamable $x8, target-flags(aarch64-pageoff, aarch64-nc) @"\01+[MyObject doWithSize:]", 0426    renamable $x9 = ADRP target-flags(aarch64-page) @___asan_gen_427    renamable $x9 = ADDXri killed renamable $x9, target-flags(aarch64-pageoff, aarch64-nc) @___asan_gen_, 0428    $x10 = ADDXri $sp, 192, 0429    renamable $x11 = ADRP target-flags(aarch64-page, aarch64-got) @__asan_shadow_memory_dynamic_address430    renamable $x11 = LDRXui killed renamable $x11, target-flags(aarch64-pageoff, aarch64-got, aarch64-nc) @__asan_shadow_memory_dynamic_address431    $x12 = ADRP target-flags(aarch64-page, aarch64-got) @__stack_chk_guard432    $x12 = LDRXui $x12, target-flags(aarch64-pageoff, aarch64-got, aarch64-nc) @__stack_chk_guard433    $x12 = LDRXui killed $x12, 0 :: (dereferenceable invariant load (s64) from @__stack_chk_guard)434    $x13 = ADRP target-flags(aarch64-page, aarch64-got) @__stack_chk_guard435    $x13 = LDRXui $x13, target-flags(aarch64-pageoff, aarch64-got, aarch64-nc) @__stack_chk_guard436    $x13 = LDRXui killed $x13, 0 :: (dereferenceable invariant load (s64) from @__stack_chk_guard)437    STRXui killed renamable $x13, $sp, 39 :: (volatile store (s64) into %stack.0.StackGuardSlot)438    renamable $x11 = LDRXui killed renamable $x11, 0 :: (load (s64) from @__asan_shadow_memory_dynamic_address)439    renamable $x13 = ADDXri renamable $x10, 32, 0, debug-location !35440    renamable $x14 = ADDXri renamable $x10, 64, 0, debug-location !35441    $x15 = MOVZXi 35507, 0, debug-location !35442    $x15 = MOVKXi $x15, 16821, 16, debug-location !35443    STRXui killed renamable $x15, $sp, 24, debug-location !35 :: (store (s768) into %stack.3.MyAlloca, basealign 32)444    STRXui killed renamable $x9, $sp, 25, debug-location !35 :: (store (s768) into %stack.3.MyAlloca + 1, basealign 32)445    STRXui killed renamable $x8, $sp, 26, debug-location !35 :: (store (s768) into %stack.3.MyAlloca + 2, basealign 32)446    renamable $x8 = UBFMXri renamable $x10, 3, 63, debug-location !35447    renamable $x9 = ADDXrs renamable $x11, renamable $x10, 67, debug-location !35448    $x15 = MOVZXi 61937, 0, debug-location !35449    $x15 = MOVKXi $x15, 61937, 16, debug-location !35450    $x15 = MOVKXi $x15, 62194, 48, debug-location !35451    STRXroX killed renamable $x15, renamable $x8, renamable $x11, 0, 0, debug-location !35 :: (store (s64) into %ir.15, align 1)452    renamable $x15 = ADDXrs renamable $x8, renamable $x11, 0, debug-location !35453    $w16 = MOVZWi 62451, 0, debug-location !35454    STURHHi killed renamable $w16, killed renamable $x15, 9, debug-location !35 :: (store (s16) into %ir.17, align 1)455    renamable $x8 = ADDXrs killed renamable $x8, renamable $x11, 0, debug-location !35456    $w16 = MOVZWi 243, 0, debug-location !35457    STRBBui killed renamable $w16, killed renamable $x8, 11, debug-location !35 :: (store (s8) into %ir.19)458    DBG_VALUE renamable $x13, 0, !36, !DIExpression(DW_OP_deref), debug-location !37459    DBG_VALUE renamable $x14, 0, !38, !DIExpression(DW_OP_deref), debug-location !44460    $x8 = ORRXrs $xzr, $x13, 0461    renamable $x15 = UBFMXri renamable $x8, 3, 63462    renamable $w16 = LDRHHroX killed renamable $x15, renamable $x11, 0, 0 :: (load (s16) from %ir.24)463    renamable $w16 = UBFMWri killed renamable $w16, 0, 15464    STRXui killed $x1, $sp, 21 :: (store (s64) into %stack.4)465    STRDui killed $d1, $sp, 20 :: (store (s64) into %stack.5)466    STRDui killed $d0, $sp, 19 :: (store (s64) into %stack.6)467    STRXui killed $x0, $sp, 18 :: (store (s64) into %stack.7)468    STRXui killed $x13, $sp, 17 :: (store (s64) into %stack.8)469    DBG_VALUE $sp, 0, !36, !DIExpression(DW_OP_plus_uconst, 136, DW_OP_deref, DW_OP_deref), debug-location !37470    STRXui killed $x14, $sp, 16 :: (store (s64) into %stack.9)471    DBG_VALUE $sp, 0, !38, !DIExpression(DW_OP_plus_uconst, 128, DW_OP_deref, DW_OP_deref), debug-location !44472    STRXui killed $x10, $sp, 15 :: (store (s64) into %stack.10)473    STRXui killed $x12, $sp, 14 :: (store (s64) into %stack.11)474    STRXui killed $x11, $sp, 13 :: (store (s64) into %stack.12)475    STRXui killed $x9, $sp, 12 :: (store (s64) into %stack.13)476    STRXui killed $x8, $sp, 11 :: (store (s64) into %stack.14)477    CBZW killed renamable $w16, %bb.2478 479  bb.1 (%ir-block.27):480    successors:481 482    $x0 = LDRXui $sp, 11 :: (load (s64) from %stack.14)483    BL @__asan_report_store16, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit-def $sp484    INLINEASM &"", 1485    BRK 1486 487  bb.2 (%ir-block.28):488    renamable $x8 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_489    renamable $x8 = ADDXri killed renamable $x8, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_, 0490    renamable $x9 = ORRXri $xzr, 4097491    renamable $x8 = LSRVXr killed renamable $x8, killed renamable $x9492    renamable $x9 = ADRP target-flags(aarch64-page) @"OBJC_CLASSLIST_REFERENCES_$_"493    renamable $x9 = ADDXri killed renamable $x9, target-flags(aarch64-pageoff, aarch64-nc) @"OBJC_CLASSLIST_REFERENCES_$_", 0494    $d0 = LDRDui $sp, 19 :: (load (s64) from %stack.6)495    $x10 = LDRXui $sp, 11 :: (load (s64) from %stack.14)496    STRDui killed renamable $d0, renamable $x10, 0 :: (store (s64) into %ir.20)497    $d1 = LDRDui $sp, 20 :: (load (s64) from %stack.5)498    STRDui killed renamable $d1, killed renamable $x10, 1 :: (store (s64) into %ir.20 + 8)499    $x11 = LDRXui $sp, 18 :: (load (s64) from %stack.7)500    STRXui killed renamable $x11, $sp, 23 :: (store (s64) into %stack.1.self.addr)501    $x12 = LDRXui $sp, 21 :: (load (s64) from %stack.4)502    STRXui killed renamable $x12, $sp, 22 :: (store (s64) into %stack.2._cmd.addr)503    renamable $x9 = LDRXui killed renamable $x9, 0, debug-location !50 :: (load (s64) from @"OBJC_CLASSLIST_REFERENCES_$_")504    $x13 = LDRXui $sp, 13 :: (load (s64) from %stack.12)505    renamable $w14 = LDRBBroX killed renamable $x8, killed renamable $x13, 0, 0, debug-location !50 :: (load (s8) from %ir.31)506    renamable $w14 = UBFMWri killed renamable $w14, 0, 7, debug-location !50507    STRXui killed $x9, $sp, 10 :: (store (s64) into %stack.15)508    CBZW killed renamable $w14, %bb.4, debug-location !50509 510  bb.3 (%ir-block.34):511    successors:512 513    $x0 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_, debug-location !50514    renamable $x0 = ADDXri $x0, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_, 0, debug-location !50515    BL @__asan_report_load8, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit-def $sp, debug-location !50516    INLINEASM &"", 1, debug-location !50517    BRK 1, debug-location !50518 519  bb.4 (%ir-block.35):520    renamable $x8 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_521    renamable $x8 = ADDXri killed renamable $x8, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_, 0522    renamable $x1 = LDRXui killed renamable $x8, 0, debug-location !50 :: (invariant load (s64) from @OBJC_SELECTOR_REFERENCES_)523    $x8 = LDRXui $sp, 10 :: (load (s64) from %stack.15)524    $x0 = ORRXrs $xzr, killed $x8, 0, debug-location !50525    BL @objc_msgSend, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit killed $x1, implicit-def $x0, debug-location !50526    renamable $x8 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_.2527    renamable $x8 = ADDXri killed renamable $x8, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_.2, 0528    renamable $x1 = ORRXri $xzr, 4097529    renamable $x8 = LSRVXr killed renamable $x8, killed renamable $x1530    $x1 = LDRXui $sp, 13 :: (load (s64) from %stack.12)531    renamable $w9 = LDRBBroX killed renamable $x8, killed renamable $x1, 0, 0, debug-location !51 :: (load (s8) from %ir.40)532    renamable $w9 = UBFMWri killed renamable $w9, 0, 7, debug-location !51533    STRXui killed $x0, $sp, 9 :: (store (s64) into %stack.16)534    CBZW killed renamable $w9, %bb.6, debug-location !51535 536  bb.5 (%ir-block.43):537    successors:538 539    $x0 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_.2, debug-location !51540    renamable $x0 = ADDXri $x0, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_.2, 0, debug-location !51541    BL @__asan_report_load8, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit-def $sp, debug-location !51542    INLINEASM &"", 1, debug-location !51543    BRK 1, debug-location !51544 545  bb.6 (%ir-block.44):546    renamable $x8 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_.2547    renamable $x8 = ADDXri killed renamable $x8, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_.2, 0548    renamable $x1 = LDRXui killed renamable $x8, 0, debug-location !51 :: (invariant load (s64) from @OBJC_SELECTOR_REFERENCES_.2)549    $x8 = LDRXui $sp, 9 :: (load (s64) from %stack.16)550    $x9 = LDRXui $sp, 17 :: (load (s64) from %stack.8)551    renamable $x10 = UBFMXri renamable $x9, 3, 63, debug-location !51552    $x11 = LDRXui $sp, 13 :: (load (s64) from %stack.12)553    renamable $w12 = LDRHHroX killed renamable $x10, killed renamable $x11, 0, 0, debug-location !51 :: (load (s16) from %ir.51)554    renamable $w12 = UBFMWri killed renamable $w12, 0, 15, debug-location !51555    STRXui killed $x1, $sp, 8 :: (store (s64) into %stack.17)556    STRXui killed $x8, $sp, 7 :: (store (s64) into %stack.18)557    STRXui killed $x9, $sp, 6 :: (store (s64) into %stack.19)558    CBZW killed renamable $w12, %bb.8, debug-location !51559 560  bb.7 (%ir-block.54):561    successors:562 563    $x0 = LDRXui $sp, 6 :: (load (s64) from %stack.19)564    BL @__asan_report_load16, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit-def $sp, debug-location !51565    INLINEASM &"", 1, debug-location !51566    BRK 1, debug-location !51567 568  bb.8 (%ir-block.55):569    $x8 = LDRXui $sp, 6 :: (load (s64) from %stack.19)570    renamable $d1 = LDRDui renamable $x8, 1, debug-location !51 :: (load (s64) from %ir.47 + 8)571    renamable $d0 = LDRDui killed renamable $x8, 0, debug-location !51 :: (load (s64) from %ir.47)572    $x0 = LDRXui $sp, 7 :: (load (s64) from %stack.18)573    $x1 = LDRXui $sp, 8 :: (load (s64) from %stack.17)574    BL @objc_msgSend, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit killed $x1, implicit killed $d0, implicit killed $d1, implicit-def $sp, implicit-def $x0, debug-location !51575    $x8 = LDRXui $sp, 16 :: (load (s64) from %stack.9)576    renamable $x1 = UBFMXri killed renamable $x8, 3, 63, debug-location !44577    $lr = LDRXui $sp, 13 :: (load (s64) from %stack.12)578    renamable $w9 = LDRBBroX killed renamable $x1, killed renamable $lr, 0, 0, debug-location !44 :: (load (s8) from %ir.61)579    renamable $w9 = UBFMWri killed renamable $w9, 0, 7, debug-location !44580    STRXui killed $x0, $sp, 5 :: (store (s64) into %stack.20)581    CBZW killed renamable $w9, %bb.10, debug-location !44582 583  bb.9 (%ir-block.64):584    successors:585 586    $x0 = LDRXui $sp, 16 :: (load (s64) from %stack.9)587    BL @__asan_report_store8, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit-def $sp, debug-location !44588    INLINEASM &"", 1, debug-location !44589    BRK 1, debug-location !44590 591  bb.10 (%ir-block.65):592    renamable $x8 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_.4593    renamable $x8 = ADDXri killed renamable $x8, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_.4, 0594    renamable $x9 = ORRXri $xzr, 4097595    renamable $x8 = LSRVXr killed renamable $x8, killed renamable $x9596    $x9 = LDRXui $sp, 5 :: (load (s64) from %stack.20)597    $x10 = LDRXui $sp, 16 :: (load (s64) from %stack.9)598    STRXui killed renamable $x9, renamable $x10, 0, debug-location !44 :: (store (s64) into %ir.6)599    renamable $x11 = LDRXui killed renamable $x10, 0, debug-location !52 :: (load (s64) from %ir.6)600    $x12 = LDRXui $sp, 13 :: (load (s64) from %stack.12)601    renamable $w13 = LDRBBroX killed renamable $x8, killed renamable $x12, 0, 0, debug-location !53 :: (load (s8) from %ir.68)602    renamable $w13 = UBFMWri killed renamable $w13, 0, 7, debug-location !53603    STRXui killed $x11, $sp, 4 :: (store (s64) into %stack.21)604    CBZW killed renamable $w13, %bb.12, debug-location !53605 606  bb.11 (%ir-block.71):607    successors:608 609    $x0 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_.4, debug-location !53610    renamable $x0 = ADDXri $x0, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_.4, 0, debug-location !53611    BL @__asan_report_load8, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit-def $sp, debug-location !53612    INLINEASM &"", 1, debug-location !53613    BRK 1, debug-location !53614 615  bb.12 (%ir-block.72):616    renamable $x8 = ADRP target-flags(aarch64-page) @OBJC_SELECTOR_REFERENCES_.4617    renamable $x8 = ADDXri killed renamable $x8, target-flags(aarch64-pageoff, aarch64-nc) @OBJC_SELECTOR_REFERENCES_.4, 0618    renamable $x1 = LDRXui killed renamable $x8, 0, debug-location !53 :: (invariant load (s64) from @OBJC_SELECTOR_REFERENCES_.4)619    $x8 = LDRXui $sp, 4 :: (load (s64) from %stack.21)620    $x0 = ORRXrs $xzr, killed $x8, 0, debug-location !53621    BL @objc_msgSend, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit killed $x1, implicit-def $x0, debug-location !53622    INLINEASM &"mov\09fp, fp\09\09; marker for objc_retainAutoreleaseReturnValue", 1, debug-location !53623    BL @objc_retainAutoreleasedReturnValue, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit-def $x0, debug-location !53624    $x8 = LDRXui $sp, 16 :: (load (s64) from %stack.9)625    STRXui killed $x0, $sp, 3 :: (store (s64) into %stack.22)626    $x0 = ORRXrs $xzr, killed $x8, 0, debug-location !54627    $x8 = ORRXrs $xzr, killed $xzr, 0, debug-location !54628    $x1 = ORRXrs $xzr, killed $x8, 0, debug-location !54629    BL @objc_storeStrong, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit killed $x1, debug-location !54630    $x0 = LDRXui $sp, 3 :: (load (s64) from %stack.22)631    BL @objc_autoreleaseReturnValue, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit-def $x0, debug-location !54632    $x8 = MOVZXi 13838, 0, debug-location !54633    $x8 = MOVKXi $x8, 17888, 16, debug-location !54634    $x1 = LDRXui $sp, 15 :: (load (s64) from %stack.10)635    STRXui killed renamable $x8, killed renamable $x1, 0, debug-location !54 :: (store (s64) into %ir.7)636    $x8 = LDRXui $sp, 12 :: (load (s64) from %stack.13)637    STRXui $xzr, renamable $x8, 0, debug-location !54 :: (store (s64) into %ir.79, align 1)638    STURHHi $wzr, renamable $x8, 9, debug-location !54 :: (store (s16) into %ir.81, align 1)639    STRBBui $wzr, killed renamable $x8, 11, debug-location !54 :: (store (s8) into %ir.83)640    $lr = ADRP target-flags(aarch64-page, aarch64-got) @__stack_chk_guard641    $lr = LDRXui $lr, target-flags(aarch64-pageoff, aarch64-got, aarch64-nc) @__stack_chk_guard642    $lr = LDRXui killed $lr, 0 :: (dereferenceable invariant load (s64) from @__stack_chk_guard)643    renamable $x9 = LDRXui $sp, 39 :: (load (s64) from %stack.0.StackGuardSlot)644    $xzr = SUBSXrs killed renamable $lr, killed renamable $x9, 0, implicit-def $nzcv, implicit-def $nzcv645    STRXui killed $x0, $sp, 2 :: (store (s64) into %stack.23)646    Bcc 1, %bb.14, implicit $nzcv647 648  bb.13.SP_return:649    $x0 = LDRXui $sp, 2 :: (load (s64) from %stack.23)650    $sp = frame-destroy SUBXri $fp, 16, 0, debug-location !54651    $fp, $lr = frame-destroy LDPXi $sp, 2, debug-location !54 :: (load (s64) from %stack.25), (load (s64) from %stack.24)652    early-clobber $sp, $x28, $x27 = frame-destroy LDPXpost $sp, 4, debug-location !54 :: (load (s64) from %stack.27), (load (s64) from %stack.26)653    RET undef $lr, implicit killed $x0, debug-location !54654 655  bb.14.CallStackCheckFailBlk:656    BL @__stack_chk_fail, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, debug-location !47657    BRK 1, debug-location !47658 659...660---661name:            asan.module_ctor662alignment:       4663tracksRegLiveness: true664frameInfo:665  stackSize:       16666  maxAlignment:    8667  adjustsStack:    true668  hasCalls:        true669  maxCallFrameSize: 0670stack:671  - { id: 0, type: spill-slot, offset: -8, size: 8, alignment: 8, stack-id: default,672      callee-saved-register: '$lr' }673  - { id: 1, type: spill-slot, offset: -16, size: 8, alignment: 8, stack-id: default,674      callee-saved-register: '$fp' }675body:             |676  bb.0 (%ir-block.0):677    liveins: $lr678 679    early-clobber $sp = frame-setup STPXpre killed $fp, killed $lr, $sp, -2 :: (store (s64) into %stack.1), (store (s64) into %stack.0)680    frame-setup CFI_INSTRUCTION def_cfa_offset 16681    frame-setup CFI_INSTRUCTION offset $w30, -8682    frame-setup CFI_INSTRUCTION offset $w29, -16683    BL @__asan_init, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp684    BL @__asan_version_mismatch_check_v8, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp685    early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2 :: (load (s64) from %stack.1), (load (s64) from %stack.0)686    RET undef $lr687 688...689