19 Commits

Author SHA1 Message Date
Peter Collingbourne
6c73f9d12f ELF: Run the same test without --thinlto-jobs as we do with --thinlto-jobs.
The comment only made sense a long time ago, when --thinlto-jobs was
tied with --lto-partitions. That was changed in r283817, but the test
wasn't updated at the same time. This patch does so.

llvm-svn: 333480
2018-05-29 23:32:49 +00:00
Rumeet Dhindsa
304d0d5560 Splitting thinlto.ll test file and renaming other test files.
Differential Revision: https://reviews.llvm.org/D46731

llvm-svn: 332128
2018-05-11 19:37:08 +00:00
Rumeet Dhindsa
b5b7d6e19c Add support for LTO plugin option obj-path
Differential Revision: https://reviews.llvm.org/D46598

llvm-svn: 331817
2018-05-08 22:37:57 +00:00
Rumeet Dhindsa
1888326b2d Update ThinLTO Indexing logic
Instead of writing empty index for file, this patch tracks the state of files in ObjectToIndexFileState. If the files are not indexed , only then we emit the empty files

Differential Revision: https://reviews.llvm.org/D46480

llvm-svn: 331803
2018-05-08 20:12:07 +00:00
Rui Ueyama
554adb2e97 Do not call exit() directly from lld.
Our promise is that as long as there's no fatal error (i.e. broken
file is given to the linker), our main function returns to the caller.
So we can't use exit() in the regular code path.

Differential Revision: https://reviews.llvm.org/D46442

llvm-svn: 331690
2018-05-07 22:11:34 +00:00
Rui Ueyama
d54f1c2fed Refactor ThinLTO-related code in BitcodeCompiler.cpp. NFC.
Summary: Refactor ThinLTO-related code in BitcodeCompiler.cpp. NFC.

Reviewers: rdhindsa, espindola

Subscribers: emaste, inglorion, arichardson, llvm-commits, eraman

Differential Revision: https://reviews.llvm.org/D46549

llvm-svn: 331689
2018-05-07 22:11:24 +00:00
Rumeet Dhindsa
d48f236a7e Add test to ensure lld writes linked files to linked objects file for ThinLTO Indexing Only option.
Differential Revision: https://reviews.llvm.org/D46542

llvm-svn: 331671
2018-05-07 20:28:02 +00:00
Rumeet Dhindsa
9c2af27f80 Added ThinLTO test to verify that index files are not generated if thinlto-index-only is not enabled.
Differential Revision: https://reviews.llvm.org/D46405

llvm-svn: 331478
2018-05-03 20:13:38 +00:00
Rumeet Dhindsa
437f66d06d Update Error Message
https://reviews.llvm.org/D46375

llvm-svn: 331426
2018-05-03 01:54:14 +00:00
Rumeet Dhindsa
b082a8790c Updated ThinLTO test to not include forward or backward slash for testing
Differential Revision: https://reviews.llvm.org/D46372

llvm-svn: 331419
2018-05-03 00:28:51 +00:00
Rumeet Dhindsa
d366e36bbf Added support for ThinLTO plugin options : thinlto-index-only and thinlto-prefix-replace
Differential Revision: https://reviews.llvm.org/D46034

llvm-svn: 331405
2018-05-02 21:40:07 +00:00
Vitaly Buka
a5376f393e [LTO] Make processing of combined module more consistent
Summary:
1. Use stream 0 only for combined module. Previously if combined module was not
processes ThinLTO used the stream for own output. However small changes in input,
could trigger combined module  and shuffle outputs making life of llvm::LTO harder.

2. Always process combined module and write output to stream 0. Processing empty
combined module is cheap and allows llvm::LTO users to avoid implementing processing
which is already done in llvm::LTO.

Subscribers: mehdi_amini, inglorion, eraman, hiraditya

Differential Revision: https://reviews.llvm.org/D41267

llvm-svn: 320905
2017-12-16 02:10:00 +00:00
Jon Chesterfield
e0ca2ff070 [LLD] Mark a number of x86 only tests to require x86
Noticed while testing for an out of tree target. There are probably more tests that should be so marked.
I'm not sure who owns these tests so I've added a few names I recognise from the recent history.

With advice from probinson, ruiu, rafael and dramatically improved by davidb. Thank you all!

Differential Revision: https://reviews.llvm.org/D34685

llvm-svn: 308335
2017-07-18 18:40:50 +00:00
Peter Collingbourne
6321251a4e ELF: Simplify the thinlto.ll test and verify that importing is working correctly.
llvm-svn: 295901
2017-02-22 23:06:49 +00:00
Peter Collingbourne
d22ec64b8a ELF: Simplify naming of object files created with save-temps.
Now we never append a number to the file name for task ID 0.

This is similar to r293132 in the gold plugin.

llvm-svn: 293138
2017-01-26 02:18:28 +00:00
Davide Italiano
b67948f497 [ThinLTO/tests] Check we don't fail if --thinlto-jobs is not passed.
While here, fix the CHECK lines of an existing test.

llvm-svn: 283889
2016-10-11 15:32:34 +00:00
Davide Italiano
4683f9d7dc [ThinLTO] Attempt to fix the test (and the bots).
llvm-svn: 283826
2016-10-10 23:56:13 +00:00
Davide Italiano
b6e6e4a074 [LTO] Split the options for ThinLTO jobs and Regular LTO partitions
Differential Revision:   https://reviews.llvm.org/D25452

llvm-svn: 283817
2016-10-10 23:12:14 +00:00
Davide Italiano
7a7b35ae3b [LTO/Thin] Make the number of threads to run in the BE configurable.
Before the default was whatever number hardware_concurrency() returned.
Users can specify the number of threads via --lto-jobs=X option.

llvm-svn: 283787
2016-10-10 18:12:53 +00:00