Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-dwarfdump / X86 / debug-line-dw-lne-end-sequence.s
blobe4456dab787a36b038c4c46f971101280b3e8f82
1 ## Show that the DW_LNE_end_sequence opcode resets the line state
2 ## properly and the rows are printed correctly.
4 # RUN: llvm-mc -filetype obj -triple x86_64 %s -o %t.o
5 # RUN: llvm-dwarfdump --debug-line %t.o | FileCheck %s --check-prefixes=HEADER,ROWS
6 # RUN: llvm-dwarfdump --debug-line %t.o --verbose | FileCheck %s --check-prefix=ROWS
8 # HEADER: Address Line Column File ISA Discriminator OpIndex Flags
9 # HEADER-NEXT: ------------------ ------ ------ ------ --- ------------- ------- -------------
10 # ROWS: 0x0000000012345678 1 0 1 0 1 0 is_stmt basic_block prologue_end epilogue_begin end_sequence
11 # ROWS: 0x0000000000000001 2 0 1 0 0 0 is_stmt
12 # ROWS: 0x0000000000000001 2 0 1 0 0 0 is_stmt end_sequence
14 .section .debug_line,"",@progbits
15 .Line_table_start0:
16 .long .Line_table_end0-.Line_table_start0-4 # Length of Unit
17 .short 5 # DWARF version number
18 .byte 8 # Address Size
19 .byte 0 # Segment Selector Size
20 .long .Line_table_header_end0-.Line_table_params0 # Length of Prologue
21 .Line_table_params0:
22 .byte 1 # Minimum Instruction Length
23 .byte 1 # Maximum Operations per Instruction
24 .byte 1 # Default is_stmt
25 .byte -5 # Line Base
26 .byte 14 # Line Range
27 .byte 13 # Opcode Base
28 .byte 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 # Standard Opcode Lengths
29 # Directory table format
30 .byte 1 # One element per directory entry
31 .byte 1 # DW_LNCT_path
32 .byte 0x08 # DW_FORM_string
33 # Directory table entries
34 .byte 1 # 1 directory
35 .asciz "/tmp"
36 # File table format
37 .byte 2 # 2 elements per file entry
38 .byte 1 # DW_LNCT_path
39 .byte 0x08 # DW_FORM_string
40 .byte 2 # DW_LNCT_directory_index
41 .byte 0x0b # DW_FORM_data1
42 # File table entries
43 .byte 1 # 1 file
44 .asciz "a.c"
45 .byte 0
46 .Line_table_header_end0:
47 .byte 0,9,2 # DW_LNE_set_address
48 .quad 0x12345678
49 .byte 7 # DW_LNS_set_basic_block
50 .byte 10 # DW_LNS_set_prologue_end
51 .byte 11 # DW_LNS_set_epilogue_begin
52 .byte 0,2,4,1 # DW_LNE_set_discriminator 1
53 .byte 0,1,1 # DW_LNE_end_sequence
54 .byte 33 # address += 1, line += 1
55 .byte 0,1,1 # DW_LNE_end_sequence
56 .Line_table_end0: