llvm/llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-44884-clang.s

	.text
	.file	"pr-44884.cpp"
	.globaltype	__stack_pointer, i32
	.functype	_Z3barf (f32) -> (i32)
	.functype	_Z3fooc (i32) -> (i32)
	.section	.text._Z3barf,"",@
	.hidden	_Z3barf                         # -- Begin function _Z3barf
	.globl	_Z3barf
	.type	_Z3barf,@function
_Z3barf:                                # @_Z3barf
.Lfunc_begin0:
	.file	1 "/data/projects/scripts/regression-suite/input/general" "pr-44884.cpp"
	.loc	1 1 0                           # pr-44884.cpp:1:0
	.functype	_Z3barf (f32) -> (i32)
	.local  	i32, i32, i32, f32, f32, f32, i32, i32, i32, i32, i32, i32
# %bb.0:                                # %entry
	global.get	__stack_pointer
	local.set	1
	i32.const	16
	local.set	2
	local.get	1
	local.get	2
	i32.sub 
	local.set	3
	local.get	3
	local.get	0
	f32.store	12
.Ltmp0:
	.loc	1 1 36 prologue_end             # pr-44884.cpp:1:36
	local.get	3
	f32.load	12
	local.set	4
	local.get	4
	f32.abs 
	local.set	5
	f32.const	0x1p31
	local.set	6
	local.get	5
	local.get	6
	f32.lt  
	local.set	7
	local.get	7
	i32.eqz
	local.set	8
	block   	
	block   	
	local.get	8
	br_if   	0                               # 0: down to label1
# %bb.1:                                # %entry
	local.get	4
	i32.trunc_f32_s
	local.set	9
	local.get	9
	local.set	10
	br      	1                               # 1: down to label0
.LBB0_2:                                # %entry
	.loc	1 0 36 is_stmt 0                # pr-44884.cpp:0:36
	end_block                               # label1:
	.loc	1 1 36                          # pr-44884.cpp:1:36
	i32.const	-2147483648
	local.set	11
	local.get	11
	local.set	10
.LBB0_3:                                # %entry
	.loc	1 0 36                          # pr-44884.cpp:0:36
	end_block                               # label0:
	.loc	1 1 36                          # pr-44884.cpp:1:36
	local.get	10
	local.set	12
	.loc	1 1 24                          # pr-44884.cpp:1:24
	local.get	12
	return
	end_function
.Ltmp1:
.Lfunc_end0:
                                        # -- End function
	.section	.text._Z3fooc,"",@
	.hidden	_Z3fooc                         # -- Begin function _Z3fooc
	.globl	_Z3fooc
	.type	_Z3fooc,@function
_Z3fooc:                                # @_Z3fooc
.Lfunc_begin1:
	.loc	1 3 0 is_stmt 1                 # pr-44884.cpp:3:0
	.functype	_Z3fooc (i32) -> (i32)
	.local  	i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# %bb.0:                                # %entry
	global.get	__stack_pointer
	local.set	1
	i32.const	16
	local.set	2
	local.get	1
	local.get	2
	i32.sub 
	local.set	3
	local.get	3
	global.set	__stack_pointer
	local.get	3
	local.get	0
	i32.store8	15
.Ltmp2:
	.loc	1 5 15 prologue_end             # pr-44884.cpp:5:15
	local.get	3
	i32.load8_u	15
	local.set	4
	i32.const	24
	local.set	5
	local.get	4
	local.get	5
	i32.shl 
	local.set	6
	local.get	6
	local.get	5
	i32.shr_s
	local.set	7
	.loc	1 5 7 is_stmt 0                 # pr-44884.cpp:5:7
	local.get	3
	local.get	7
	i32.store	8
.Ltmp3:
	.loc	1 9 21 is_stmt 1                # pr-44884.cpp:9:21
	local.get	3
	i32.load	8
	local.set	8
	.loc	1 9 29 is_stmt 0                # pr-44884.cpp:9:29
	local.get	3
	i32.load8_u	15
	local.set	9
	i32.const	24
	local.set	10
	local.get	9
	local.get	10
	i32.shl 
	local.set	11
	local.get	11
	local.get	10
	i32.shr_s
	local.set	12
	.loc	1 9 27                          # pr-44884.cpp:9:27
	local.get	8
	local.get	12
	i32.add 
	local.set	13
	.loc	1 9 21                          # pr-44884.cpp:9:21
	local.get	13
	f32.convert_i32_s
	local.set	14
	.loc	1 9 13                          # pr-44884.cpp:9:13
	local.get	3
	local.get	14
	f32.store	4
	.loc	1 10 19 is_stmt 1               # pr-44884.cpp:10:19
	local.get	3
	f32.load	4
	local.set	15
	.loc	1 10 15 is_stmt 0               # pr-44884.cpp:10:15
	local.get	15
	call	_Z3barf
	local.set	16
	.loc	1 10 13                         # pr-44884.cpp:10:13
	local.get	3
	local.get	16
	i32.store	8
