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