Imported Upstream version 5.18.0.205

Former-commit-id: 7f59f7e792705db773f1caecdaa823092f4e2927
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-11-16 08:20:38 +00:00
parent 5cd5df71cc
commit 8e12397d70
28486 changed files with 3867013 additions and 66 deletions

View File

@ -0,0 +1,79 @@
# RUN: llvm-mc -triple=s390x-linux-gnu -filetype=obj %s -o %t
# RUN: llvm-objdump -s %t | FileCheck %s
.text
.globl check_largest_class
.align 4
.type check_largest_class,@function
check_largest_class:
.cfi_startproc
stmg %r13, %r15, 104(%r15)
.cfi_offset %r13, -56
.cfi_offset %r14, -48
.cfi_offset %r15, -40
aghi %r15, -224
.cfi_def_cfa_offset 384
std %f8, 160(%r15)
std %f9, 168(%r15)
std %f10, 176(%r15)
std %f11, 184(%r15)
std %f12, 192(%r15)
std %f13, 200(%r15)
std %f14, 208(%r15)
std %f15, 216(%r15)
.cfi_offset %f8, -224
.cfi_offset %f9, -216
.cfi_offset %f10, -208
.cfi_offset %f11, -200
.cfi_offset %f12, -192
.cfi_offset %f13, -184
.cfi_offset %f14, -176
.cfi_offset %f15, -168
lmg %r13, %r15, 328(%r15)
br %r14
.size check_largest_class, .-check_largest_class
.cfi_endproc
# The readelf rendering is:
#
# Contents of the .eh_frame section:
#
# 00000000 0000000000000014 00000000 CIE
# Version: 3
# Augmentation: "zR"
# Code alignment factor: 1
# Data alignment factor: -8
# Return address column: 14
# Augmentation data: 1b
#
# DW_CFA_def_cfa: r15 ofs 160
# DW_CFA_nop
# DW_CFA_nop
# DW_CFA_nop
#
# 000000.. 000000000000002c 0000001c FDE cie=00000000 pc=0000000000000000..0000000000000032
# DW_CFA_advance_loc: 6 to 0000000000000006
# DW_CFA_offset: r13 at cfa-56
# DW_CFA_offset: r14 at cfa-48
# DW_CFA_offset: r15 at cfa-40
# DW_CFA_advance_loc: 4 to 000000000000000a
# DW_CFA_def_cfa_offset: 384
# DW_CFA_advance_loc: 32 to 000000000000002a
# DW_CFA_offset: r24 at cfa-224
# DW_CFA_offset: r28 at cfa-216
# DW_CFA_offset: r25 at cfa-208
# DW_CFA_offset: r29 at cfa-200
# DW_CFA_offset: r26 at cfa-192
# DW_CFA_offset: r30 at cfa-184
# DW_CFA_offset: r27 at cfa-176
# DW_CFA_offset: r31 at cfa-168
# DW_CFA_nop
# DW_CFA_nop
# DW_CFA_nop
#
# CHECK: Contents of section .eh_frame:
# CHECK-NEXT: 0000 00000014 00000000 017a5200 01780e01 {{.*}}
# CHECK-NEXT: 0010 1b0c0fa0 01000000 0000002c 0000001c {{.*}}
# CHECK-NEXT: 0020 00000000 00000032 00468d07 8e068f05 {{.*}}
# CHECK-NEXT: 0030 440e8003 60981c9c 1b991a9d 199a189e {{.*}}
# CHECK-NEXT: 0040 179b169f 15000000 {{.*}}

View File

