brintos

brintos / llvm-project-archived public Read only

0
0
Text · 26.2 KiB · 741132a Raw
688 lines · plain
1// REQUIRES: aarch64-registered-target2 3// RUN: llvm-mc -filetype=obj -triple=aarch64-linux-android -o %t.o %s4// RUN: echo 'FRAME %t.o 0' | llvm-symbolizer | FileCheck %s5 6// CHECK: f7// CHECK-NEXT: a8// CHECK-NEXT: /tmp{{/|\\}}stack.c:209// CHECK-NEXT: -192 32 19210// CHECK-NEXT: g11// CHECK-NEXT: p12// CHECK-NEXT: /tmp{{/|\\}}stack.c:813// CHECK-NEXT: ?? 8 ??14// CHECK-NEXT: g15// CHECK-NEXT: b16// CHECK-NEXT: /tmp{{/|\\}}stack.c:1017// CHECK-NEXT: -128 32 12818// CHECK-NEXT: h19// CHECK-NEXT: p120// CHECK-NEXT: /tmp{{/|\\}}stack.c:321// CHECK-NEXT: ?? 8 ??22// CHECK-NEXT: h23// CHECK-NEXT: p224// CHECK-NEXT: /tmp{{/|\\}}stack.c:325// CHECK-NEXT: ?? 8 ??26// CHECK-NEXT: h27// CHECK-NEXT: d28// CHECK-NEXT: /tmp{{/|\\}}stack.c:429// CHECK-NEXT: -96 32 030// CHECK-NEXT: g31// CHECK-NEXT: c32// CHECK-NEXT: /tmp{{/|\\}}stack.c:1433// CHECK-NEXT: -160 32 6434// CHECK-NEXT: h35// CHECK-NEXT: p136// CHECK-NEXT: /tmp{{/|\\}}stack.c:337// CHECK-NEXT: ?? 8 ??38// CHECK-NEXT: h39// CHECK-NEXT: p240// CHECK-NEXT: /tmp{{/|\\}}stack.c:341// CHECK-NEXT: ?? 8 ??42// CHECK-NEXT: h43// CHECK-NEXT: d44// CHECK-NEXT: /tmp{{/|\\}}stack.c:445// CHECK-NEXT: -96 32 046 47// Generated from:48//49// void i(void *, void *, void *);50//51// static void h(void *p1, void *p2) {52//   char d[32];53//   i(d, p1, p2);54// }55//56// static void g(void *p) {57//   {58//     char b[32];59//     h(b, p);60//   }61//   {62//     char c[32];63//     h(c, p);64//   }65// }66//67// clang -S -o - -fsanitize=hwaddress --target=aarch64-linux-android /tmp/stack.c -O -fsanitize-hwaddress-abi=platform -g68 69	.text70	.file	"stack.c"71	.globl	f                       // -- Begin function f72	.p2align	273	.type	f,@function74f:                                      // @f75.Lfunc_begin0:76	.file	1 "/tmp" "stack.c"77	.loc	1 19 0                  // stack.c:19:078	.cfi_startproc79// %bb.0:                               // %entry80	sub	sp, sp, #208            // =20881	stp	x26, x25, [sp, #128]    // 16-byte Folded Spill82	stp	x24, x23, [sp, #144]    // 16-byte Folded Spill83	stp	x22, x21, [sp, #160]    // 16-byte Folded Spill84	stp	x20, x19, [sp, #176]    // 16-byte Folded Spill85	stp	x29, x30, [sp, #192]    // 16-byte Folded Spill86	add	x29, sp, #192           // =19287	.cfi_def_cfa w29, 1688	.cfi_offset w30, -889	.cfi_offset w29, -1690	.cfi_offset w19, -2491	.cfi_offset w20, -3292	.cfi_offset w21, -4093	.cfi_offset w22, -4894	.cfi_offset w23, -5695	.cfi_offset w24, -6496	.cfi_offset w25, -7297	.cfi_offset w26, -8098	mrs	x8, TPIDR_EL099	ldr	x12, [x8, #48]100.Ltmp0:101	adr	x14, .Ltmp0102	orr	x14, x14, x29, lsl #44103	add	x9, sp, #96             // =96104	asr	x15, x12, #3105	asr	x16, x12, #56106	orr	x17, x12, #0xffffffff107	str	x14, [x12], #8108	bic	x12, x12, x16, lsl #12109	str	x12, [x8, #48]110.Ltmp1:111	.loc	1 4 8 prologue_end      // stack.c:4:8112	and	w8, w15, #0xff113	lsr	x22, x9, #4114	add	x25, x17, #1            // =1115	bfi	w8, w8, #8, #8116	add	x10, sp, #64            // =64117	strh	w8, [x25, x22]118.Ltmp2:119	.loc	1 10 10                 // stack.c:10:10120	eor	x8, x15, #0x80121	orr	x1, x10, x8, lsl #56122	and	w8, w8, #0xff123	lsr	x23, x10, #4124	bfi	w8, w8, #8, #8125	add	x11, sp, #32            // =32126	strh	w8, [x25, x23]127.Ltmp3:128	.loc	1 14 10                 // stack.c:14:10129	eor	x8, x15, #0x40130	orr	x19, x11, x8, lsl #56131	and	w8, w8, #0xff132	lsr	x24, x11, #4133	bfi	w8, w8, #8, #8134	mov	x13, sp135	strh	w8, [x25, x24]136.Ltmp4:137	.loc	1 20 3                  // stack.c:20:3138	eor	x8, x15, #0xc0139.Ltmp5:140	.loc	1 4 8                   // stack.c:4:8141	orr	x20, x9, x15, lsl #56142.Ltmp6:143	.loc	1 20 3                  // stack.c:20:3144	orr	x21, x13, x8, lsl #56145	and	w8, w8, #0xff146	lsr	x26, x13, #4147	bfi	w8, w8, #8, #8148.Ltmp7:149	.loc	1 5 3                   // stack.c:5:3150	mov	x0, x20151	mov	x2, x21152.Ltmp8:153	.loc	1 20 3                  // stack.c:20:3154	strh	w8, [x25, x26]155.Ltmp9:156	//DEBUG_VALUE: h:p1 <- $x1157	//DEBUG_VALUE: g:p <- $x21158	//DEBUG_VALUE: h:p2 <- $x21159	//DEBUG_VALUE: h:p2 <- $x21160	.loc	1 5 3                   // stack.c:5:3161	bl	i162.Ltmp10:163	//DEBUG_VALUE: h:p1 <- $x19164	.loc	1 5 3 is_stmt 0         // stack.c:5:3165	mov	x0, x20166	mov	x1, x19167	mov	x2, x21168	bl	i169.Ltmp11:170	.loc	1 22 1 is_stmt 1        // stack.c:22:1171	strh	wzr, [x25, x22]172	strh	wzr, [x25, x23]173	strh	wzr, [x25, x24]174	strh	wzr, [x25, x26]175	ldp	x29, x30, [sp, #192]    // 16-byte Folded Reload176	ldp	x20, x19, [sp, #176]    // 16-byte Folded Reload177.Ltmp12:178	ldp	x22, x21, [sp, #160]    // 16-byte Folded Reload179.Ltmp13:180	ldp	x24, x23, [sp, #144]    // 16-byte Folded Reload181	ldp	x26, x25, [sp, #128]    // 16-byte Folded Reload182	add	sp, sp, #208            // =208183	ret184.Ltmp14:185.Lfunc_end0:186	.size	f, .Lfunc_end0-f187	.cfi_endproc188                                        // -- End function189	.section	.text.hwasan.module_ctor,"axG",@progbits,hwasan.module_ctor,comdat190	.p2align	2               // -- Begin function hwasan.module_ctor191	.type	hwasan.module_ctor,@function192hwasan.module_ctor:                     // @hwasan.module_ctor193.Lfunc_begin1:194	.cfi_startproc195// %bb.0:196	str	x30, [sp, #-16]!        // 8-byte Folded Spill197	.cfi_def_cfa_offset 16198	.cfi_offset w30, -16199	bl	__hwasan_init200	ldr	x30, [sp], #16          // 8-byte Folded Reload201	ret202.Lfunc_end1:203	.size	hwasan.module_ctor, .Lfunc_end1-hwasan.module_ctor204	.cfi_endproc205                                        // -- End function206	.section	.init_array.0,"awG",@init_array,hwasan.module_ctor,comdat207	.p2align	3208	.xword	hwasan.module_ctor209	.section	.debug_str,"MS",@progbits,1210.Linfo_string0:211	.asciz	"clang version 9.0.0 "  // string offset=0212.Linfo_string1:213	.asciz	"stack.c"               // string offset=21214.Linfo_string2:215	.asciz	"/tmp"                  // string offset=29216.Linfo_string3:217	.asciz	"h"                     // string offset=34218.Linfo_string4:219	.asciz	"p1"                    // string offset=36220.Linfo_string5:221	.asciz	"p2"                    // string offset=39222.Linfo_string6:223	.asciz	"d"                     // string offset=42224.Linfo_string7:225	.asciz	"char"                  // string offset=44226.Linfo_string8:227	.asciz	"__ARRAY_SIZE_TYPE__"   // string offset=49228.Linfo_string9:229	.asciz	"g"                     // string offset=69230.Linfo_string10:231	.asciz	"p"                     // string offset=71232.Linfo_string11:233	.asciz	"b"                     // string offset=73234.Linfo_string12:235	.asciz	"c"                     // string offset=75236.Linfo_string13:237	.asciz	"f"                     // string offset=77238.Linfo_string14:239	.asciz	"a"                     // string offset=79240	.section	.debug_loc,"",@progbits241.Ldebug_loc0:242	.xword	.Ltmp9-.Lfunc_begin0243	.xword	.Ltmp10-.Lfunc_begin0244	.hword	1                       // Loc expr size245	.byte	81                      // DW_OP_reg1246	.xword	0247	.xword	0248.Ldebug_loc1:249	.xword	.Ltmp9-.Lfunc_begin0250	.xword	.Ltmp13-.Lfunc_begin0251	.hword	1                       // Loc expr size252	.byte	101                     // DW_OP_reg21253	.xword	0254	.xword	0255.Ldebug_loc2:256	.xword	.Ltmp9-.Lfunc_begin0257	.xword	.Ltmp13-.Lfunc_begin0258	.hword	1                       // Loc expr size259	.byte	101                     // DW_OP_reg21260	.xword	0261	.xword	0262.Ldebug_loc3:263	.xword	.Ltmp9-.Lfunc_begin0264	.xword	.Ltmp13-.Lfunc_begin0265	.hword	1                       // Loc expr size266	.byte	101                     // DW_OP_reg21267	.xword	0268	.xword	0269.Ldebug_loc4:270	.xword	.Ltmp10-.Lfunc_begin0271	.xword	.Ltmp12-.Lfunc_begin0272	.hword	1                       // Loc expr size273	.byte	99                      // DW_OP_reg19274	.xword	0275	.xword	0276	.section	.debug_abbrev,"",@progbits277	.byte	1                       // Abbreviation Code278	.byte	17                      // DW_TAG_compile_unit279	.byte	1                       // DW_CHILDREN_yes280	.byte	37                      // DW_AT_producer281	.byte	14                      // DW_FORM_strp282	.byte	19                      // DW_AT_language283	.byte	5                       // DW_FORM_data2284	.byte	3                       // DW_AT_name285	.byte	14                      // DW_FORM_strp286	.byte	16                      // DW_AT_stmt_list287	.byte	23                      // DW_FORM_sec_offset288	.byte	27                      // DW_AT_comp_dir289	.byte	14                      // DW_FORM_strp290	.byte	17                      // DW_AT_low_pc291	.byte	1                       // DW_FORM_addr292	.byte	18                      // DW_AT_high_pc293	.byte	6                       // DW_FORM_data4294	.byte	0                       // EOM(1)295	.byte	0                       // EOM(2)296	.byte	2                       // Abbreviation Code297	.byte	46                      // DW_TAG_subprogram298	.byte	1                       // DW_CHILDREN_yes299	.byte	3                       // DW_AT_name300	.byte	14                      // DW_FORM_strp301	.byte	58                      // DW_AT_decl_file302	.byte	11                      // DW_FORM_data1303	.byte	59                      // DW_AT_decl_line304	.byte	11                      // DW_FORM_data1305	.byte	39                      // DW_AT_prototyped306	.byte	25                      // DW_FORM_flag_present307	.byte	32                      // DW_AT_inline308	.byte	11                      // DW_FORM_data1309	.byte	0                       // EOM(1)310	.byte	0                       // EOM(2)311	.byte	3                       // Abbreviation Code312	.byte	5                       // DW_TAG_formal_parameter313	.byte	0                       // DW_CHILDREN_no314	.byte	3                       // DW_AT_name315	.byte	14                      // DW_FORM_strp316	.byte	58                      // DW_AT_decl_file317	.byte	11                      // DW_FORM_data1318	.byte	59                      // DW_AT_decl_line319	.byte	11                      // DW_FORM_data1320	.byte	73                      // DW_AT_type321	.byte	19                      // DW_FORM_ref4322	.byte	0                       // EOM(1)323	.byte	0                       // EOM(2)324	.byte	4                       // Abbreviation Code325	.byte	52                      // DW_TAG_variable326	.byte	0                       // DW_CHILDREN_no327	.byte	3                       // DW_AT_name328	.byte	14                      // DW_FORM_strp329	.byte	58                      // DW_AT_decl_file330	.byte	11                      // DW_FORM_data1331	.byte	59                      // DW_AT_decl_line332	.byte	11                      // DW_FORM_data1333	.byte	73                      // DW_AT_type334	.byte	19                      // DW_FORM_ref4335	.byte	0                       // EOM(1)336	.byte	0                       // EOM(2)337	.byte	5                       // Abbreviation Code338	.byte	15                      // DW_TAG_pointer_type339	.byte	0                       // DW_CHILDREN_no340	.byte	0                       // EOM(1)341	.byte	0                       // EOM(2)342	.byte	6                       // Abbreviation Code343	.byte	1                       // DW_TAG_array_type344	.byte	1                       // DW_CHILDREN_yes345	.byte	73                      // DW_AT_type346	.byte	19                      // DW_FORM_ref4347	.byte	0                       // EOM(1)348	.byte	0                       // EOM(2)349	.byte	7                       // Abbreviation Code350	.byte	33                      // DW_TAG_subrange_type351	.byte	0                       // DW_CHILDREN_no352	.byte	73                      // DW_AT_type353	.byte	19                      // DW_FORM_ref4354	.byte	55                      // DW_AT_count355	.byte	11                      // DW_FORM_data1356	.byte	0                       // EOM(1)357	.byte	0                       // EOM(2)358	.byte	8                       // Abbreviation Code359	.byte	36                      // DW_TAG_base_type360	.byte	0                       // DW_CHILDREN_no361	.byte	3                       // DW_AT_name362	.byte	14                      // DW_FORM_strp363	.byte	62                      // DW_AT_encoding364	.byte	11                      // DW_FORM_data1365	.byte	11                      // DW_AT_byte_size366	.byte	11                      // DW_FORM_data1367	.byte	0                       // EOM(1)368	.byte	0                       // EOM(2)369	.byte	9                       // Abbreviation Code370	.byte	36                      // DW_TAG_base_type371	.byte	0                       // DW_CHILDREN_no372	.byte	3                       // DW_AT_name373	.byte	14                      // DW_FORM_strp374	.byte	11                      // DW_AT_byte_size375	.byte	11                      // DW_FORM_data1376	.byte	62                      // DW_AT_encoding377	.byte	11                      // DW_FORM_data1378	.byte	0                       // EOM(1)379	.byte	0                       // EOM(2)380	.byte	10                      // Abbreviation Code381	.byte	11                      // DW_TAG_lexical_block382	.byte	1                       // DW_CHILDREN_yes383	.byte	0                       // EOM(1)384	.byte	0                       // EOM(2)385	.byte	11                      // Abbreviation Code386	.byte	46                      // DW_TAG_subprogram387	.byte	1                       // DW_CHILDREN_yes388	.byte	17                      // DW_AT_low_pc389	.byte	1                       // DW_FORM_addr390	.byte	18                      // DW_AT_high_pc391	.byte	6                       // DW_FORM_data4392	.byte	64                      // DW_AT_frame_base393	.byte	24                      // DW_FORM_exprloc394	.byte	3                       // DW_AT_name395	.byte	14                      // DW_FORM_strp396	.byte	58                      // DW_AT_decl_file397	.byte	11                      // DW_FORM_data1398	.byte	59                      // DW_AT_decl_line399	.byte	11                      // DW_FORM_data1400	.byte	63                      // DW_AT_external401	.byte	25                      // DW_FORM_flag_present402	.byte	0                       // EOM(1)403	.byte	0                       // EOM(2)404	.byte	12                      // Abbreviation Code405	.byte	52                      // DW_TAG_variable406	.byte	0                       // DW_CHILDREN_no407	.byte	2                       // DW_AT_location408	.byte	24                      // DW_FORM_exprloc409	.ascii	"\203|"                 // DW_AT_LLVM_tag_offset410	.byte	11                      // DW_FORM_data1411	.byte	3                       // DW_AT_name412	.byte	14                      // DW_FORM_strp413	.byte	58                      // DW_AT_decl_file414	.byte	11                      // DW_FORM_data1415	.byte	59                      // DW_AT_decl_line416	.byte	11                      // DW_FORM_data1417	.byte	73                      // DW_AT_type418	.byte	19                      // DW_FORM_ref4419	.byte	0                       // EOM(1)420	.byte	0                       // EOM(2)421	.byte	13                      // Abbreviation Code422	.byte	29                      // DW_TAG_inlined_subroutine423	.byte	1                       // DW_CHILDREN_yes424	.byte	49                      // DW_AT_abstract_origin425	.byte	19                      // DW_FORM_ref4426	.byte	85                      // DW_AT_ranges427	.byte	23                      // DW_FORM_sec_offset428	.byte	88                      // DW_AT_call_file429	.byte	11                      // DW_FORM_data1430	.byte	89                      // DW_AT_call_line431	.byte	11                      // DW_FORM_data1432	.byte	0                       // EOM(1)433	.byte	0                       // EOM(2)434	.byte	14                      // Abbreviation Code435	.byte	5                       // DW_TAG_formal_parameter436	.byte	0                       // DW_CHILDREN_no437	.byte	2                       // DW_AT_location438	.byte	23                      // DW_FORM_sec_offset439	.byte	49                      // DW_AT_abstract_origin440	.byte	19                      // DW_FORM_ref4441	.byte	0                       // EOM(1)442	.byte	0                       // EOM(2)443	.byte	15                      // Abbreviation Code444	.byte	11                      // DW_TAG_lexical_block445	.byte	1                       // DW_CHILDREN_yes446	.byte	85                      // DW_AT_ranges447	.byte	23                      // DW_FORM_sec_offset448	.byte	0                       // EOM(1)449	.byte	0                       // EOM(2)450	.byte	16                      // Abbreviation Code451	.byte	52                      // DW_TAG_variable452	.byte	0                       // DW_CHILDREN_no453	.byte	2                       // DW_AT_location454	.byte	24                      // DW_FORM_exprloc455	.ascii	"\203|"                 // DW_AT_LLVM_tag_offset456	.byte	11                      // DW_FORM_data1457	.byte	49                      // DW_AT_abstract_origin458	.byte	19                      // DW_FORM_ref4459	.byte	0                       // EOM(1)460	.byte	0                       // EOM(2)461	.byte	17                      // Abbreviation Code462	.byte	29                      // DW_TAG_inlined_subroutine463	.byte	1                       // DW_CHILDREN_yes464	.byte	49                      // DW_AT_abstract_origin465	.byte	19                      // DW_FORM_ref4466	.byte	17                      // DW_AT_low_pc467	.byte	1                       // DW_FORM_addr468	.byte	18                      // DW_AT_high_pc469	.byte	6                       // DW_FORM_data4470	.byte	88                      // DW_AT_call_file471	.byte	11                      // DW_FORM_data1472	.byte	89                      // DW_AT_call_line473	.byte	11                      // DW_FORM_data1474	.byte	0                       // EOM(1)475	.byte	0                       // EOM(2)476	.byte	0                       // EOM(3)477	.section	.debug_info,"",@progbits478.Lcu_begin0:479	.word	.Ldebug_info_end0-.Ldebug_info_start0 // Length of Unit480.Ldebug_info_start0:481	.hword	4                       // DWARF version number482	.word	.debug_abbrev           // Offset Into Abbrev. Section483	.byte	8                       // Address Size (in bytes)484	.byte	1                       // Abbrev [1] 0xb:0x146 DW_TAG_compile_unit485	.word	.Linfo_string0          // DW_AT_producer486	.hword	12                      // DW_AT_language487	.word	.Linfo_string1          // DW_AT_name488	.word	.Lline_table_start0     // DW_AT_stmt_list489	.word	.Linfo_string2          // DW_AT_comp_dir490	.xword	.Lfunc_begin0           // DW_AT_low_pc491	.word	.Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc492	.byte	2                       // Abbrev [2] 0x2a:0x2a DW_TAG_subprogram493	.word	.Linfo_string3          // DW_AT_name494	.byte	1                       // DW_AT_decl_file495	.byte	3                       // DW_AT_decl_line496                                        // DW_AT_prototyped497	.byte	1                       // DW_AT_inline498	.byte	3                       // Abbrev [3] 0x32:0xb DW_TAG_formal_parameter499	.word	.Linfo_string4          // DW_AT_name500	.byte	1                       // DW_AT_decl_file501	.byte	3                       // DW_AT_decl_line502	.word	84                      // DW_AT_type503	.byte	3                       // Abbrev [3] 0x3d:0xb DW_TAG_formal_parameter504	.word	.Linfo_string5          // DW_AT_name505	.byte	1                       // DW_AT_decl_file506	.byte	3                       // DW_AT_decl_line507	.word	84                      // DW_AT_type508	.byte	4                       // Abbrev [4] 0x48:0xb DW_TAG_variable509	.word	.Linfo_string6          // DW_AT_name510	.byte	1                       // DW_AT_decl_file511	.byte	4                       // DW_AT_decl_line512	.word	85                      // DW_AT_type513	.byte	0                       // End Of Children Mark514	.byte	5                       // Abbrev [5] 0x54:0x1 DW_TAG_pointer_type515	.byte	6                       // Abbrev [6] 0x55:0xc DW_TAG_array_type516	.word	97                      // DW_AT_type517	.byte	7                       // Abbrev [7] 0x5a:0x6 DW_TAG_subrange_type518	.word	104                     // DW_AT_type519	.byte	32                      // DW_AT_count520	.byte	0                       // End Of Children Mark521	.byte	8                       // Abbrev [8] 0x61:0x7 DW_TAG_base_type522	.word	.Linfo_string7          // DW_AT_name523	.byte	8                       // DW_AT_encoding524	.byte	1                       // DW_AT_byte_size525	.byte	9                       // Abbrev [9] 0x68:0x7 DW_TAG_base_type526	.word	.Linfo_string8          // DW_AT_name527	.byte	8                       // DW_AT_byte_size528	.byte	7                       // DW_AT_encoding529	.byte	2                       // Abbrev [2] 0x6f:0x2e DW_TAG_subprogram530	.word	.Linfo_string9          // DW_AT_name531	.byte	1                       // DW_AT_decl_file532	.byte	8                       // DW_AT_decl_line533                                        // DW_AT_prototyped534	.byte	1                       // DW_AT_inline535	.byte	3                       // Abbrev [3] 0x77:0xb DW_TAG_formal_parameter536	.word	.Linfo_string10         // DW_AT_name537	.byte	1                       // DW_AT_decl_file538	.byte	8                       // DW_AT_decl_line539	.word	84                      // DW_AT_type540	.byte	10                      // Abbrev [10] 0x82:0xd DW_TAG_lexical_block541	.byte	4                       // Abbrev [4] 0x83:0xb DW_TAG_variable542	.word	.Linfo_string11         // DW_AT_name543	.byte	1                       // DW_AT_decl_file544	.byte	10                      // DW_AT_decl_line545	.word	85                      // DW_AT_type546	.byte	0                       // End Of Children Mark547	.byte	10                      // Abbrev [10] 0x8f:0xd DW_TAG_lexical_block548	.byte	4                       // Abbrev [4] 0x90:0xb DW_TAG_variable549	.word	.Linfo_string12         // DW_AT_name550	.byte	1                       // DW_AT_decl_file551	.byte	14                      // DW_AT_decl_line552	.word	85                      // DW_AT_type553	.byte	0                       // End Of Children Mark554	.byte	0                       // End Of Children Mark555	.byte	11                      // Abbrev [11] 0x9d:0xb3 DW_TAG_subprogram556	.xword	.Lfunc_begin0           // DW_AT_low_pc557	.word	.Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc558	.byte	1                       // DW_AT_frame_base559	.byte	109560	.word	.Linfo_string13         // DW_AT_name561	.byte	1                       // DW_AT_decl_file562	.byte	19                      // DW_AT_decl_line563                                        // DW_AT_external564	.byte	12                      // Abbrev [12] 0xb2:0x10 DW_TAG_variable565	.byte	3                       // DW_AT_location566	.byte	145567	.ascii	"\300~"568	.byte	192                     // DW_AT_LLVM_tag_offset569	.word	.Linfo_string14         // DW_AT_name570	.byte	1                       // DW_AT_decl_file571	.byte	20                      // DW_AT_decl_line572	.word	85                      // DW_AT_type573	.byte	13                      // Abbrev [13] 0xc2:0x8d DW_TAG_inlined_subroutine574	.word	111                     // DW_AT_abstract_origin575	.word	.Ldebug_ranges0         // DW_AT_ranges576	.byte	1                       // DW_AT_call_file577	.byte	21                      // DW_AT_call_line578	.byte	14                      // Abbrev [14] 0xcd:0x9 DW_TAG_formal_parameter579	.word	.Ldebug_loc1            // DW_AT_location580	.word	119                     // DW_AT_abstract_origin581	.byte	15                      // Abbrev [15] 0xd6:0x38 DW_TAG_lexical_block582	.word	.Ldebug_ranges2         // DW_AT_ranges583	.byte	16                      // Abbrev [16] 0xdb:0xa DW_TAG_variable584	.byte	3                       // DW_AT_location585	.byte	145586	.ascii	"\200\177"587	.byte	128                     // DW_AT_LLVM_tag_offset588	.word	131                     // DW_AT_abstract_origin589	.byte	13                      // Abbrev [13] 0xe5:0x28 DW_TAG_inlined_subroutine590	.word	42                      // DW_AT_abstract_origin591	.word	.Ldebug_ranges1         // DW_AT_ranges592	.byte	1                       // DW_AT_call_file593	.byte	11                      // DW_AT_call_line594	.byte	14                      // Abbrev [14] 0xf0:0x9 DW_TAG_formal_parameter595	.word	.Ldebug_loc0            // DW_AT_location596	.word	50                      // DW_AT_abstract_origin597	.byte	14                      // Abbrev [14] 0xf9:0x9 DW_TAG_formal_parameter598	.word	.Ldebug_loc2            // DW_AT_location599	.word	61                      // DW_AT_abstract_origin600	.byte	16                      // Abbrev [16] 0x102:0xa DW_TAG_variable601	.byte	3                       // DW_AT_location602	.byte	145603	.ascii	"\240\177"604	.byte	0                       // DW_AT_LLVM_tag_offset605	.word	72                      // DW_AT_abstract_origin606	.byte	0                       // End Of Children Mark607	.byte	0                       // End Of Children Mark608	.byte	15                      // Abbrev [15] 0x10e:0x40 DW_TAG_lexical_block609	.word	.Ldebug_ranges3         // DW_AT_ranges610	.byte	16                      // Abbrev [16] 0x113:0xa DW_TAG_variable611	.byte	3                       // DW_AT_location612	.byte	145613	.ascii	"\340~"614	.byte	64                      // DW_AT_LLVM_tag_offset615	.word	144                     // DW_AT_abstract_origin616	.byte	17                      // Abbrev [17] 0x11d:0x30 DW_TAG_inlined_subroutine617	.word	42                      // DW_AT_abstract_origin618	.xword	.Ltmp10                 // DW_AT_low_pc619	.word	.Ltmp11-.Ltmp10         // DW_AT_high_pc620	.byte	1                       // DW_AT_call_file621	.byte	15                      // DW_AT_call_line622	.byte	14                      // Abbrev [14] 0x130:0x9 DW_TAG_formal_parameter623	.word	.Ldebug_loc4            // DW_AT_location624	.word	50                      // DW_AT_abstract_origin625	.byte	14                      // Abbrev [14] 0x139:0x9 DW_TAG_formal_parameter626	.word	.Ldebug_loc3            // DW_AT_location627	.word	61                      // DW_AT_abstract_origin628	.byte	16                      // Abbrev [16] 0x142:0xa DW_TAG_variable629	.byte	3                       // DW_AT_location630	.byte	145631	.ascii	"\240\177"632	.byte	0                       // DW_AT_LLVM_tag_offset633	.word	72                      // DW_AT_abstract_origin634	.byte	0                       // End Of Children Mark635	.byte	0                       // End Of Children Mark636	.byte	0                       // End Of Children Mark637	.byte	0                       // End Of Children Mark638	.byte	0                       // End Of Children Mark639.Ldebug_info_end0:640	.section	.debug_ranges,"",@progbits641.Ldebug_ranges0:642	.xword	.Ltmp1-.Lfunc_begin0643	.xword	.Ltmp4-.Lfunc_begin0644	.xword	.Ltmp5-.Lfunc_begin0645	.xword	.Ltmp6-.Lfunc_begin0646	.xword	.Ltmp7-.Lfunc_begin0647	.xword	.Ltmp8-.Lfunc_begin0648	.xword	.Ltmp9-.Lfunc_begin0649	.xword	.Ltmp11-.Lfunc_begin0650	.xword	0651	.xword	0652.Ldebug_ranges1:653	.xword	.Ltmp1-.Lfunc_begin0654	.xword	.Ltmp2-.Lfunc_begin0655	.xword	.Ltmp5-.Lfunc_begin0656	.xword	.Ltmp6-.Lfunc_begin0657	.xword	.Ltmp7-.Lfunc_begin0658	.xword	.Ltmp8-.Lfunc_begin0659	.xword	.Ltmp9-.Lfunc_begin0660	.xword	.Ltmp10-.Lfunc_begin0661	.xword	0662	.xword	0663.Ldebug_ranges2:664	.xword	.Ltmp1-.Lfunc_begin0665	.xword	.Ltmp3-.Lfunc_begin0666	.xword	.Ltmp5-.Lfunc_begin0667	.xword	.Ltmp6-.Lfunc_begin0668	.xword	.Ltmp7-.Lfunc_begin0669	.xword	.Ltmp8-.Lfunc_begin0670	.xword	.Ltmp9-.Lfunc_begin0671	.xword	.Ltmp10-.Lfunc_begin0672	.xword	0673	.xword	0674.Ldebug_ranges3:675	.xword	.Ltmp3-.Lfunc_begin0676	.xword	.Ltmp4-.Lfunc_begin0677	.xword	.Ltmp10-.Lfunc_begin0678	.xword	.Ltmp11-.Lfunc_begin0679	.xword	0680	.xword	0681	.section	.debug_macinfo,"",@progbits682	.byte	0                       // End Of Macro List Mark683 684	.ident	"clang version 9.0.0 "685	.section	".note.GNU-stack","",@progbits686	.section	.debug_line,"",@progbits687.Lline_table_start0:688