Commit Graph

27 Commits

Author SHA1 Message Date
Michael Woerister abd5cc3364 Always add all modules to the global ThinLTO module analysis when compiling incrementally. 2018-08-31 15:22:52 +02:00
Michael Woerister 64a738d8ce Support local ThinLTO with incremental compilation. 2018-08-31 15:22:52 +02:00
Michael Woerister d97d1e192b Persist ThinLTO import data in incr. comp. session directory. 2018-08-31 15:22:52 +02:00
Michael Woerister d662083a6c Use CGU name as LLVM module name and add some caching to CGU name generation. 2018-08-15 14:50:54 +02:00
Michael Woerister 3a3b3317d9 Fix issue around dllimport and ThinLTO as LLD runs it. 2018-08-07 14:44:48 +02:00
Mark Rousskov 2a9344206b Normalize variants of CrateType to standard style
This is a clippy-breaking change.
2018-08-04 06:53:15 -06:00
Alex Crichton f0bceba669 rustc: Handle linker diagnostic from LLVM
Previously linker diagnostic were being hidden when two modules were linked
together but failed to link. This commit fixes the situation by ensuring that we
have a diagnostic handler installed and also adds support for handling linker
diagnostics.
2018-07-31 10:47:27 -07:00
Irina Popa ba006440ee rustc_codegen_llvm: use safe references for ThinLTOData. 2018-07-30 20:34:51 +03:00
Irina Popa 2e3a6af7fa rustc_codegen_llvm: use safe references for ThinLTOBuffer. 2018-07-30 20:10:47 +03:00
Irina Popa ab4f93c742 rustc_codegen_llvm: use safe references for ModuleBuffer. 2018-07-30 20:10:45 +03:00
Irina Popa 894467e5b4 rustc_codegen_llvm: use safe references for Linker. 2018-07-30 20:10:41 +03:00
Irina Popa 0e3a705269 rustc_codegen_llvm: use safe references for TargetMachine. 2018-07-30 20:10:31 +03:00
Irina Popa 55af020194 rustc_codegen_llvm: use safe references for Pass. 2018-07-30 20:10:30 +03:00
Irina Popa 249d5acaec rustc_codegen_llvm: use safe references for Context and Module. 2018-07-30 18:27:52 +03:00
ljedrz 421b2ba347 Don't format!() string literals 2018-07-28 17:58:52 +02:00
Alex Crichton 829bc268a9 rustc: Remove a workaroudn in ThinLTO fixed upstream
This commit removes a hack in our ThinLTO passes which removes available
externally functions manually. The [upstream bug][1] has long since been fixed,
so we should be able to rely on LLVM natively for this now!

[1]: https://bugs.llvm.org/show_bug.cgi?id=35736
2018-07-18 11:37:56 -07:00
Michael Woerister d992090a70 Revert "Provide a way of accessing the ThinLTO module import map in rustc."
This reverts commit 9df56ca0ee.
2018-07-16 08:59:10 +02:00
Michael Woerister 5c0110f44b Revert "Persist ThinLTO import data in incr. comp. session directory."
This reverts commit 8dc7ddb976.
2018-07-16 08:58:56 +02:00
Michael Woerister 0830cc92bd Revert "Clean up LLVM module naming (just use CodegenUnit names)."
This reverts commit f6894ebe66.
2018-07-16 08:58:29 +02:00
Michael Woerister b822e699c3 Revert "Use callback-based interface to load ThinLTO import data into rustc."
This reverts commit e045a6cd8c.
2018-07-16 08:57:49 +02:00
Michael Woerister e045a6cd8c Use callback-based interface to load ThinLTO import data into rustc. 2018-07-13 12:41:22 +02:00
Michael Woerister f6894ebe66 Clean up LLVM module naming (just use CodegenUnit names). 2018-07-11 21:54:43 +02:00
Michael Woerister 8dc7ddb976 Persist ThinLTO import data in incr. comp. session directory. 2018-07-11 17:52:57 +02:00
Michael Woerister 9df56ca0ee Provide a way of accessing the ThinLTO module import map in rustc. 2018-07-11 17:51:36 +02:00
Nikita Popov 22cf833dd1 Rename -Z no-verify to -Z verify-llvm-ir
This disables IR verification by default.
2018-06-12 21:23:06 +02:00
Nikita Popov 78a16443a3 Respect -Z no-verify during LTO
Currently -Z no-verify only controls IR verification prior to
LLVM codegen, while verification is performed unconditionally
both before and after linking with (Thin)LTO.
2018-06-12 20:50:21 +02:00
Irina Popa b63d7e2b1c Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00