brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.7 KiB · 2748fa7 Raw
203 lines · plain
1# RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj %s -o %t.o2# RUN: llvm-readobj --codeview %t.o | FileCheck %s3# RUN: llvm-objdump --no-print-imm-hex -d %t.o | FileCheck %s --check-prefix=ASM4# RUN: llvm-pdbutil dump -symbols %t.o | FileCheck %s --check-prefix=PDB5	.text6	.def	 @feat.00;7	.scl	3;8	.type	0;9	.endef10	.globl	@feat.0011@feat.00 = 112	.def	 "?baz@@YAXXZ";13	.scl	2;14	.type	32;15	.endef16	.globl	"?baz@@YAXXZ"17	.p2align	4, 0x9018"?baz@@YAXXZ":                          # @"\01?baz@@YAXXZ"19Lfunc_begin0:20	.cv_file	1 "D:\\src\\llvm\\build\\t.cpp"21	.cv_func_id 022	.cv_inline_site_id 1 within 0 inlined_at 1 15 323	.cv_inline_site_id 2 within 1 inlined_at 1 10 324	.cv_loc	0 1 13 0 is_stmt 0      # t.cpp:13:025# %bb.0:                                # %entry26	pushl	%eax27	.cv_loc	0 1 14 5                # t.cpp:14:528	addl	$6, "?x@@3HC"29	.cv_loc	1 1 9 5                 # t.cpp:9:530	addl	$4, "?x@@3HC"31	.cv_loc	2 1 3 7                 # t.cpp:3:732	movl	$1, (%esp)33	leal	(%esp), %eax34	.cv_loc	2 1 4 5                 # t.cpp:4:535	addl	%eax, "?x@@3HC"36	.cv_loc	2 1 5 5                 # t.cpp:5:537	addl	$2, "?x@@3HC"38	.cv_loc	2 1 6 5                 # t.cpp:6:539	addl	$3, "?x@@3HC"40	.cv_loc	1 1 11 5                # t.cpp:11:541	addl	$5, "?x@@3HC"42	.cv_loc	0 1 16 5                # t.cpp:16:543	addl	$7, "?x@@3HC"44	.cv_loc	0 1 17 1                # t.cpp:17:145	popl	%eax46	retl47Lfunc_end0:48 49# Check the disassembly so we have accurate instruction offsets in hex.50# ASM-LABEL: <?baz@@YAXXZ>:51# ASM-NEXT:       0: {{.*}} pushl   %eax52# ASM-NEXT:       1: {{.*}} addl    $6, 053# ASM-NEXT:       8: {{.*}} addl    $4, 054# ASM-NEXT:       f: {{.*}} movl    $1, (%esp)55# ASM-NEXT:      16: {{.*}} leal    (%esp), %eax56# ASM-NEXT:      19: {{.*}} addl    %eax, 057# ASM-NEXT:      1f: {{.*}} addl    $2, 058# ASM-NEXT:      26: {{.*}} addl    $3, 059# ASM-NEXT:      2d: {{.*}} addl    $5, 060# ASM-NEXT:      34: {{.*}} addl    $7, 061# ASM-NEXT:      3b: {{.*}} popl    %eax62# ASM-NEXT:      3c: {{.*}} retl63 64# PDB: S_GPROC32_ID {{.*}} `baz`65# PDB: S_INLINESITE66# PDB-NEXT: inlinee = 0x1003 (bar), parent = 0, end = 067# PDB-NEXT:   0B08      code 0x8 (+0x8) line 0 (-0)68# PDB-NEXT:   0B27      code 0xF (+0x7) line 1 (+1)69# PDB-NEXT:   0602      line 2 (+1)70# PDB-NEXT:   031E      code 0x2D (+0x1E)71# PDB-NEXT:   0407      code end 0x34 (+0x7)72# PDB: S_INLINESITE73# PDB-NEXT: inlinee = 0x1004 (foo), parent = 0, end = 074# PDB-NEXT:    0B0F      code 0xF (+0xF) line 0 (-0)75# PDB-NEXT:    0B2A      code 0x19 (+0xA) line 1 (+1)76# PDB-NEXT:    0B26      code 0x1F (+0x6) line 2 (+1)77# PDB-NEXT:    0B27      code 0x26 (+0x7) line 3 (+1)78# PDB-NEXT:    0407      code end 0x2D (+0x7)79# PEB: S_INLINESITE_END80# PEB: S_INLINESITE_END81# PEB: S_PROC_ID_END82 83	.section	.debug$T,"dr"84	.long	485	.short	686	.short	460987	.long	088	.short	1489	.short	410490	.asciz	"\003\000\000\000\000\000\000\000\000\020\000"91	.short	1492	.short	563393	.asciz	"\000\000\000\000\001\020\000"94	.ascii	"baz"95	.byte	096	.short	1497	.short	563398	.asciz	"\000\000\000\000\001\020\000"99	.ascii	"bar"100	.byte	0101	.short	14102	.short	5633103	.asciz	"\000\000\000\000\001\020\000"104	.ascii	"foo"105	.byte	0106	.section	.debug$S,"dr"107	.long	4108	.long	241                     # Symbol subsection for baz109	.long	Ltmp1-Ltmp0110Ltmp0:111	.short	Ltmp3-Ltmp2112Ltmp2:113	.short	4423114	.zero	12115	.long	Lfunc_end0-"?baz@@YAXXZ"116	.zero	12117	.secrel32	"?baz@@YAXXZ"118	.secidx	"?baz@@YAXXZ"119	.byte	0120	.ascii	"baz"121	.byte	0122Ltmp3:123	.short	Ltmp5-Ltmp4124Ltmp4:125	.short	4429126	.long 0 # parent127	.long 0 # end128	.long 0x1003 # inlinee, bar129	.cv_inline_linetable	1 1 9 Lfunc_begin0 Lfunc_end0130# CHECK:    InlineSiteSym {131# CHECK:      PtrParent: 0x0132# CHECK:      PtrEnd: 0x0133# CHECK:      Inlinee: bar (0x1003)134# CHECK:      BinaryAnnotations [135# CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x8, LineOffset: 0}136# CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}137# CHECK-NEXT:   ChangeLineOffset: 1138# CHECK-NEXT:   ChangeCodeOffset: 0x1E139# CHECK-NEXT:   ChangeCodeLength: 0x7140# CHECK-NEXT: ]141# CHECK:    }142Ltmp5:143	.short	Ltmp7-Ltmp6144Ltmp6:145	.short	4429146	.asciz	"\000\000\000\000\000\000\000\000\004\020\000"147	.cv_inline_linetable	2 1 3 Lfunc_begin0 Lfunc_end0148# CHECK:    InlineSiteSym {149# CHECK:      PtrParent: 0x0150# CHECK:      PtrEnd: 0x0151# CHECK:      Inlinee: foo (0x1004)152# CHECK:      BinaryAnnotations [153# CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xF, LineOffset: 0}154# CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xA, LineOffset: 1}155# CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}156# CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}157# CHECK-NEXT:   ChangeCodeLength: 0x7158# CHECK-NEXT: ]159# CHECK:    }160Ltmp7:161	.short	2162	.short	4430163# CHECK:    InlineSiteEnd {164# CHECK:    }165	.short	2166	.short	4430167# CHECK:    InlineSiteEnd {168# CHECK:    }169	.short	2170	.short	4431171Ltmp1:172	.p2align 2173	.cv_linetable	0, "?baz@@YAXXZ", Lfunc_end0174	.cv_filechecksums               # File index to string table offset subsection175	.cv_stringtable                 # String table176 177# CHECK-LABEL:  FunctionLineTable [178# CHECK:    LinkageName: ?baz@@YAXXZ179# CHECK:    Flags: 0x1180# CHECK:    CodeSize: 0x3D181# CHECK:    FilenameSegment [182# CHECK:      Filename: D:\src\llvm\build\t.cpp (0x0)183# CHECK:      +0x0 [184# CHECK:        LineNumberStart: 13185# CHECK:      ]186# CHECK:      +0x1 [187# CHECK:        LineNumberStart: 14188# CHECK:      ]189# CHECK:      +0x8 [190# CHECK:        LineNumberStart: 15191# CHECK:      ]192#	There shouldn't be any other line number entries because all the other193#	.cv_locs are on line 15 where the top-level inline call site is.194# CHECK-NOT: LineNumberStart195# CHECK:      +0x34 [196# CHECK:        LineNumberStart: 16197# CHECK:      ]198# CHECK:      +0x3B [199# CHECK:        LineNumberStart: 17200# CHECK:      ]201# CHECK:    ]202# CHECK:  ]203