Move emission of the debug string table to early in the debug
[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 ; FIXME: Investigating.
5 ; XFAIL: win32
6
7 @yyyy = common global i32 0, align 4
8
9 !llvm.dbg.cu = !{!0}
10
11 !0 = metadata !{i32 786449, metadata !8, i32 12, metadata !"clang version 3.1 (trunk 143009)", i1 true, metadata !"", i32 0, metadata !1, metadata !1, metadata !1, metadata !3,  metadata !3, metadata !""} ; [ DW_TAG_compile_unit ]
12 !1 = metadata !{i32 0}
13 !3 = metadata !{metadata !5}
14 !5 = metadata !{i32 720948, i32 0, null, metadata !"yyyy", metadata !"yyyy", metadata !"", metadata !6, i32 1, metadata !7, i32 0, i32 1, i32* @yyyy, null} ; [ DW_TAG_variable ]
15 !6 = metadata !{i32 720937, metadata !8} ; [ DW_TAG_file_type ]
16 !7 = metadata !{i32 720932, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
17 !8 = metadata !{metadata !"z.c", metadata !"/home/nicholas"}
18
19 ; Verify that "yyyy" ended up in the stringpool.
20 ; LINUX: .section .debug_str,"MS",@progbits,1
21 ; LINUX: yyyy
22 ; DARWIN: .section __DWARF,__debug_str,regular,debug
23 ; DARWIN: yyyy
24
25 ; Verify that we refer to 'yyyy' with a relocation.
26 ; LINUX:      .long   .Linfo_string3          # DW_AT_name
27 ; LINUX-NEXT: .long   38                      # DW_AT_type
28 ; LINUX-NEXT:                                 # 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 = Linfo_string3-Linfo_string          ## DW_AT_name
37 ; DARWIN-NEXT:        .long   Lset5
38 ; DARWIN-NEXT:        .long   38                      ## DW_AT_type
39 ; DARWIN-NEXT:                                        ## 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