| /llvm-project-15.0.7/lld/test/COFF/ |
| H A D | thinlto-archives.ll | 2 ; 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 D | thinlto.ll | 2 ; 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 D | thinlto-whole-archives.ll | 2 ; 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 D | thinlto-object-suffix-replace.ll | 3 ; 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 D | thinlto-index-only.ll | 4 ; 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 D | thinlto-module-order.ll | 3 ; 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 D | thinlto-emit-imports.ll | 5 ; 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 D | thinlto-prefix-replace.ll | 2 ; 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 D | thinlto-archivecollision.ll | 4 ; 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 D | thinlto-thin-archive-collision.ll | 1 ; 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 D | thinlto-thin-archive-collision.ll | 3 ; 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 D | thinlto-emit-index.ll | 8 ; 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 D | thinlto-object-suffix-replace.ll | 13 ; 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 D | thinlto-prefix-replace.ll | 2 ; 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 D | thinlto-index-only.ll | 7 ; 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 D | thinlto-emit-imports.ll | 5 ; 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 D | thinlto-single-module.ll | 3 ; 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 D | thinlto-no-index.ll | 5 ; 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 D | emit-inprocess-files.ll | 4 ; 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 D | distributed_import.ll | 4 ; 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 D | import-symver.ll | 1 ; 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 D | thinlto_object_suffix_replace.ll | 12 ; 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 D | thinlto.ll | 4 ; 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 D | no-type-md.ll | 3 ; 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 D | lto-unit-check.ll | 6 ; 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
|