@ -0,0 +1,47 @@
; RUN: llc < %s -verify-machineinstrs -mtriple=s390x-linux-gnu | FileCheck -check-prefix=CHECK-FUNC %s
; RUN: llc < %s -verify-machineinstrs -mtriple=s390x-linux-gnu | FileCheck -check-prefix=CHECK-ET %s
; RUN: llc < %s -verify-machineinstrs -mtriple=s390x-linux-gnu -relocation-model=pic | FileCheck -check-prefix=CHECK-REF %s
declare i32 @__gxx_personality_v0(...)
declare void @bar()
define i64 @foo(i64 %lhs, i64 %rhs) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
invoke void @bar() to label %end unwind label %clean
end:
ret i64 0
clean:
%tst = landingpad { i8*, i32 } cleanup
ret i64 42
}
; CHECK-FUNC: foo:
; CHECK-FUNC: .cfi_startproc
; CHECK-FUNC: .cfi_personality 0, __gxx_personality_v0
; CHECK-FUNC: .cfi_lsda 0, .Lexception0
; CHECK-FUNC: stmg %r6, %r15, 48(%r15)
; CHECK-FUNC: .cfi_offset %r6, -112
; CHECK-FUNC: .cfi_offset %r7, -104
; CHECK-FUNC: .cfi_offset %r14, -48
; CHECK-FUNC: .cfi_offset %r15, -40
; CHECK-FUNC: aghi %r15, -160
; CHECK-FUNC: .cfi_def_cfa_offset 320
; ...main function...
; CHECK-FUNC: .cfi_endproc
;
; CHECK-ET: .section .gcc_except_table,"a",@progbits
; CHECK-ET-NEXT: .p2align 2
; CHECK-ET-NEXT: GCC_except_table0:
; CHECK-ET-NEXT: .Lexception0:
;
; CHECK-REF: .cfi_personality 155, DW.ref.__gxx_personality_v0
; CHECK-REF: .cfi_lsda 27, .Lexception0
; CHECK-REF: .hidden DW.ref.__gxx_personality_v0
; CHECK-REF: .weak DW.ref.__gxx_personality_v0
; CHECK-REF: .section .data.DW.ref.__gxx_personality_v0,"aGw",@progbits,DW.ref.__gxx_personality_v0,comdat
; CHECK-REF-NEXT: .p2align 3
; CHECK-REF-NEXT: .type DW.ref.__gxx_personality_v0,@object
; CHECK-REF-NEXT: .size DW.ref.__gxx_personality_v0, 8
; CHECK-REF-NEXT: DW.ref.__gxx_personality_v0:
; CHECK-REF-NEXT: .quad __gxx_personality_v0

View File

@ -0,0 +1,67 @@
# RUN: llvm-mc -triple=s390x-linux-gnu -filetype=obj %s -o %t
# RUN: llvm-objdump -s %t | FileCheck %s
.text
.globl foo
.align 4
.type foo,@function
foo: # @foo
.cfi_startproc
.cfi_personality 155, DW.ref.__gxx_personality_v0
.cfi_lsda 27, .Lexception0
stmg %r14, %r15, 112(%r15)
.cfi_offset %r14, -48
.cfi_offset %r15, -40
aghi %r15, -160
.cfi_def_cfa_offset 320
lmg %r14, %r15, 272(%r15)
br %r14
.size foo, .-foo
.cfi_endproc
.section .gcc_except_table,"a",@progbits
.align 4
.Lexception0:
.hidden DW.ref.__gxx_personality_v0
.weak DW.ref.__gxx_personality_v0
.section .data.DW.ref.__gxx_personality_v0,"aGw",@progbits,DW.ref.__gxx_personality_v0,comdat
.align 8
.type DW.ref.__gxx_personality_v0,@object
.size DW.ref.__gxx_personality_v0, 8
DW.ref.__gxx_personality_v0:
.quad __gxx_personality_v0
# The readelf rendering is:
#
# Contents of the .eh_frame section:
#
# 00000000 0000001c 00000000 CIE
# Version: 3
# Augmentation: "zPLR"
# Code alignment factor: 1
# Data alignment factor: -8
# Return address column: 14
# Augmentation data: 9b ff ff ff ed 1b 1b
#
# DW_CFA_def_cfa: r15 ofs 160
# DW_CFA_nop
# DW_CFA_nop
# DW_CFA_nop
#
# 00000020 0000001c 00000024 FDE cie=00000000 pc=00000000..00000012
# Augmentation data: ff ff ff cf
#
# DW_CFA_advance_loc: 6 to 00000006
# DW_CFA_offset: r14 at cfa-48
# DW_CFA_offset: r15 at cfa-40
# DW_CFA_advance_loc: 4 to 0000000a
# DW_CFA_def_cfa_offset: 320
# DW_CFA_nop
# DW_CFA_nop
#
# CHECK: Contents of section .eh_frame:
# CHECK-NEXT: 0000 0000001c 00000000 017a504c 52000178 .........zPLR..x
# CHECK-NEXT: 0010 0e079b00 0000001b 1b0c0fa0 01000000 ................
# CHECK-NEXT: 0020 0000001c 00000024 00000000 00000012 .......$........
# CHECK-NEXT: 0030 04000000 00468e06 8f05440e c0020000 .....F....D.....