.Ltmp4:
	.loc	1 13 10 is_stmt 1               # pr-44884.cpp:13:10
	local.get	3
	i32.load	8
	local.set	17
	.loc	1 13 18 is_stmt 0               # pr-44884.cpp:13:18
	local.get	3
	i32.load8_u	15
	local.set	18
	i32.const	24
	local.set	19
	local.get	18
	local.get	19
	i32.shl 
	local.set	20
	local.get	20
	local.get	19
	i32.shr_s
	local.set	21
	.loc	1 13 16                         # pr-44884.cpp:13:16
	local.get	17
	local.get	21
	i32.add 
	local.set	22
	.loc	1 13 3                          # pr-44884.cpp:13:3
	i32.const	16
	local.set	23
	local.get	3
	local.get	23
	i32.add 
	local.set	24
	local.get	24
	global.set	__stack_pointer
	local.get	22
	return
	end_function
.Ltmp5:
.Lfunc_end1:
                                        # -- End function
	.section	.debug_abbrev,"",@
	.int8	1                               # Abbreviation Code
	.int8	17                              # DW_TAG_compile_unit
	.int8	1                               # DW_CHILDREN_yes
	.int8	37                              # DW_AT_producer
	.int8	14                              # DW_FORM_strp
	.int8	19                              # DW_AT_language
	.int8	5                               # DW_FORM_data2
	.int8	3                               # DW_AT_name
	.int8	14                              # DW_FORM_strp
	.int8	16                              # DW_AT_stmt_list
	.int8	23                              # DW_FORM_sec_offset
	.int8	27                              # DW_AT_comp_dir
	.int8	14                              # DW_FORM_strp
	.int8	17                              # DW_AT_low_pc
	.int8	1                               # DW_FORM_addr
	.int8	85                              # DW_AT_ranges
	.int8	23                              # DW_FORM_sec_offset
	.int8	0                               # EOM(1)
	.int8	0                               # EOM(2)
	.int8	2                               # Abbreviation Code
	.int8	36                              # DW_TAG_base_type
	.int8	0                               # DW_CHILDREN_no
	.int8	3                               # DW_AT_name
	.int8	14                              # DW_FORM_strp
	.int8	62                              # DW_AT_encoding
	.int8	11                              # DW_FORM_data1
	.int8	11                              # DW_AT_byte_size
	.int8	11                              # DW_FORM_data1
	.int8	0                               # EOM(1)
	.int8	0                               # EOM(2)
	.int8	3                               # Abbreviation Code
	.int8	46                              # DW_TAG_subprogram
	.int8	1                               # DW_CHILDREN_yes
	.int8	17                              # DW_AT_low_pc
	.int8	1                               # DW_FORM_addr
	.int8	18                              # DW_AT_high_pc
	.int8	6                               # DW_FORM_data4
	.int8	64                              # DW_AT_frame_base
	.int8	24                              # DW_FORM_exprloc
	.int8	110                             # DW_AT_linkage_name
	.int8	14                              # DW_FORM_strp
	.int8	3                               # DW_AT_name
	.int8	14                              # DW_FORM_strp
	.int8	58                              # DW_AT_decl_file
	.int8	11                              # DW_FORM_data1
	.int8	59                              # DW_AT_decl_line
	.int8	11                              # DW_FORM_data1
	.int8	73                              # DW_AT_type
	.int8	19                              # DW_FORM_ref4
	.int8	63                              # DW_AT_external
	.int8	25                              # DW_FORM_flag_present
	.int8	0                               # EOM(1)
	.int8	0                               # EOM(2)
	.int8	4                               # Abbreviation Code
	.int8	5                               # DW_TAG_formal_parameter
	.int8	0                               # DW_CHILDREN_no
	.int8	2                               # DW_AT_location
	.int8	24                              # DW_FORM_exprloc
	.int8	3                               # DW_AT_name
	.int8	14                              # DW_FORM_strp
	.int8	58                              # DW_AT_decl_file
	.int8	11                              # DW_FORM_data1
	.int8	59                              # DW_AT_decl_line
	.int8	11                              # DW_FORM_data1
	.int8	73                              # DW_AT_type
	.int8	19                              # DW_FORM_ref4
	.int8	0                               # EOM(1)
	.int8	0                               # EOM(2)
	.int8	5                               # Abbreviation Code
	.int8	52                              # DW_TAG_variable
	.int8	0                               # DW_CHILDREN_no
	.int8	2                               # DW_AT_location
	.int8	24                              # DW_FORM_exprloc
	.int8	3                               # DW_AT_name
	.int8	14                              # DW_FORM_strp
	.int8	58                              # DW_AT_decl_file
	.int8	11                              # DW_FORM_data1
	.int8	59                              # DW_AT_decl_line
	.int8	11                              # DW_FORM_data1
	.int8	73                              # DW_AT_type
	.int8	19                              # DW_FORM_ref4
	.int8	0                               # EOM(1)
	.int8	0                               # EOM(2)
	.int8	6                               # Abbreviation Code
	.int8	11                              # DW_TAG_lexical_block
	.int8	1                               # DW_CHILDREN_yes
	.int8	17                              # DW_AT_low_pc
	.int8	1                               # DW_FORM_addr
	.int8	18                              # DW_AT_high_pc
	.int8	6                               # DW_FORM_data4
	.int8	0                               # EOM(1)
	.int8	0                               # EOM(2)
	.int8	7                               # Abbreviation Code
	.int8	22                              # DW_TAG_typedef
	.int8	0                               # DW_CHILDREN_no
	.int8	73                              # DW_AT_type
	.int8	19                              # DW_FORM_ref4
	.int8	3                               # DW_AT_name
	.int8	14                              # DW_FORM_strp
	.int8	58                              # DW_AT_decl_file
	.int8	11                              # DW_FORM_data1
	.int8	59                              # DW_AT_decl_line
	.int8	11                              # DW_FORM_data1
	.int8	0                               # EOM(1)
	.int8	0                               # EOM(2)
	.int8	0                               # EOM(3)
	.section	.debug_info,"",@
