Home
last modified time | relevance | path

Searched refs:thinlto (Results 1 – 25 of 324) sorted by relevance

12345678910>>...13

/llvm-project-15.0.7/lld/test/COFF/
H A Dthinlto-archives.ll2 ; RUN: rm -fr %T/thinlto-archives
3 ; RUN: mkdir %T/thinlto-archives %T/thinlto-archives/a %T/thinlto-archives/b
4 ; RUN: opt -thinlto-bc -o %T/thinlto-archives/main.obj %s
5 ; RUN: opt -thinlto-bc -o %T/thinlto-archives/a/bar.obj %S/Inputs/lto-dep.ll
6 ; RUN: opt -thinlto-bc -o %T/thinlto-archives/b/bar.obj %S/Inputs/bar.ll
7 ; RUN: llvm-ar crs %T/thinlto-archives/a.lib %T/thinlto-archives/a/bar.obj
8 ; RUN: llvm-ar crs %T/thinlto-archives/b.lib %T/thinlto-archives/b/bar.obj
11 ; RUN: %T/thinlto-archives/a.lib %T/thinlto-archives/b.lib
14 ; CHECK: {{/thinlto-archives/main.obj$}}
15 ; CHECK: {{^-r=.*/thinlto-archives/main.obj,main,px$}}
[all …]
H A Dthinlto.ll2 ; RUN: rm -fr %T/thinlto
3 ; RUN: mkdir %T/thinlto
4 ; RUN: opt -thinlto-bc -o %T/thinlto/main.obj %s
5 ; RUN: opt -thinlto-bc -o %T/thinlto/foo.obj %S/Inputs/lto-dep.ll
6 … RUN: lld-link /lldsavetemps /out:%T/thinlto/main.exe /entry:main /subsystem:console %T/thinlto/ma…
7 ; RUN: llvm-nm %T/thinlto/main.exe.lto.1.obj | FileCheck %s
10 … RUN: lld-link /lldsavetemps /out:%T/thinlto/main.exe /entry:main /subsystem:console %T/thinlto/ma…
12 … RUN: lld-link /lldsavetemps /out:%T/thinlto/main.exe /entry:main /subsystem:console %T/thinlto/ma…
14 … RUN: lld-link /lldsavetemps /out:%T/thinlto/main.exe /entry:main /subsystem:console %T/thinlto/ma…
16 …: not lld-link /lldsavetemps /out:%T/thinlto/main.exe /entry:main /subsystem:console %T/thinlto/ma…
[all …]
H A Dthinlto-whole-archives.ll2 ; RUN: rm -fr %T/thinlto-whole-archives
3 ; RUN: mkdir %T/thinlto-whole-archives %T/thinlto-whole-archives/a %T/thinlto-whole-archives/b
4 ; RUN: opt -thinlto-bc -o %T/thinlto-whole-archives/main.obj %s
5 ; RUN: opt -thinlto-bc -o %T/thinlto-whole-archives/a/bar.obj %S/Inputs/lto-dep.ll
6 ; RUN: opt -thinlto-bc -o %T/thinlto-whole-archives/b/bar.obj %S/Inputs/bar.ll
7 ; RUN: llvm-ar crs %T/thinlto-whole-archives/a.lib %T/thinlto-whole-archives/a/bar.obj %T/thinlto-w…
8 ; RUN: lld-link -out:%T/thinlto-whole-archives/main.exe -entry:main \
10 ; RUN: %T/thinlto-whole-archives/a.lib
13 ; CHECK: {{[/\\]thinlto-whole-archives[/\\]main.obj$}}
14 ; CHECK: {{^-r=.*[/\\]thinlto-whole-archives[/\\]main.obj,main,px$}}
[all …]
H A Dthinlto-object-suffix-replace.ll3 ; Test to make sure the thinlto-object-suffix-replace option is handled
13 ; RUN: cp %t1.obj.thinlto.bc %t1.obj.thinlto.bc.orig
17 ; RUN: rm -f %t1.obj.thinlto.bc
20 ; RUN: lld-link -entry:main -thinlto-index-only \
21 ; RUN: -thinlto-object-suffix-replace:".thinlink.bc;.obj" \
23 ; RUN: diff %t1.obj.thinlto.bc.orig %t1.obj.thinlto.bc
26 ; RUN: rm -f %t1.obj.thinlto.bc
27 ; RUN: not lld-link -entry:main -thinlto-index-only \
34 ; RUN: rm -f %t1.thinlink.bc.thinlto.bc
35 ; RUN: lld-link -entry:main -thinlto-index-only \
[all …]
H A Dthinlto-index-only.ll4 ; RUN: opt -thinlto-bc %s -o %t1.obj
5 ; RUN: opt -thinlto-bc %p/Inputs/thinlto.ll -o %t2.obj
6 ; RUN: opt -thinlto-bc %p/Inputs/thinlto-empty.ll -o %t3.obj
10 ; RUN: lld-link -thinlto-index-only -entry:main %t1.obj %t2.obj -out:%t4.exe
11 ; RUN: llvm-bcanalyzer -dump %t1.obj.thinlto.bc | FileCheck %s --check-prefix=BACKEND1
12 ; RUN: llvm-bcanalyzer -dump %t2.obj.thinlto.bc | FileCheck %s --check-prefix=BACKEND2
16 ; Inputs/thinlto.ll, as it imports from the latter.
31 ; The backend index for Input/thinlto.ll contains summaries from itself only,
48 ; RUN: opt -thinlto-bc -o %t/foo.obj < %s
49 ; RUN: opt -thinlto-bc -o %t/bar.obj < %p/Inputs/thinlto.ll
[all …]
H A Dthinlto-module-order.ll3 ; RUN: opt -thinlto-bc %s -o %t1.obj
4 ; RUN: opt -thinlto-bc %p/Inputs/thinlto.ll -o %t2.obj
8 ; RUN: lld-link -thinlto-index-only:%t3 /entry:main %t1.obj %t2.obj
10 ; NORMAL: thinlto-module-order.ll.tmp1.o
11 ; NORMAL: thinlto-module-order.ll.tmp2.o
13 ; RUN: lld-link -thinlto-index-only:%t3 /entry:main %t2.obj %t1.obj
15 ; REVERSED: thinlto-module-order.ll.tmp2.o
16 ; REVERSED: thinlto-module-order.ll.tmp1.o
H A Dthinlto-emit-imports.ll5 ; RUN: opt -module-summary %p/Inputs/thinlto.ll -o %t2.obj
9 ; RUN: opt -module-summary %p/Inputs/thinlto-empty.ll -o %t3.obj
12 ; RUN: rm -f %t3.obj.imports %t3.obj.thinlto.bc
13 ; RUN: lld-link -entry:main -thinlto-index-only \
14 ; RUN: -thinlto-emit-imports-files %t1.obj %t2.obj %t3.obj -out:%t4.exe
17 ; Inputs/thinlto.ll
20 ; IMPORTS1: thinlto-emit-imports.ll.tmp2.obj
29 ; RUN: ls %t3.obj.thinlto.bc
35 ; RUN: not lld-link -entry:main -thinlto-index-only \
36 ; RUN: -thinlto-emit-imports-files %t1.obj %t2.obj %t3.obj \
[all …]
H A Dthinlto-prefix-replace.ll2 ; Check that changing the output path via thinlto-prefix-replace works
8 ; RUN: rm -f %t/newpath/t.obj.thinlto.bc
9 ; RUN: lld-link -entry:main -thinlto-index-only \
10 ; RUN: -thinlto-prefix-replace:"%t/oldpath/;%t/newpath/" %t/oldpath/t.obj \
12 ; RUN: ls %t/newpath/t.obj.thinlto.bc
15 ; RUN: rm -f %t/newpath/t.obj.thinlto.bc
16 ; RUN: not lld-link -entry:main -thinlto-index-only \
17 ; RUN: -thinlto-prefix-replace:"abc:def" %t/oldpath/t.obj \
19 ; ERR: -thinlto-prefix-replace: expects 'old;new' format, but got abc:def
H A Dthinlto-archivecollision.ll4 ; RUN: opt -thinlto-bc -o %t/main.obj %s
5 ; RUN: opt -thinlto-bc -o %t/a/bar.obj %S/Inputs/lto-dep.ll
6 ; RUN: opt -thinlto-bc -o %t/b/bar.obj %S/Inputs/bar.ll
12 ; CHECK: {{/|\\\\thinlto-archivecollision.ll.tmp/main.obj$}}
13 ; CHECK: {{^-r=.*/|\\\\thinlto-archivecollision.ll.tmp/main.obj,main,px$}}
14 ; CHECK: {{/|\\\\thinlto-archivecollision.ll.tmp/libbar.libbar.obj[0-9]+$}}
15 ; CHECK-NEXT: {{^-r=.*/|\\\\thinlto-archivecollision.ll.tmp/libbar.libbar.obj[0-9]+,foo,p$}}
16 ; CHECK-NEXT: {{/|\\\\thinlto-archivecollision.ll.tmp/libbar.libbar.obj[0-9]+$}}
17 ; CHECK-NEXT: {{^-r=.*/|\\\\thinlto-archivecollision.ll.tmp/libbar.libbar.obj[0-9]+,bar,p$}}
/llvm-project-15.0.7/lld/test/wasm/lto/
H A Dthinlto-thin-archive-collision.ll1 ; Copied from lld/test/ELF/lto/thinlto-thin-archive-collision.ll
4 ; RUN: mkdir thinlto-archives thinlto-archives/a thinlto-archives/b
5 ; RUN: opt -thinlto-bc -o thinlto-archives/main.o %s
6 ; RUN: opt -thinlto-bc -o thinlto-archives/a/thin.o %S/Inputs/thin1.ll
7 ; RUN: opt -thinlto-bc -o thinlto-archives/b/thin.o %S/Inputs/thin2.ll
8 ; RUN: llvm-ar qcT thinlto-archives/thin.a thinlto-archives/a/thin.o thinlto-archives/b/thin.o
9 ; RUN: wasm-ld thinlto-archives/main.o thinlto-archives/thin.a -o thinlto-archives/main.exe --save-…
10 ; RUN: FileCheck %s < thinlto-archives/main.exe.resolution.txt
12 ; CHECK: thinlto-archives/main.o
13 ; CHECK: thinlto-archives/thin.a(thin.o at {{[1-9][0-9]+}})
[all …]
/llvm-project-15.0.7/lld/test/ELF/lto/
H A Dthinlto-thin-archive-collision.ll3 ; RUN: mkdir thinlto-archives thinlto-archives/a thinlto-archives/b
4 ; RUN: opt -thinlto-bc -o thinlto-archives/main.o %s
5 ; RUN: opt -thinlto-bc -o thinlto-archives/a/thin.o %S/Inputs/thin1.ll
6 ; RUN: opt -thinlto-bc -o thinlto-archives/b/thin.o %S/Inputs/thin2.ll
7 ; RUN: llvm-ar qcT thinlto-archives/thin.a thinlto-archives/a/thin.o thinlto-archives/b/thin.o
8 ; RUN: ld.lld thinlto-archives/main.o thinlto-archives/thin.a -o thinlto-archives/main.exe --save-t…
9 ; RUN: FileCheck %s < thinlto-archives/main.exe.resolution.txt
11 ; CHECK: thinlto-archives/main.o
12 ; CHECK: thinlto-archives/thin.a(thin.o at {{[1-9][0-9]+}})
13 ; CHECK-NEXT: -r=thinlto-archives/thin.a(thin.o at {{[1-9][0-9]+}}),foo,pl
[all …]
H A Dthinlto-emit-index.ll8 ; RUN: llvm-as %p/Inputs/thinlto.ll -o 2.o
10 ; RUN: ls 2.o.thinlto.bc
27 ; RUN: ld.lld --thinlto-emit-index-files --thinlto-index-only -shared 1.o 2.o -o 5
31 ; RUN: rm -f 2.o.thinlto.bc
42 ; RUN: ls 1.o.thinlto.bc
46 ; RUN: rm -f 1.o.thinlto.bc
50 ; RUN: ls 1.o.thinlto.bc
55 ; ERR1: --thinlto-prefix-replace is not supported with --thinlto-emit-index-files
59 ; ERR2: --thinlto-object-suffix-replace is not supported with --thinlto-emit-index-files
63 ; RUN: --thinlto-prefix-replace="abc;xyz" --thinlto-index-only
[all …]
H A Dthinlto-object-suffix-replace.ll13 ; RUN: cp 1.o.thinlto.bc 1.o.thinlto.bc.orig
17 ; RUN: rm -f 1.o.thinlto.bc
20 ; RUN: ld.lld --plugin-opt=thinlto-index-only --plugin-opt=thinlto-object-suffix-replace=".thinlink…
22 ; RUN: cmp 1.o.thinlto.bc.orig 1.o.thinlto.bc
24 ; RUN: ld.lld --thinlto-index-only --thinlto-object-suffix-replace=".thinlink.bc;.o" \
26 ; RUN: cmp 1.o.thinlto.bc.orig 1.o.thinlto.bc
29 ; RUN: rm -f 1.o.thinlto.bc
30 ; RUN: not ld.lld --plugin-opt=thinlto-index-only --plugin-opt=thinlto-object-suffix-replace="abc:d…
36 ; RUN: rm -f 1.thinlink.bc.thinlto.bc
37 ; RUN: ld.lld --plugin-opt=thinlto-index-only --plugin-opt=thinlto-object-suffix-replace=".abc;.o" …
[all …]
H A Dthinlto-prefix-replace.ll2 ; Check that changing the output path via thinlto-prefix-replace works
8 ; RUN: rm -f %t/newpath/thinlto_prefix_replace.o.thinlto.bc
9 ; RUN: ld.lld --plugin-opt=thinlto-index-only --plugin-opt=thinlto-prefix-replace="%t/oldpath/;%t/n…
10 ; RUN: ls %t/newpath/thinlto_prefix_replace.o.thinlto.bc
13 ; RUN: rm -f %t/newpath/thinlto_prefix_replace.o.thinlto.bc
14 ; RUN: ld.lld --thinlto-index-only --thinlto-prefix-replace="%t/oldpath/;%t/newpath/" -shared %t/ol…
15 ; RUN: ls %t/newpath/thinlto_prefix_replace.o.thinlto.bc
18 ; RUN: rm -f %t/newpath/thinlto_prefix_replace.o.thinlto.bc
19 ; RUN: not ld.lld --plugin-opt=thinlto-index-only --plugin-opt=thinlto-prefix-replace=abc:def -shar…
20 ; ERR: --plugin-opt=thinlto-prefix-replace= expects 'old;new' format, but got abc:def
H A Dthinlto-index-only.ll7 ; RUN: llvm-as %p/Inputs/thinlto.ll -o 2.o
9 ; RUN: ls 2.o.thinlto.bc
16 ; RUN: opt -module-summary %p/Inputs/thinlto.ll -o 2.o
26 ; RUN: rm -f 2.o.thinlto.bc 4
28 ; RUN: llvm-dis < 2.o.thinlto.bc | grep -q '\^0 = module:'
33 ; RUN: rm -f 1.o.thinlto.bc 1.o.imports
35 ; RUN: --plugin-opt=thinlto-emit-imports-files -o 3
36 ; RUN: ls 1.o.thinlto.bc
40 ; RUN: rm -f 1.o.thinlto.bc
43 ; RUN: ls 1.o.thinlto.bc
[all …]
H A Dthinlto-emit-imports.ll5 ; RUN: opt -module-summary %p/Inputs/thinlto.ll -o %t2.o
12 ; RUN: rm -f %t3.o.imports %t3.o.thinlto.bc
13 ; RUN: ld.lld --plugin-opt=thinlto-index-only --plugin-opt=thinlto-emit-imports-files -shared %t1.o…
16 ; Inputs/thinlto.ll
19 ; IMPORTS1: thinlto-emit-imports.ll.tmp2.o
21 ; The imports file for Input/thinlto.ll is empty as it does not import anything.
28 ; RUN: ls %t3.o.thinlto.bc
34 ; RUN: not ld.lld --plugin-opt=thinlto-index-only --plugin-opt=thinlto-emit-imports-files -shared %…
37 ; Ensure lld doesn't generate import files when thinlto-index-only is not enabled
46 ; Check that imports files are generated also when --thinlto-index-only
[all …]
H A Dthinlto-single-module.ll3 ; RUN: opt -thinlto-bc -o main.o %s
4 ; RUN: opt -thinlto-bc -o thin1.o %S/Inputs/thin1.ll
5 ; RUN: opt -thinlto-bc -o thin2.o %S/Inputs/thin2.ll
8 ;; --thinlto-single-module=main.o should result in only main.o compiled, of which
11 ; RUN: ld.lld main.o thin.a --thinlto-single-module=main.o --lto-obj-path=single1.o
31 ; RUN: ld.lld main.o thin.a --thinlto-single-module=main.o --thinlto-single-module=thin2.o --lto-ob…
45 ;; Also check a *.thinlto.bc file generated for main.o only.
46 ; RUN: ld.lld main.o thin.a --thinlto-single-module=main.o --thinlto-index-only=single5.idx
47 ; RUN: ls main.o.thinlto.bc
48 ; RUN: ls | FileCheck --implicit-check-not='thin.{{.*}}.thinlto.bc' /dev/null
[all …]
H A Dthinlto-no-index.ll5 ; RUN: opt -module-summary %p/Inputs/thinlto.ll -o %t2.o
8 ; Ensure lld doesn't generates index files when thinlto-index-only is not enabled
9 ; RUN: rm -f %t1.o.thinlto.bc %t2.o.thinlto.bc %t3.o.thinlto.bc
11 ; RUN: not ls %t1.o.thinlto.bc
12 ; RUN: not ls %t2.o.thinlto.bc
13 ; RUN: not ls %t3.o.thinlto.bc
/llvm-project-15.0.7/llvm/test/ThinLTO/X86/
H A Demit-inprocess-files.ll4 ; RUN: rm -f %t1.bc.thinlto.bc %t2.bc.thinlto.bc %t.out.1 %t.out.2 %t1.bc.imports %t2.bc.imports
14 ; RUN: -thinlto-emit-imports \
21 ; RUN: mv %t1.bc.thinlto.bc %t1.bc.thinlto.bc.orig
22 ; RUN: mv %t2.bc.thinlto.bc %t2.bc.thinlto.bc.orig
28 ; RUN: -thinlto-emit-indexes \
46 ; RUN: diff %t1.bc.thinlto.bc %t1.bc.thinlto.bc.orig
47 ; RUN: diff %t2.bc.thinlto.bc %t2.bc.thinlto.bc.orig
49 ; RUN: rm -f %t1.bc.thinlto.bc %t2.bc.thinlto.bc %t.out.1 %t.out.2
53 ; RUN: -thinlto-emit-indexes \
66 ; RUN: diff %t1.bc.thinlto.bc %t1.bc.thinlto.bc.orig
[all …]
H A Ddistributed_import.ll4 ; RUN: opt -thinlto-bc %s -thin-link-bitcode-file=%t1.thinlink.bc -o %t1.bc
5 ; RUN: opt -thinlto-bc %p/Inputs/distributed_import.ll -thin-link-bitcode-file=%t2.thinlink.bc -o %…
10 ; RUN: -thinlto-distributed-indexes \
18 ; RUN: opt -passes=function-import -import-all-index -summary-file %t2.bc.thinlto.bc %t2.bc -o %t2.…
23 ; RUN: cp %t1.bc.thinlto.bc %t1.bc.thinlto.bc.orig
24 ; RUN: cp %t2.bc.thinlto.bc %t2.bc.thinlto.bc.orig
36 ; RUN: rm -f %t1.bc.thinlto.bc %t2.bc.thinlto.bc
38 ; RUN: -thinlto-distributed-indexes \
45 ; RUN: diff %t1.bc.thinlto.bc.orig %t1.bc.thinlto.bc
46 ; RUN: diff %t2.bc.thinlto.bc.orig %t2.bc.thinlto.bc
[all …]
H A Dimport-symver.ll1 ; RUN: opt -thinlto-bc %s -o %t1.bc
2 ; RUN: opt -thinlto-bc %p/Inputs/import-symver-foo.ll -o %t2.bc
3 ; RUN: llvm-lto -thinlto-action=thinlink %t1.bc %t2.bc -o %t3.index.bc
5 ; RUN: llvm-lto -thinlto-action=import -exported-symbol=main %t1.bc -thinlto-index=%t3.index.bc
6 ; RUN: llvm-dis %t1.bc.thinlto.imported.bc -o - | FileCheck --check-prefix=IMPORT %s
8 ; RUN: llvm-lto -thinlto-action=import -exported-symbol=main -import-instr-limit=0 %t1.bc -thinlto-…
9 ; RUN: llvm-dis %t1.bc.thinlto.imported.bc -o - | FileCheck --check-prefix=NOIMPORT %s
/llvm-project-15.0.7/llvm/test/tools/gold/X86/
H A Dthinlto_object_suffix_replace.ll12 ; RUN: --plugin-opt=thinlto \
13 ; RUN: --plugin-opt=thinlto-index-only \
15 ; RUN: cp %t1.o.thinlto.bc %t1.o.thinlto.bc.orig
19 ; RUN: rm -f %t1.o.thinlto.bc
24 ; RUN: --plugin-opt=thinlto \
25 ; RUN: --plugin-opt=thinlto-index-only \
28 ; RUN: diff %t1.o.thinlto.bc.orig %t1.o.thinlto.bc
32 ; RUN: rm -f %t1.thinlink.bc.thinlto.bc
35 ; RUN: --plugin-opt=thinlto \
36 ; RUN: --plugin-opt=thinlto-index-only \
[all …]
H A Dthinlto.ll4 ; RUN: llvm-as %p/Inputs/thinlto.ll -o %t2.o
7 ; RUN: --plugin-opt=thinlto \
8 ; RUN: --plugin-opt=thinlto-index-only \
13 ; RUN: --plugin-opt=thinlto \
24 ; RUN: --plugin-opt=thinlto \
25 ; RUN: --plugin-opt=thinlto-index-only \
39 ; RUN: --plugin-opt=thinlto \
51 ; RUN: --plugin-opt=thinlto \
62 ; RUN: --plugin-opt=thinlto \
72 ; RUN: --plugin-opt=thinlto \
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/ThinLTOBitcodeWriter/
H A Dno-type-md.ll3 ; RUN: opt -thinlto-bc -thin-link-bitcode-file=%t.thinlink.bc -o %t.bc %s
9 ; RUN: llvm-lto -thinlto -o %t3 %t.bc
15 ; RUN: llvm-lto -thinlto -o %t4 %t.bc
17 ; RUN: diff %t3.thinlto.bc %t4.thinlto.bc
19 ; Try again using -thinlto-action to produce combined index
20 ; RUN: rm -f %t3.thinlto.bc %t4.thinlto.bc
21 ; RUN: llvm-lto -thinlto-action=thinlink -o %t3.thinlto.bc %t.bc
25 ; RUN: llvm-lto -thinlto-action=thinlink -o %t4.thinlto.bc %t.bc
26 ; RUN: diff %t3.thinlto.bc %t4.thinlto.bc
/llvm-project-15.0.7/llvm/test/LTO/Resolution/X86/
H A Dlto-unit-check.ll6 ; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o %t1 %s
9 ; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o %t2 %s
15 ; RUN: opt -thinlto-bc -thinlto-split-lto-unit=false -o %t1 %s
18 ; RUN: opt -thinlto-bc -thinlto-split-lto-unit=false -o %t2 %s
26 ; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o %t1 %s
29 ; RUN: opt -thinlto-bc -thinlto-split-lto-unit=false -o %t2 %s
37 ; RUN: opt -thinlto-bc -thinlto-split-lto-unit=false -o %t1 %s
40 ; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o %t2 %s

12345678910>>...13