1 ; RUN: llc -generate-arange-section < %s | FileCheck %s 2 3 ; First CU 4 ; CHECK: .long 44 # Length of ARange Set 5 ; CHECK-NEXT: .short 2 # DWARF Arange version number 6 ; CHECK-NEXT: .long .L.debug_info_begin0 # Offset Into Debug Info Section 7 ; CHECK-NEXT: .byte 8 # Address Size (in bytes) 8 ; CHECK-NEXT: .byte 0 # Segment Size (in bytes) 9 ; CHECK-NEXT: .zero 4,255 10 ; CHECK-NEXT: .quad kittens 11 ; CHECK-NEXT: .Lset0 = rainbows-kittens 12 ; CHECK-NEXT: .quad .Lset0 13 ; CHECK-NEXT: .quad 0 # ARange terminator 14 ; CHECK-NEXT: .quad 0 15 16 ; Second CU 17 ; CHECK-NEXT: .long 44 # Length of ARange Set 18 ; CHECK-NEXT: .short 2 # DWARF Arange version number 19 ; CHECK-NEXT: .long .L.debug_info_begin1 # Offset Into Debug Info Section 20 ; CHECK-NEXT: .byte 8 # Address Size (in bytes) 21 ; CHECK-NEXT: .byte 0 # Segment Size (in bytes) 22 ; CHECK-NEXT: .zero 4,255 23 ; CHECK-NEXT: .quad rainbows 24 ; CHECK-NEXT: .Lset1 = .Ldebug_end0-rainbows 25 ; CHECK-NEXT: .quad .Lset1 26 ; CHECK-NEXT: .quad 0 # ARange terminator 27 ; CHECK-NEXT: .quad 0 28 29 30 ; Generated from: clang -c -g -emit-llvm 31 ; llvm-link test1.bc test2.bc -o test.bc 32 ; test1.c: int kittens = 4; 33 ; test2.c: int rainbows = 5; 34 35 36 37 38 ; ModuleID = 'test.bc' 39 target triple = "x86_64-unknown-linux-gnu" 40 41 @kittens = global i32 4, align 4 42 @rainbows = global i32 5, align 4 43 44 !llvm.dbg.cu = !{!0, !7} 45 !llvm.module.flags = !{!12, !13} 46 47 !0 = metadata !{i32 786449, metadata !1, i32 12, metadata !"clang version 3.4 ", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !2, metadata !3, metadata !2, metadata !""} ; [ DW_TAG_compile_unit ] [/home/kayamon/test1.c] [DW_LANG_C99] 48 !1 = metadata !{metadata !"test1.c", metadata !"/home/kayamon"} 49 !2 = metadata !{} 50 !3 = metadata !{metadata !4} 51 !4 = metadata !{i32 786484, i32 0, null, metadata !"kittens", metadata !"kittens", metadata !"", metadata !5, i32 1, metadata !6, i32 0, i32 1, i32* @kittens, null} ; [ DW_TAG_variable ] [kittens] [line 1] [def] 52 !5 = metadata !{i32 786473, metadata !1} ; [ DW_TAG_file_type ] [/home/kayamon/test1.c] 53 !6 = metadata !{i32 786468, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed] 54 !7 = metadata !{i32 786449, metadata !8, i32 12, metadata !"clang version 3.4 ", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !2, metadata !9, metadata !2, metadata !""} ; [ DW_TAG_compile_unit ] [/home/kayamon/test2.c] [DW_LANG_C99] 55 !8 = metadata !{metadata !"test2.c", metadata !"/home/kayamon"} 56 !9 = metadata !{metadata !10} 57 !10 = metadata !{i32 786484, i32 0, null, metadata !"rainbows", metadata !"rainbows", metadata !"", metadata !11, i32 1, metadata !6, i32 0, i32 1, i32* @rainbows, null} ; [ DW_TAG_variable ] [rainbows] [line 1] [def] 58 !11 = metadata !{i32 786473, metadata !8} ; [ DW_TAG_file_type ] [/home/kayamon/test2.c] 59 !12 = metadata !{i32 2, metadata !"Dwarf Version", i32 4} 60 !13 = metadata !{i32 1, metadata !"Debug Info Version", i32 1} 61