[memprof] Remove an unused using directive (#117004)
[llvm-project.git] / lld / test / COFF / icf-pdata.s
blob4fa5c06e11d2e76e92c91c7dae5c43f3e20b98b2
1 # REQUIRES: x86
2 # RUN: llvm-mc %s -triple x86_64-windows-msvc -filetype=obj -o %t.obj
3 # RUN: lld-link %t.obj -dll -noentry -out:%t.dll -merge:.xdata=.xdata
4 # RUN: llvm-readobj --sections --coff-exports %t.dll | FileCheck %s
6 # CHECK: Name: .pdata
7 # CHECK-NEXT: VirtualSize: 0x18
8 # CHECK: Name: .xdata
9 # CHECK-NEXT: VirtualSize: 0x10
11 # CHECK: Name: xdata1
12 # CHECK-NEXT: RVA: 0x1010
13 # CHECK: Name: xdata1a
14 # CHECK-NEXT: RVA: 0x1010
15 # CHECK: Name: xdata1b
16 # CHECK-NEXT: RVA: 0x1030
18 .text
19 callee:
20 ret
22 .def xdata1;
23 .scl 2;
24 .type 32;
25 .endef
26 .section .text,"xr",one_only,xdata1
27 .globl xdata1 # -- Begin function xdata1
28 .p2align 4, 0x90
29 xdata1: # @xdata1
30 .seh_proc xdata1
31 # BB#0: # %entry
32 subq $40, %rsp
33 .seh_stackalloc 40
34 .seh_endprologue
35 callq callee
36 nop
37 addq $40, %rsp
38 jmp callee # TAILCALL
39 .seh_handlerdata
40 .section .text,"xr",one_only,xdata1
41 .seh_endproc
42 # -- End function
44 # xdata1a is identical to xdata1, so it should be ICFd, and so should its pdata.
45 # It also has associative debug and CFG sections which should be ignored by ICF.
46 .def xdata1a;
47 .scl 2;
48 .type 32;
49 .endef
50 .section .text,"xr",one_only,xdata1a
51 .globl xdata1a # -- Begin function xdata1a
52 .p2align 4, 0x90
53 xdata1a: # @xdata1a
54 .seh_proc xdata1a
55 # BB#0: # %entry
56 subq $40, %rsp
57 .seh_stackalloc 40
58 .seh_endprologue
59 callq callee
60 nop
61 addq $40, %rsp
62 jmp callee # TAILCALL
63 .seh_handlerdata
64 .section .text,"xr",one_only,xdata1a
65 .seh_endproc
67 .section .debug$S,"r",associative,xdata1a
68 .section .gfids$y,"r",associative,xdata1a
69 .section .gljmp$y,"r",associative,xdata1a
71 # xdata1b's text is identical to xdata1, but its xdata specifies a different
72 # stack size, so it cannot be ICFd with xdata1.
73 .def xdata1b;
74 .scl 2;
75 .type 32;
76 .endef
77 .section .text,"xr",one_only,xdata1b
78 .globl xdata1b # -- Begin function xdata1b
79 .p2align 4, 0x90
80 xdata1b: # @xdata1b
81 .seh_proc xdata1b
82 # BB#0: # %entry
83 subq $40, %rsp
84 .seh_stackalloc 48
85 .seh_endprologue
86 callq callee
87 nop
88 addq $40, %rsp
89 jmp callee # TAILCALL
90 .seh_handlerdata
91 .section .text,"xr",one_only,xdata1b
92 .seh_endproc
93 # -- End function
95 .section .drectve,"yn"
96 .ascii " -export:xdata1"
97 .ascii " -export:xdata1a"
98 .ascii " -export:xdata1b"