Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / COFF / cv-loc.s
blobd2e1bba5232e8565b622450baca16b26663f2412
1 # RUN: llvm-mc < %s -triple=x86_64-pc-win32 -filetype=obj | llvm-readobj - --codeview | FileCheck %s
3 .section .debug$S
4 .long 4
5 .cv_stringtable
7 .cv_file 1 "a.c"
8 .cv_file 2 "t.inc"
10 .cv_func_id 0
12 # Implements this C:
13 # void f(volatile int *x) {
14 # ++*x;
15 # #include "t.h" // contains two ++*x; statements
16 # ++*x;
17 # }
19 .text
20 .def f;
21 .scl 2;
22 .type 32;
23 .endef
24 .text
25 .globl f
26 .align 16, 0x90
28 .Lfunc_begin0:
29 .cv_loc 0 1 5 2
30 incl (%rdi)
31 # #include "t.h" start
32 .cv_loc 0 2 0 0 is_stmt 1
33 incl (%rdi)
34 .cv_loc 0 2 1 0
35 incl (%rdi)
36 # #include "t.h" end
37 .cv_loc 0 1 6 2
38 incl (%rdi)
39 retq
40 .Lfunc_end0:
42 .section .debug$S
43 .cv_filechecksums
44 .cv_linetable 0, f, .Lfunc_end0
46 # CHECK: FunctionLineTable [
47 # CHECK: LinkageName: f
48 # CHECK: Flags: 0x1
49 # CHECK: CodeSize: 0x9
50 # CHECK: FilenameSegment [
51 # CHECK: Filename: a.c (0x0)
52 # CHECK: +0x0 [
53 # CHECK: LineNumberStart: 5
54 # CHECK: LineNumberEndDelta: 0
55 # CHECK: IsStatement: No
56 # CHECK: ColStart: 2
57 # CHECK: ColEnd: 0
58 # CHECK: ]
59 # CHECK: ]
60 # CHECK: FilenameSegment [
61 # CHECK: Filename: t.inc (0x8)
62 # CHECK: +0x2 [
63 # CHECK: LineNumberStart: 0
64 # CHECK: LineNumberEndDelta: 0
65 # CHECK: IsStatement: Yes
66 # CHECK: ColStart: 0
67 # CHECK: ColEnd: 0
68 # CHECK: ]
69 # CHECK: +0x4 [
70 # CHECK: LineNumberStart: 1
71 # CHECK: LineNumberEndDelta: 0
72 # CHECK: IsStatement: No
73 # CHECK: ColStart: 0
74 # CHECK: ColEnd: 0
75 # CHECK: ]
76 # CHECK: ]
77 # CHECK: FilenameSegment [
78 # CHECK: Filename: a.c (0x0)
79 # CHECK: +0x6 [
80 # CHECK: LineNumberStart: 6
81 # CHECK: LineNumberEndDelta: 0
82 # CHECK: IsStatement: No
83 # CHECK: ColStart: 2
84 # CHECK: ColEnd: 0
85 # CHECK: ]
86 # CHECK: ]
87 # CHECK: ]