forked from OSchip/llvm-project
164 lines
4.2 KiB
ArmAsm
164 lines
4.2 KiB
ArmAsm
# RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj -codeview | FileCheck %s
|
|
.text
|
|
.def @feat.00;
|
|
.scl 3;
|
|
.type 0;
|
|
.endef
|
|
.globl @feat.00
|
|
@feat.00 = 1
|
|
.def "?baz@@YAXXZ";
|
|
.scl 2;
|
|
.type 32;
|
|
.endef
|
|
.globl "?baz@@YAXXZ"
|
|
.p2align 4, 0x90
|
|
"?baz@@YAXXZ": # @"\01?baz@@YAXXZ"
|
|
Lfunc_begin0:
|
|
.cv_file 1 "D:\\src\\llvm\\build\\t.cpp"
|
|
.cv_func_id 0
|
|
.cv_inline_site_id 1 within 0 inlined_at 1 15 3
|
|
.cv_inline_site_id 2 within 1 inlined_at 1 10 3
|
|
.cv_loc 0 1 13 0 is_stmt 0 # t.cpp:13:0
|
|
# %bb.0: # %entry
|
|
pushl %eax
|
|
.cv_loc 0 1 14 5 # t.cpp:14:5
|
|
addl $6, "?x@@3HC"
|
|
.cv_loc 1 1 9 5 # t.cpp:9:5
|
|
addl $4, "?x@@3HC"
|
|
.cv_loc 2 1 3 7 # t.cpp:3:7
|
|
movl $1, (%esp)
|
|
leal (%esp), %eax
|
|
.cv_loc 2 1 4 5 # t.cpp:4:5
|
|
addl %eax, "?x@@3HC"
|
|
.cv_loc 2 1 5 5 # t.cpp:5:5
|
|
addl $2, "?x@@3HC"
|
|
.cv_loc 2 1 6 5 # t.cpp:6:5
|
|
addl $3, "?x@@3HC"
|
|
.cv_loc 1 1 11 5 # t.cpp:11:5
|
|
addl $5, "?x@@3HC"
|
|
.cv_loc 0 1 16 5 # t.cpp:16:5
|
|
addl $7, "?x@@3HC"
|
|
.cv_loc 0 1 17 1 # t.cpp:17:1
|
|
popl %eax
|
|
retl
|
|
Lfunc_end0:
|
|
|
|
.section .debug$T,"dr"
|
|
.long 4
|
|
.short 6
|
|
.short 4609
|
|
.long 0
|
|
.short 14
|
|
.short 4104
|
|
.asciz "\003\000\000\000\000\000\000\000\000\020\000"
|
|
.short 14
|
|
.short 5633
|
|
.asciz "\000\000\000\000\001\020\000"
|
|
.ascii "baz"
|
|
.byte 0
|
|
.short 14
|
|
.short 5633
|
|
.asciz "\000\000\000\000\001\020\000"
|
|
.ascii "bar"
|
|
.byte 0
|
|
.short 14
|
|
.short 5633
|
|
.asciz "\000\000\000\000\001\020\000"
|
|
.ascii "foo"
|
|
.byte 0
|
|
.section .debug$S,"dr"
|
|
.long 4
|
|
.long 241 # Symbol subsection for baz
|
|
.long Ltmp1-Ltmp0
|
|
Ltmp0:
|
|
.short Ltmp3-Ltmp2
|
|
Ltmp2:
|
|
.short 4423
|
|
.zero 12
|
|
.long Lfunc_end0-"?baz@@YAXXZ"
|
|
.zero 12
|
|
.secrel32 "?baz@@YAXXZ"
|
|
.secidx "?baz@@YAXXZ"
|
|
.byte 0
|
|
.ascii "baz"
|
|
.byte 0
|
|
Ltmp3:
|
|
.short Ltmp5-Ltmp4
|
|
Ltmp4:
|
|
.short 4429
|
|
.asciz "\000\000\000\000\000\000\000\000\003\020\000"
|
|
.cv_inline_linetable 1 1 9 Lfunc_begin0 Lfunc_end0
|
|
# CHECK: InlineSiteSym {
|
|
# CHECK: PtrParent: 0x0
|
|
# CHECK: PtrEnd: 0x0
|
|
# CHECK: Inlinee: bar (0x1003)
|
|
# CHECK: BinaryAnnotations [
|
|
# CHECK-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x8, LineOffset: 0}
|
|
# CHECK-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
|
|
# CHECK-NEXT: ChangeLineOffset: 1
|
|
# CHECK-NEXT: ChangeCodeOffset: 0x1E
|
|
# CHECK-NEXT: ChangeCodeLength: 0x7
|
|
# CHECK-NEXT: ]
|
|
# CHECK: }
|
|
Ltmp5:
|
|
.short Ltmp7-Ltmp6
|
|
Ltmp6:
|
|
.short 4429
|
|
.asciz "\000\000\000\000\000\000\000\000\004\020\000"
|
|
.cv_inline_linetable 2 1 3 Lfunc_begin0 Lfunc_end0
|
|
# CHECK: InlineSiteSym {
|
|
# CHECK: PtrParent: 0x0
|
|
# CHECK: PtrEnd: 0x0
|
|
# CHECK: Inlinee: foo (0x1004)
|
|
# CHECK: BinaryAnnotations [
|
|
# CHECK-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xF, LineOffset: 0}
|
|
# CHECK-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xA, LineOffset: 1}
|
|
# CHECK-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
|
|
# CHECK-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
|
|
# CHECK-NEXT: ChangeCodeLength: 0x7
|
|
# CHECK-NEXT: ]
|
|
# CHECK: }
|
|
Ltmp7:
|
|
.short 2
|
|
.short 4430
|
|
# CHECK: InlineSiteEnd {
|
|
# CHECK: }
|
|
.short 2
|
|
.short 4430
|
|
# CHECK: InlineSiteEnd {
|
|
# CHECK: }
|
|
.short 2
|
|
.short 4431
|
|
Ltmp1:
|
|
.p2align 2
|
|
.cv_linetable 0, "?baz@@YAXXZ", Lfunc_end0
|
|
.cv_filechecksums # File index to string table offset subsection
|
|
.cv_stringtable # String table
|
|
|
|
# CHECK-LABEL: FunctionLineTable [
|
|
# CHECK: LinkageName: ?baz@@YAXXZ
|
|
# CHECK: Flags: 0x1
|
|
# CHECK: CodeSize: 0x3D
|
|
# CHECK: FilenameSegment [
|
|
# CHECK: Filename: D:\src\llvm\build\t.cpp (0x0)
|
|
# CHECK: +0x0 [
|
|
# CHECK: LineNumberStart: 13
|
|
# CHECK: ]
|
|
# CHECK: +0x1 [
|
|
# CHECK: LineNumberStart: 14
|
|
# CHECK: ]
|
|
# CHECK: +0x8 [
|
|
# CHECK: LineNumberStart: 15
|
|
# CHECK: ]
|
|
# There shouldn't be any other line number entries because all the other
|
|
# .cv_locs are on line 15 where the top-level inline call site is.
|
|
# CHECK-NOT: LineNumberStart
|
|
# CHECK: +0x34 [
|
|
# CHECK: LineNumberStart: 16
|
|
# CHECK: ]
|
|
# CHECK: +0x3B [
|
|
# CHECK: LineNumberStart: 17
|
|
# CHECK: ]
|
|
# CHECK: ]
|
|
# CHECK: ]
|