Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-dwarfdump / X86 / stats-scope-bytes-covered.yaml
blob3d4e9d33f24ababbb60b771e7f80de53f6b97784
1 # RUN: yaml2obj %s | llvm-dwarfdump --statistics - | FileCheck %s
3 ## Check that coverage for variable locations which do not cover the parent
4 ## scope is tracked separately in "sum_all_variables(#bytes in any scope
5 ## covered by DW_AT_location)".
6 ##
7 ## The yaml represents this DWARF:
8 ##
9 ## DW_TAG_compile_unit
10 ##   DW_AT_low_pc       (0x0000000000000000)
11 ##   DW_AT_high_pc      (0x000000000000000b)
13 ##   DW_TAG_subprogram
14 ##     DW_AT_low_pc     (0x0000000000000000)
15 ##     DW_AT_high_pc    (0x000000000000000b)
17 ##     DW_TAG_lexical_block
18 ##       DW_AT_ranges   (0x00000000
19 ##          [0x0000000000000000, 0x0000000000000003)
20 ##          [0x0000000000000005, 0x0000000000000008))
22 ##       // #bytes in parent scope: 6
23 ##       // #bytes in any scope covered by DW_AT_location: 6
24 ##       // #bytes in parent scope covered by DW_AT_location: 4
25 ##       DW_TAG_variable
26 ##         DW_AT_location       (0x00000000:
27 ##            [0x0000000000000000, 0x0000000000000006): DW_OP_reg5 RDI)
29 ##       // #bytes in parent scope: 6
30 ##       // #bytes in any scope covered by DW_AT_location: 2
31 ##       // #bytes in parent scope covered by DW_AT_location: 0
32 ##       DW_TAG_variable
33 ##         DW_AT_location       (0x00000023:
34 ##            [0x0000000000000003, 0x0000000000000005): DW_OP_reg2 RCX)
36 # CHECK: "version": 9,
37 # CHECK: "sum_all_variables(#bytes in parent scope)": 12,
38 # CHECK: "sum_all_variables(#bytes in any scope covered by DW_AT_location)": 8
39 # CHECK: "sum_all_variables(#bytes in parent scope covered by DW_AT_location)": 4
41 --- !ELF
42 FileHeader:
43   Class:   ELFCLASS64
44   Data:    ELFDATA2LSB
45   Type:    ET_EXEC
46   Machine: EM_X86_64
47 Sections:
48   - Name:         .debug_loc
49     Type:         SHT_PROGBITS
50     AddressAlign: 0x01
51     Content:      '00000000000000000600000000000000010055000000000000000000000000000000000300000000000000050000000000000001005200000000000000000000000000000000'
52   - Name:         .debug_ranges
53     Type:         SHT_PROGBITS
54     AddressAlign: 0x01
55     Content:      '000000000000000003000000000000000500000000000000080000000000000000000000000000000000000000000000'
56 DWARF:
57   debug_abbrev:
58     - Table:
59       - Code:     1
60         Tag:      DW_TAG_compile_unit
61         Children: DW_CHILDREN_yes
62         Attributes:
63           - Attribute: DW_AT_low_pc
64             Form:      DW_FORM_addr
65           - Attribute: DW_AT_high_pc
66             Form:      DW_FORM_data4
67       - Code:     2
68         Tag:      DW_TAG_subprogram
69         Children: DW_CHILDREN_yes
70         Attributes:
71           - Attribute: DW_AT_low_pc
72             Form:      DW_FORM_addr
73           - Attribute: DW_AT_high_pc
74             Form:      DW_FORM_data4
75       - Code:     3
76         Tag:      DW_TAG_lexical_block
77         Children: DW_CHILDREN_yes
78         Attributes:
79           - Attribute: DW_AT_ranges
80             Form:      DW_FORM_sec_offset
81       - Code:     4
82         Tag:      DW_TAG_variable
83         Children: DW_CHILDREN_no
84         Attributes:
85           - Attribute: DW_AT_location
86             Form:      DW_FORM_sec_offset
87   debug_info:
88     - Version:    4
89       AbbrOffset: 0x00
90       Entries:
91         - AbbrCode: 1 ## DW_TAG_compile_unit
92           Values:
93             - Value: 0x00 ## DW_AT_low_pc
94             - Value: 0x0b ## DW_AT_high_pc
95         - AbbrCode: 2 ## DW_TAG_subprogram
96           Values:
97             - Value: 0x00 ## DW_AT_low_pc
98             - Value: 0x0b ## DW_AT_high_pc
99         - AbbrCode: 3 ## DW_TAG_lexical_block
100           Values:
101             - Value: 0x00 ## DW_AT_ranges
102         - AbbrCode: 4 ## DW_TAG_variable
103           Values:
104             - Value: 0x00 ## DW_AT_sec_offset
105         - AbbrCode: 4 ## DW_TAG_variable
106           Values:
107             - Value: 0x23 ## DW_AT_sec_offset
108         - AbbrCode: 0 ## NULL
109         - AbbrCode: 0 ## NULL
110         - AbbrCode: 0 ## NULL