View File

@ -0,0 +1,3 @@
if not 'SystemZ' in config.root.targets:
config.unsupported = True

View File

@ -0,0 +1,15 @@
; RUN: llc -filetype=obj -O0 < %s -mtriple s390x-unknown-linux | \
; RUN: llvm-dwarfdump - 2>&1 | FileCheck %s
; CHECK-NOT: failed to compute relocation
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4}
!llvm.ident = !{!5}
!0 = !{i32 786449, !1, i32 12, !"clang version 3.6.0 ", i1 false, !"", i32 0, !2, !2, !2, !2, !2, !"", i32 1} ; [ DW_TAG_compile_unit ] [/a/empty.c] [DW_LANG_C99]
!1 = !{!"empty.c", !"/a"}
!2 = !{}
!3 = !{i32 2, !"Dwarf Version", i32 4}
!4 = !{i32 2, !"Debug Info Version", i32 1}
!5 = !{!"clang version 3.6.0 "}

View File

@ -0,0 +1,41 @@
; RUN: llc -disable-fp-elim -O0 %s -mtriple s390x-linux-gnu -o - | FileCheck %s
; int func(void);
; void prologue_end_test() {
; func();
; func();
; }
define void @prologue_end_test() nounwind uwtable !dbg !4 {
; CHECK: prologue_end_test:
; CHECK: .cfi_startproc
; CHECK: aghi
; CHECK: lgr
; CHECK: .loc 1 3 3 prologue_end
; CHECK: brasl {{.*}}, func
; CHECK: brasl {{.*}}, func
entry:
%call = call i32 @func(), !dbg !11
%call1 = call i32 @func(), !dbg !12
ret void, !dbg !13
}
declare i32 @func()
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!7, !8, !9}
!llvm.ident = !{!10}
!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.7.0 (trunk 242129)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
!1 = !DIFile(filename: "foo.c", directory: "/tmp")
!2 = !{}
!4 = distinct !DISubprogram(name: "prologue_end_test", scope: !1, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true, scopeLine: 2, isOptimized: false, unit: !0, variables: !2)
!5 = !DISubroutineType(types: !6)
!6 = !{null}
!7 = !{i32 2, !"Dwarf Version", i32 2}
!8 = !{i32 2, !"Debug Info Version", i32 3}
!9 = !{i32 1, !"PIC Level", i32 2}
!10 = !{!"clang version 3.7.0 (trunk 242129)"}
!11 = !DILocation(line: 3, column: 3, scope: !4)
!12 = !DILocation(line: 4, column: 3, scope: !4)
!13 = !DILocation(line: 5, column: 1, scope: !4)

View File

