Mercurial > hg > CbC > CbC_llvm
comparison lld/test/COFF/lto.ll @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 0572611fdcc8 |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
1 ; REQUIRES: x86 | |
2 ; RUN: llvm-as -o %T/main.lto.obj %s | |
3 ; RUN: llvm-as -o %T/foo.lto.obj %S/Inputs/lto-dep.ll | |
4 ; RUN: rm -f %T/foo.lto.lib | |
5 ; RUN: llvm-ar cru %T/foo.lto.lib %T/foo.lto.obj | |
6 | |
7 ; RUN: llc -filetype=obj -o %T/main.obj %s | |
8 ; RUN: llc -filetype=obj -o %T/foo.obj %S/Inputs/lto-dep.ll | |
9 ; RUN: rm -f %T/foo.lib | |
10 ; RUN: llvm-ar cru %T/foo.lib %T/foo.obj | |
11 | |
12 ; RUN: lld-link /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.obj | |
13 ; RUN: llvm-readobj --file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-11 %s | |
14 ; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-11 %s | |
15 ; RUN: lld-link /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.lib /verbose 2>&1 | FileCheck -check-prefix=VERBOSE %s | |
16 ; RUN: llvm-readobj --file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-11 %s | |
17 ; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-11 %s | |
18 | |
19 ; RUN: lld-link /out:%T/main.exe /entry:main /subsystem:console %T/main.obj %T/foo.lto.obj | |
20 ; RUN: llvm-readobj --file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-01 %s | |
21 ; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-01 %s | |
22 ; RUN: lld-link /out:%T/main.exe /entry:main /subsystem:console %T/main.obj %T/foo.lto.lib | |
23 ; RUN: llvm-readobj --file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-01 %s | |
24 ; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-01 %s | |
25 | |
26 ; RUN: lld-link /out:%T/main.exe /entry:main /subsystem:console %T/main.lto.obj %T/foo.obj | |
27 ; RUN: llvm-readobj --file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-10 %s | |
28 ; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-10 %s | |
29 ; RUN: lld-link /out:%T/main.exe /entry:main /subsystem:console %T/main.lto.obj %T/foo.lib | |
30 ; RUN: llvm-readobj --file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-10 %s | |
31 ; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-10 %s | |
32 | |
33 ; VERBOSE: foo.lto.lib({{.*}}foo.lto.obj) | |
34 | |
35 ; HEADERS-11: AddressOfEntryPoint: 0x1000 | |
36 ; TEXT-11: Disassembly of section .text: | |
37 ; TEXT-11-EMPTY: | |
38 ; TEXT-11-NEXT: .text: | |
39 ; TEXT-11-NEXT: xorl %eax, %eax | |
40 ; TEXT-11-NEXT: retq | |
41 ; TEXT-11-NEXT: int3 | |
42 ; TEXT-11-NEXT: int3 | |
43 ; TEXT-11-NEXT: int3 | |
44 ; TEXT-11-NEXT: int3 | |
45 ; TEXT-11-NEXT: int3 | |
46 ; TEXT-11-NEXT: int3 | |
47 ; TEXT-11-NEXT: int3 | |
48 ; TEXT-11-NEXT: int3 | |
49 ; TEXT-11-NEXT: int3 | |
50 ; TEXT-11-NEXT: int3 | |
51 ; TEXT-11-NEXT: int3 | |
52 ; TEXT-11-NEXT: int3 | |
53 ; TEXT-11-NEXT: int3 | |
54 ; TEXT-11-NEXT: movl $2, %eax | |
55 ; TEXT-11-NEXT: retq | |
56 | |
57 ; HEADERS-01: AddressOfEntryPoint: 0x1000 | |
58 ; TEXT-01: Disassembly of section .text: | |
59 ; TEXT-01-EMPTY: | |
60 ; TEXT-01-NEXT: .text: | |
61 ; TEXT-01-NEXT: subq $40, %rsp | |
62 ; TEXT-01-NEXT: callq 23 | |
63 ; TEXT-01-NEXT: xorl %eax, %eax | |
64 ; TEXT-01-NEXT: addq $40, %rsp | |
65 ; TEXT-01-NEXT: retq | |
66 ; TEXT-01-NEXT: retq | |
67 ; TEXT-01-NEXT: int3 | |
68 ; TEXT-01-NEXT: int3 | |
69 ; TEXT-01-NEXT: int3 | |
70 ; TEXT-01-NEXT: int3 | |
71 ; TEXT-01-NEXT: int3 | |
72 ; TEXT-01-NEXT: int3 | |
73 ; TEXT-01-NEXT: int3 | |
74 ; TEXT-01-NEXT: int3 | |
75 ; TEXT-01-NEXT: int3 | |
76 ; TEXT-01-NEXT: int3 | |
77 ; TEXT-01-NEXT: int3 | |
78 ; TEXT-01-NEXT: int3 | |
79 ; TEXT-01-NEXT: int3 | |
80 ; TEXT-01-NEXT: int3 | |
81 ; TEXT-01-NEXT: int3 | |
82 ; TEXT-01-NEXT: retq | |
83 | |
84 ; HEADERS-10: AddressOfEntryPoint: 0x1020 | |
85 ; TEXT-10: Disassembly of section .text: | |
86 ; TEXT-10-EMPTY: | |
87 ; TEXT-10-NEXT: .text: | |
88 ; TEXT-10-NEXT: retq | |
89 ; TEXT-10-NEXT: nop | |
90 ; TEXT-10-NEXT: nop | |
91 ; TEXT-10-NEXT: nop | |
92 ; TEXT-10-NEXT: nop | |
93 ; TEXT-10-NEXT: nop | |
94 ; TEXT-10-NEXT: nop | |
95 ; TEXT-10-NEXT: nop | |
96 ; TEXT-10-NEXT: nop | |
97 ; TEXT-10-NEXT: nop | |
98 ; TEXT-10-NEXT: nop | |
99 ; TEXT-10-NEXT: nop | |
100 ; TEXT-10-NEXT: nop | |
101 ; TEXT-10-NEXT: nop | |
102 ; TEXT-10-NEXT: nop | |
103 ; TEXT-10-NEXT: nop | |
104 ; TEXT-10-NEXT: retq | |
105 ; TEXT-10-NEXT: int3 | |
106 ; TEXT-10-NEXT: int3 | |
107 ; TEXT-10-NEXT: int3 | |
108 ; TEXT-10-NEXT: int3 | |
109 ; TEXT-10-NEXT: int3 | |
110 ; TEXT-10-NEXT: int3 | |
111 ; TEXT-10-NEXT: int3 | |
112 ; TEXT-10-NEXT: int3 | |
113 ; TEXT-10-NEXT: int3 | |
114 ; TEXT-10-NEXT: int3 | |
115 ; TEXT-10-NEXT: int3 | |
116 ; TEXT-10-NEXT: int3 | |
117 ; TEXT-10-NEXT: int3 | |
118 ; TEXT-10-NEXT: int3 | |
119 ; TEXT-10-NEXT: int3 | |
120 ; TEXT-10-NEXT: subq $40, %rsp | |
121 ; TEXT-10-NEXT: callq -41 | |
122 ; TEXT-10-NEXT: xorl %eax, %eax | |
123 ; TEXT-10-NEXT: addq $40, %rsp | |
124 ; TEXT-10-NEXT: retq | |
125 | |
126 target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
127 target triple = "x86_64-pc-windows-msvc" | |
128 | |
129 define i32 @main() { | |
130 call void @foo() | |
131 ret i32 0 | |
132 } | |
133 | |
134 declare void @foo() | |
135 | |
136 $f1 = comdat any | |
137 define i32 @f1() comdat($f1) { | |
138 ret i32 1 | |
139 } | |
140 | |
141 $f2 = comdat any | |
142 define i32 @f2() comdat($f2) { | |
143 ret i32 2 | |
144 } | |
145 | |
146 define internal void @internal() { | |
147 ret void | |
148 } |