Reorder the sections being output to reduce the number of assembler
[oota-llvm.git] / test / DebugInfo / X86 / stringpool.ll
1 ; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s --check-prefix=LINUX
2 ; RUN: llc -mtriple=x86_64-darwin < %s | FileCheck %s --check-prefix=DARWIN
3
4 @yyyy = common global i32 0, align 4
5
6 !llvm.dbg.cu = !{!0}
7
8 !0 = metadata !{i32 720913, i32 0, i32 12, metadata !"z.c", metadata !"/home/nicholas", metadata !"clang version 3.1 (trunk 143009)", i1 true, i1 true, metadata !"", i32 0, metadata !1, metadata !1, metadata !1, metadata !3} ; [ DW_TAG_compile_unit ]
9 !1 = metadata !{metadata !2}
10 !2 = metadata !{i32 0}
11 !3 = metadata !{metadata !4}
12 !4 = metadata !{metadata !5}
13 !5 = metadata !{i32 720948, i32 0, null, metadata !"yyyy", metadata !"yyyy", metadata !"", metadata !6, i32 1, metadata !7, i32 0, i32 1, i32* @yyyy} ; [ DW_TAG_variable ]
14 !6 = metadata !{i32 720937, metadata !"z.c", metadata !"/home/nicholas", null} ; [ DW_TAG_file_type ]
15 !7 = metadata !{i32 720932, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
16
17 ; Verify that "yyyy" ended up in the stringpool.
18 ; LINUX: .section .debug_str,"MS",@progbits,1
19 ; LINUX: yyyy
20 ; LINUX: .section .debug_info
21 ; DARWIN: .section __DWARF,__debug_str,regular,debug
22 ; DARWIN: yyyy
23 ; DARWIN: .section __DWARF,__debug_info
24
25 ; Verify that we refer to 'yyyy' with a relocation.
26 ; LINUX:      .long   .Lstring3               # DW_AT_name
27 ; LINUX-NEXT: .long   39                      # DW_AT_type
28 ; LINUX-NEXT: .byte   1                       # DW_AT_external
29 ; LINUX-NEXT: .byte   1                       # DW_AT_decl_file
30 ; LINUX-NEXT: .byte   1                       # DW_AT_decl_line
31 ; LINUX-NEXT: .byte   9                       # DW_AT_location
32 ; LINUX-NEXT: .byte   3
33 ; LINUX-NEXT: .quad   yyyy
34
35 ; Verify that we refer to 'yyyy' without a relocation.
36 ; DARWIN: Lset5 = Lstring3-Lsection_str               ## DW_AT_name
37 ; DARWIN-NEXT:        .long   Lset5
38 ; DARWIN-NEXT:        .long   39                      ## DW_AT_type
39 ; DARWIN-NEXT:        .byte   1                       ## DW_AT_external
40 ; DARWIN-NEXT:        .byte   1                       ## DW_AT_decl_file
41 ; DARWIN-NEXT:        .byte   1                       ## DW_AT_decl_line
42 ; DARWIN-NEXT:        .byte   9                       ## DW_AT_location
43 ; DARWIN-NEXT:        .byte   3
44 ; DARWIN-NEXT:        .quad   _yyyy