@ -0,0 +1,80 @@
; RUN: llc -mtriple=s390x-linux-gnu -disable-fp-elim < %s | FileCheck %s
; RUN: llc -mtriple=s390x-linux-gnu -disable-fp-elim -filetype=obj < %s \
; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=DEBUG %s
;
; This is a regression test making sure the location of variables is correct in
; debugging information, even if they're addressed via the frame pointer.
; Originally a copy of the AArch64 test, commandeered for SystemZ.
;
; First make sure main_arr is where we expect it: %r11 + 164
;
; CHECK: main:
; CHECK: aghi %r15, -568
; CHECK: la %r2, 164(%r11)
; CHECK: brasl %r14, populate_array@PLT
; DEBUG: DW_TAG_variable
; DEBUG-NOT: DW_TAG
; DEBUG: DW_AT_location {{.*}}(DW_OP_fbreg +164)
; DEBUG-NOT: DW_TAG
; DEBUG: DW_AT_name {{.*}} "main_arr"
@.str = private unnamed_addr constant [13 x i8] c"Total is %d\0A\00", align 2
declare void @populate_array(i32*, i32) nounwind
declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
declare i32 @sum_array(i32*, i32) nounwind
define i32 @main() nounwind !dbg !14 {
entry:
%retval = alloca i32, align 4
%main_arr = alloca [100 x i32], align 4
%val = alloca i32, align 4
store volatile i32 0, i32* %retval
call void @llvm.dbg.declare(metadata [100 x i32]* %main_arr, metadata !17, metadata !DIExpression()), !dbg !22
call void @llvm.dbg.declare(metadata i32* %val, metadata !23, metadata !DIExpression()), !dbg !24
%arraydecay = getelementptr inbounds [100 x i32], [100 x i32]* %main_arr, i32 0, i32 0, !dbg !25
call void @populate_array(i32* %arraydecay, i32 100), !dbg !25
%arraydecay1 = getelementptr inbounds [100 x i32], [100 x i32]* %main_arr, i32 0, i32 0, !dbg !26
%call = call i32 @sum_array(i32* %arraydecay1, i32 100), !dbg !26
store i32 %call, i32* %val, align 4, !dbg !26
%0 = load i32, i32* %val, align 4, !dbg !27
%call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i32 0, i32 0), i32 %0), !dbg !27
ret i32 0, !dbg !28
}
declare i32 @printf(i8*, ...)
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!30}
!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.2 ", isOptimized: false, emissionKind: FullDebug, file: !29, enums: !1, retainedTypes: !1, globals: !1, imports: !1)
!1 = !{}
!5 = distinct !DISubprogram(name: "populate_array", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 4, file: !29, scope: !6, type: !7, variables: !1)
!6 = !DIFile(filename: "simple.c", directory: "/home/timnor01/a64-trunk/build")
!7 = !DISubroutineType(types: !8)
!8 = !{null, !9, !10}
!9 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !10)
!10 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!11 = distinct !DISubprogram(name: "sum_array", line: 9, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 9, file: !29, scope: !6, type: !12, variables: !1)
!12 = !DISubroutineType(types: !13)
!13 = !{!10, !9, !10}
!14 = distinct !DISubprogram(name: "main", line: 18, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 18, file: !29, scope: !6, type: !15, variables: !1)
!15 = !DISubroutineType(types: !16)
!16 = !{!10}
!17 = !DILocalVariable(name: "main_arr", line: 19, scope: !18, file: !6, type: !19)
!18 = distinct !DILexicalBlock(line: 18, column: 16, file: !29, scope: !14)
!19 = !DICompositeType(tag: DW_TAG_array_type, size: 3200, align: 32, baseType: !10, elements: !{!20})
!20 = !DISubrange(count: 99)
!22 = !DILocation(line: 19, column: 7, scope: !18)
!23 = !DILocalVariable(name: "val", line: 20, scope: !18, file: !6, type: !10)
!24 = !DILocation(line: 20, column: 7, scope: !18)
!25 = !DILocation(line: 22, column: 3, scope: !18)
!26 = !DILocation(line: 23, column: 9, scope: !18)
!27 = !DILocation(line: 24, column: 3, scope: !18)
!28 = !DILocation(line: 26, column: 3, scope: !18)
!29 = !DIFile(filename: "simple.c", directory: "/home/timnor01/a64-trunk/build")
!30 = !{i32 1, !"Debug Info Version", i32 3}

View File