.Lcu_begin0:
	.int32	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
.Ldebug_info_start0:
	.int16	4                               # DWARF version number
	.int32	.debug_abbrev0                  # Offset Into Abbrev. Section
	.int8	4                               # Address Size (in bytes)
	.int8	1                               # Abbrev [1] 0xb:0xca DW_TAG_compile_unit
	.int32	.Linfo_string0                  # DW_AT_producer
	.int16	33                              # DW_AT_language
	.int32	.Linfo_string1                  # DW_AT_name
	.int32	.Lline_table_start0             # DW_AT_stmt_list
	.int32	.Linfo_string2                  # DW_AT_comp_dir
	.int32	0                               # DW_AT_low_pc
	.int32	.Ldebug_ranges0                 # DW_AT_ranges
	.int8	2                               # Abbrev [2] 0x26:0x7 DW_TAG_base_type
	.int32	.Linfo_string3                  # DW_AT_name
	.int8	5                               # DW_AT_encoding
	.int8	4                               # DW_AT_byte_size
	.int8	3                               # Abbrev [3] 0x2d:0x2b DW_TAG_subprogram
	.int32	.Lfunc_begin0                   # DW_AT_low_pc
	.int32	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
	.int8	4                               # DW_AT_frame_base
	.int8	237
	.int8	0
	.int8	3
	.int8	159
	.int32	.Linfo_string4                  # DW_AT_linkage_name
	.int32	.Linfo_string5                  # DW_AT_name
	.int8	1                               # DW_AT_decl_file
	.int8	1                               # DW_AT_decl_line
	.int32	38                              # DW_AT_type
                                        # DW_AT_external
	.int8	4                               # Abbrev [4] 0x49:0xe DW_TAG_formal_parameter
	.int8	2                               # DW_AT_location
	.int8	145
	.int8	12
	.int32	.Linfo_string9                  # DW_AT_name
	.int8	1                               # DW_AT_decl_file
	.int8	1                               # DW_AT_decl_line
	.int32	198                             # DW_AT_type
	.int8	0                               # End Of Children Mark
	.int8	3                               # Abbrev [3] 0x58:0x67 DW_TAG_subprogram
	.int32	.Lfunc_begin1                   # DW_AT_low_pc
	.int32	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc
	.int8	4                               # DW_AT_frame_base
	.int8	237
	.int8	0
	.int8	3
	.int8	159
	.int32	.Linfo_string6                  # DW_AT_linkage_name
	.int32	.Linfo_string7                  # DW_AT_name
	.int8	1                               # DW_AT_decl_file
	.int8	3                               # DW_AT_decl_line
	.int32	191                             # DW_AT_type
                                        # DW_AT_external
	.int8	4                               # Abbrev [4] 0x74:0xe DW_TAG_formal_parameter
	.int8	2                               # DW_AT_location
	.int8	145
	.int8	15
	.int32	.Linfo_string11                 # DW_AT_name
	.int8	1                               # DW_AT_decl_file
	.int8	3                               # DW_AT_decl_line
	.int32	205                             # DW_AT_type
	.int8	5                               # Abbrev [5] 0x82:0xe DW_TAG_variable
	.int8	2                               # DW_AT_location
	.int8	145
	.int8	8
	.int32	.Linfo_string13                 # DW_AT_name
	.int8	1                               # DW_AT_decl_file
	.int8	5                               # DW_AT_decl_line
	.int32	168                             # DW_AT_type
	.int8	6                               # Abbrev [6] 0x90:0x18 DW_TAG_lexical_block
	.int32	.Ltmp3                          # DW_AT_low_pc
	.int32	.Ltmp4-.Ltmp3                   # DW_AT_high_pc
	.int8	5                               # Abbrev [5] 0x99:0xe DW_TAG_variable
	.int8	2                               # DW_AT_location
	.int8	145
	.int8	4
	.int32	.Linfo_string15                 # DW_AT_name
	.int8	1                               # DW_AT_decl_file
	.int8	9                               # DW_AT_decl_line
	.int32	179                             # DW_AT_type
	.int8	0                               # End Of Children Mark
	.int8	7                               # Abbrev [7] 0xa8:0xb DW_TAG_typedef
	.int32	38                              # DW_AT_type
	.int32	.Linfo_string14                 # DW_AT_name
	.int8	1                               # DW_AT_decl_file
	.int8	4                               # DW_AT_decl_line
	.int8	7                               # Abbrev [7] 0xb3:0xb DW_TAG_typedef
	.int32	198                             # DW_AT_type
	.int32	.Linfo_string16                 # DW_AT_name
	.int8	1                               # DW_AT_decl_file
	.int8	7                               # DW_AT_decl_line
	.int8	0                               # End Of Children Mark
	.int8	2                               # Abbrev [2] 0xbf:0x7 DW_TAG_base_type
	.int32	.Linfo_string8                  # DW_AT_name
	.int8	7                               # DW_AT_encoding
	.int8	4                               # DW_AT_byte_size
	.int8	2                               # Abbrev [2] 0xc6:0x7 DW_TAG_base_type
	.int32	.Linfo_string10                 # DW_AT_name
	.int8	4                               # DW_AT_encoding
	.int8	4                               # DW_AT_byte_size
	.int8	2                               # Abbrev [2] 0xcd:0x7 DW_TAG_base_type
	.int32	.Linfo_string12                 # DW_AT_name
	.int8	6                               # DW_AT_encoding
	.int8	1                               # DW_AT_byte_size
	.int8	0                               # End Of Children Mark
