For the dwarf5 split debug info code split out the string section
[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 we refer to 'yyyy' with a relocation.
18 ; LINUX:      .long   .Linfo_string3          # DW_AT_name
19 ; LINUX-NEXT: .long   38                      # DW_AT_type
20 ; LINUX-NEXT:                                 # DW_AT_external
21 ; LINUX-NEXT: .byte   1                       # DW_AT_decl_file
22 ; LINUX-NEXT: .byte   1                       # DW_AT_decl_line
23 ; LINUX-NEXT: .byte   9                       # DW_AT_location
24 ; LINUX-NEXT: .byte   3
25 ; LINUX-NEXT: .quad   yyyy
26
27 ; Verify that we refer to 'yyyy' without a relocation.
28 ; DARWIN: Lset5 = Linfo_string3-Linfo_string          ## DW_AT_name
29 ; DARWIN-NEXT:        .long   Lset5
30 ; DARWIN-NEXT:        .long   39                      ## DW_AT_type
31 ; DARWIN-NEXT:        .byte   1                       ## DW_AT_external
32 ; DARWIN-NEXT:        .byte   1                       ## DW_AT_decl_file
33 ; DARWIN-NEXT:        .byte   1                       ## DW_AT_decl_line
34 ; DARWIN-NEXT:        .byte   9                       ## DW_AT_location
35 ; DARWIN-NEXT:        .byte   3
36 ; DARWIN-NEXT:        .quad   _yyyy
37
38 ; Verify that "yyyy" ended up in the stringpool.
39 ; LINUX: .section .debug_str,"MS",@progbits,1
40 ; LINUX-NOT: .section
41 ; LINUX: yyyy
42 ; DARWIN: .section __DWARF,__debug_str,regular,debug
43 ; DARWIN-NOT: .section
44 ; DARWIN: yyyy