@ -0,0 +1,340 @@
# RUN: llvm-mc < %s -triple=s390x-linux-gnu -filetype=obj | llvm-dwarfdump -v - | FileCheck %s
#
# We use both R_390_32 and R_390_64 to encode the dwarf information.
# Test that they are used correctly. This uses the assembly output
# for variable-loc.ll
#
# A couple of R_390_32s, both at 0 and elsewhere:
#
# CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] = "clang version 3.2 ")
# CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000013] = "simple.c")
#
# A couple of R_390_64s similarly:
#
# CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
# CHECK: DW_AT_high_pc [DW_FORM_addr] (0x0000000000000050)
.file "test/DebugInfo/SystemZ/variable-loc.ll"
.section .debug_info,"",@progbits
.Lsection_info:
.section .debug_abbrev,"",@progbits
.Lsection_abbrev:
.section .debug_aranges,"",@progbits
.section .debug_macinfo,"",@progbits
.section .debug_line,"",@progbits
.Lsection_line:
.section .debug_loc,"",@progbits
.section .debug_pubtypes,"",@progbits
.section .debug_str,"MS",@progbits,1
.Linfo_string:
.section .debug_ranges,"",@progbits
.Ldebug_range:
.section .debug_loc,"",@progbits
.Lsection_debug_loc:
.text
.Ltext_begin:
.data
.file 1 "simple.c"
.file 2 "<stdin>"
.text
.globl main
.align 4
.type main,@function
main: # @main
.cfi_startproc
.Lfunc_begin0:
.loc 2 18 0 # :18:0
# %bb.0: # %entry
stmg %r12, %r15, 96(%r15)
.Ltmp2:
.cfi_offset %r12, -64
.Ltmp3:
.cfi_offset %r13, -56
.Ltmp4:
.cfi_offset %r14, -48
.Ltmp5:
.cfi_offset %r15, -40
aghi %r15, -568
.Ltmp6:
.cfi_def_cfa_offset 728
mvhi 564(%r15), 0
la %r13, 164(%r15)
lhi %r12, 100
.loc 2 22 3 prologue_end # :22:3
.Ltmp7:
lgr %r2, %r13
lr %r3, %r12
brasl %r14, populate_array@PLT
.loc 2 23 9 # :23:9
lgr %r2, %r13
lr %r3, %r12
brasl %r14, sum_array@PLT
lr %r0, %r2
st %r0, 160(%r15)
.loc 2 24 3 # :24:3
larl %r2, .L.str
lr %r3, %r0
brasl %r14, printf@PLT
lhi %r2, 0
.loc 2 26 3 # :26:3
lmg %r12, %r15, 664(%r15)
br %r14
.Ltmp8:
.Ltmp9:
.size main, .Ltmp9-main
.Lfunc_end0:
.cfi_endproc
.type .L.str,@object # @.str
.section .rodata.str1.2,"aMS",@progbits,1
.align 2
.L.str:
.asciz "Total is %d\n"
.size .L.str, 13
.cfi_sections .debug_frame
.text
.Ltext_end:
.data
.Ldata_end:
.text
.Lsection_end1:
.section .debug_info,"",@progbits
.L.debug_info_begin0:
.long 155 # Length of Compilation Unit Info
.short 2 # DWARF version number
.long .L.debug_abbrev_begin # Offset Into Abbrev. Section
.byte 8 # Address Size (in bytes)
.byte 1 # Abbrev [1] 0xb:0x94 DW_TAG_compile_unit
.long .Linfo_string0 # DW_AT_producer
.short 12 # DW_AT_language
.long .Linfo_string1 # DW_AT_name
.quad 0 # DW_AT_low_pc
.long .Lsection_line # DW_AT_stmt_list
.long .Linfo_string2 # DW_AT_comp_dir
.byte 2 # Abbrev [2] 0x26:0x7 DW_TAG_subprogram
.long .Linfo_string3 # DW_AT_name
.byte 2 # DW_AT_decl_file
.byte 4 # DW_AT_decl_line
# DW_AT_prototyped
# DW_AT_external
.byte 3 # Abbrev [3] 0x2d:0xb DW_TAG_subprogram
.long .Linfo_string4 # DW_AT_name
.byte 2 # DW_AT_decl_file
.byte 9 # DW_AT_decl_line
# DW_AT_prototyped
.long 56 # DW_AT_type
# DW_AT_external
.byte 4 # Abbrev [4] 0x38:0x7 DW_TAG_base_type
.long .Linfo_string5 # DW_AT_name
.byte 5 # DW_AT_encoding
.byte 4 # DW_AT_byte_size
.byte 5 # Abbrev [5] 0x3f:0xb DW_TAG_subprogram
.long .Linfo_string6 # DW_AT_name
.byte 2 # DW_AT_decl_file
.byte 18 # DW_AT_decl_line
# DW_AT_prototyped
.long 56 # DW_AT_type
# DW_AT_external
# DW_AT_declaration
.byte 6 # Abbrev [6] 0x4a:0x7 DW_TAG_base_type
.long .Linfo_string5 # DW_AT_name
.byte 4 # DW_AT_byte_size
.byte 5 # DW_AT_encoding
.byte 7 # Abbrev [7] 0x51:0x5 DW_TAG_array_type
.long 56 # DW_AT_type
.byte 8 # Abbrev [8] 0x56:0x48 DW_TAG_subprogram
.long 63 # DW_AT_specification
.quad .Lfunc_begin0 # DW_AT_low_pc
.quad .Lfunc_end0 # DW_AT_high_pc
.byte 1 # DW_AT_frame_base
.byte 95
# DW_AT_APPLE_omit_frame_ptr
.byte 9 # Abbrev [9] 0x6d:0x30 DW_TAG_lexical_block
.quad .Ltmp7 # DW_AT_low_pc
.quad .Ltmp8 # DW_AT_high_pc
.byte 10 # Abbrev [10] 0x7e:0xf DW_TAG_variable
.long .Linfo_string7 # DW_AT_name
.byte 2 # DW_AT_decl_file
.byte 19 # DW_AT_decl_line
.long 81 # DW_AT_type
.byte 3 # DW_AT_location
.byte 145
.ascii "\244\001"
.byte 10 # Abbrev [10] 0x8d:0xf DW_TAG_variable
.long .Linfo_string8 # DW_AT_name
.byte 2 # DW_AT_decl_file
.byte 20 # DW_AT_decl_line
.long 56 # DW_AT_type
.byte 3 # DW_AT_location
.byte 145
.ascii "\240\001"
.byte 0 # End Of Children Mark
.byte 0 # End Of Children Mark
.byte 0 # End Of Children Mark
.L.debug_info_end0:
.section .debug_abbrev,"",@progbits
.L.debug_abbrev_begin:
.byte 1 # Abbreviation Code
.byte 17 # DW_TAG_compile_unit
.byte 1 # DW_CHILDREN_yes
.byte 37 # DW_AT_producer
.byte 14 # DW_FORM_strp
.byte 19 # DW_AT_language
.byte 5 # DW_FORM_data2
.byte 3 # DW_AT_name
.byte 14 # DW_FORM_strp
.byte 17 # DW_AT_low_pc
.byte 1 # DW_FORM_addr
.byte 16 # DW_AT_stmt_list
.byte 6 # DW_FORM_data4
.byte 27 # DW_AT_comp_dir
.byte 14 # DW_FORM_strp
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 2 # Abbreviation Code
.byte 46 # DW_TAG_subprogram
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 14 # DW_FORM_strp
.byte 58 # DW_AT_decl_file
.byte 11 # DW_FORM_data1
.byte 59 # DW_AT_decl_line
.byte 11 # DW_FORM_data1
.byte 39 # DW_AT_prototyped
.byte 25 # DW_FORM_flag_present
.byte 63 # DW_AT_external
.byte 25 # DW_FORM_flag_present
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 3 # Abbreviation Code
.byte 46 # DW_TAG_subprogram
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 14 # DW_FORM_strp
.byte 58 # DW_AT_decl_file
.byte 11 # DW_FORM_data1
.byte 59 # DW_AT_decl_line
.byte 11 # DW_FORM_data1
.byte 39 # DW_AT_prototyped
.byte 25 # DW_FORM_flag_present
.byte 73 # DW_AT_type
.byte 19 # DW_FORM_ref4
.byte 63 # DW_AT_external
.byte 25 # DW_FORM_flag_present
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 4 # Abbreviation Code
.byte 36 # DW_TAG_base_type
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 14 # DW_FORM_strp
.byte 62 # DW_AT_encoding
.byte 11 # DW_FORM_data1
.byte 11 # DW_AT_byte_size
.byte 11 # DW_FORM_data1
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 5 # Abbreviation Code
.byte 46 # DW_TAG_subprogram
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 14 # DW_FORM_strp
.byte 58 # DW_AT_decl_file
.byte 11 # DW_FORM_data1
.byte 59 # DW_AT_decl_line
.byte 11 # DW_FORM_data1
.byte 39 # DW_AT_prototyped
.byte 25 # DW_FORM_flag_present
.byte 73 # DW_AT_type
.byte 19 # DW_FORM_ref4
.byte 63 # DW_AT_external
.byte 25 # DW_FORM_flag_present
.byte 60 # DW_AT_declaration
.byte 25 # DW_FORM_flag_present
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 6 # Abbreviation Code
.byte 36 # DW_TAG_base_type
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 14 # DW_FORM_strp
.byte 11 # DW_AT_byte_size
.byte 11 # DW_FORM_data1
.byte 62 # DW_AT_encoding
.byte 11 # DW_FORM_data1
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 7 # Abbreviation Code
.byte 1 # DW_TAG_array_type
.byte 0 # DW_CHILDREN_no
.byte 73 # DW_AT_type
.byte 19 # DW_FORM_ref4
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 8 # Abbreviation Code
.byte 46 # DW_TAG_subprogram
.byte 1 # DW_CHILDREN_yes
.byte 71 # DW_AT_specification
.byte 19 # DW_FORM_ref4
.byte 17 # DW_AT_low_pc
.byte 1 # DW_FORM_addr
.byte 18 # DW_AT_high_pc
.byte 1 # DW_FORM_addr
.byte 64 # DW_AT_frame_base
.byte 10 # DW_FORM_block1
.ascii "\347\177" # DW_AT_APPLE_omit_frame_ptr
.byte 25 # DW_FORM_flag_present
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 9 # Abbreviation Code
.byte 11 # DW_TAG_lexical_block
.byte 1 # DW_CHILDREN_yes
.byte 17 # DW_AT_low_pc
.byte 1 # DW_FORM_addr
.byte 18 # DW_AT_high_pc
.byte 1 # DW_FORM_addr
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 10 # Abbreviation Code
.byte 52 # DW_TAG_variable
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 14 # DW_FORM_strp
.byte 58 # DW_AT_decl_file
.byte 11 # DW_FORM_data1
.byte 59 # DW_AT_decl_line
.byte 11 # DW_FORM_data1
.byte 73 # DW_AT_type
.byte 19 # DW_FORM_ref4
.byte 2 # DW_AT_location
.byte 10 # DW_FORM_block1
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 0 # EOM(3)
.L.debug_abbrev_end:
.section .debug_aranges,"",@progbits
.section .debug_ranges,"",@progbits
.section .debug_macinfo,"",@progbits
.section .debug_str,"MS",@progbits,1
.Linfo_string0:
.asciz "clang version 3.2 "
.Linfo_string1:
.asciz "simple.c"
.Linfo_string2:
.asciz "/home/timnor01/a64-trunk/build"
.Linfo_string3:
.asciz "populate_array"
.Linfo_string4:
.asciz "sum_array"
.Linfo_string5:
.asciz "int"
.Linfo_string6:
.asciz "main"
.Linfo_string7:
.asciz "main_arr"
.Linfo_string8:
.asciz "val"
.section ".note.GNU-stack","",@progbits