.Ldebug_info_end0:
	.section	.debug_ranges,"",@
.Ldebug_ranges0:
	.int32	.Lfunc_begin0
	.int32	.Lfunc_end0
	.int32	.Lfunc_begin1
	.int32	.Lfunc_end1
	.int32	0
	.int32	0
	.section	.debug_str,"S",@
.Linfo_string0:
	.asciz	"clang version 19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)" # string offset=0
.Linfo_string1:
	.asciz	"pr-44884.cpp"                  # string offset=111
.Linfo_string2:
	.asciz	"/data/projects/scripts/regression-suite/input/general" # string offset=124
.Linfo_string3:
	.asciz	"int"                           # string offset=178
.Linfo_string4:
	.asciz	"_Z3barf"                       # string offset=182
.Linfo_string5:
	.asciz	"bar"                           # string offset=190
.Linfo_string6:
	.asciz	"_Z3fooc"                       # string offset=194
.Linfo_string7:
	.asciz	"foo"                           # string offset=202
.Linfo_string8:
	.asciz	"unsigned int"                  # string offset=206
.Linfo_string9:
	.asciz	"Input"                         # string offset=219
.Linfo_string10:
	.asciz	"float"                         # string offset=225
.Linfo_string11:
	.asciz	"Param"                         # string offset=231
.Linfo_string12:
	.asciz	"char"                          # string offset=237
.Linfo_string13:
	.asciz	"Value"                         # string offset=242
.Linfo_string14:
	.asciz	"INT"                           # string offset=248
.Linfo_string15:
	.asciz	"Added"                         # string offset=252
.Linfo_string16:
	.asciz	"FLOAT"                         # string offset=258
	.ident	"clang version 19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)"
	.section	.custom_section.producers,"",@
	.int8	2
	.int8	8
	.ascii	"language"
	.int8	1
	.int8	14
	.ascii	"C_plus_plus_14"
	.int8	0
	.int8	12
	.ascii	"processed-by"
	.int8	1
	.int8	5
	.ascii	"clang"
	.int8	96
	.ascii	"19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)"
	.section	.debug_str,"S",@
	.section	.custom_section.target_features,"",@
	.int8	2
	.int8	43
	.int8	15
	.ascii	"mutable-globals"
	.int8	43
	.int8	8
	.ascii	"sign-ext"
	.section	.debug_str,"S",@
	.section	.debug_line,"",@
.Lline_table_start0: