about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/lib.rs
AgeCommit message (Collapse)AuthorLines
2018-08-02Basic profilingWesley Wiser-0/+3
2018-07-30rustc_codegen_llvm: use safe references for Context and Module.Irina Popa-7/+29
2018-07-30rustc_codegen_llvm: move from empty enums to extern types.Irina Popa-0/+1
2018-07-30rustc_llvm: move to rustc_codegen_llvm::llvm.Irina Popa-1/+5
2018-07-25Deny bare_trait_objects globallyTatsuyuki Ishi-1/+0
2018-07-16Revert "Persist ThinLTO import data in incr. comp. session directory."Michael Woerister-1/+1
This reverts commit 8dc7ddb9763f28b83de7bf3b3025f8042ea9e830.
2018-07-16Revert "Clean up LLVM module naming (just use CodegenUnit names)."Michael Woerister-1/+3
This reverts commit f6894ebe664d111259a91a2b5fcc1236ca413436.
2018-07-13Auto merge of #52266 - michaelwoerister:incr-thinlto-preliminaries, ↵bors-4/+2
r=alexcrichton Preliminary work for incremental ThinLTO. Since implementing incremental ThinLTO is a bit more involved than I initially thought, I'm splitting out some of the things that already work. This PR (1) adds a way accessing some ThinLTO information in `rustc` and (2) does some cleanup around CGU/object file naming (which makes things quite a bit nicer). This is probably best reviewed one commit at a time.
2018-07-11Clean up LLVM module naming (just use CodegenUnit names).Michael Woerister-3/+1
2018-07-11Persist ThinLTO import data in incr. comp. session directory.Michael Woerister-1/+1
2018-07-11Deny bare trait objects in in src/librustc_codegen_llvmljedrz-6/+7
2018-07-10Upgrade to LLVM's master branch (LLVM 7)Alex Crichton-3/+1
This commit upgrades the main LLVM submodule to LLVM's current master branch. The LLD submodule is updated in tandem as well as compiler-builtins. Along the way support was also added for LLVM 7's new features. This primarily includes the support for custom section concatenation natively in LLD so we now add wasm custom sections in LLVM IR rather than having custom support in rustc itself for doing so. Some other miscellaneous changes are: * We now pass `--gc-sections` to `wasm-ld` * The optimization level is now passed to `wasm-ld` * A `--stack-first` option is passed to LLD to have stack overflow always cause a trap instead of corrupting static data * The wasm target for LLVM switched to `wasm32-unknown-unknown`. * The syntax for aligned pointers has changed in LLVM IR and tests are updated to reflect this. * The `thumbv6m-none-eabi` target is disabled due to an [LLVM bug][llbug] Nowadays we've been mostly only upgrading whenever there's a major release of LLVM but enough changes have been happening on the wasm target that there's been growing motivation for quite some time now to upgrade out version of LLD. To upgrade LLD, however, we need to upgrade LLVM to avoid needing to build yet another version of LLVM on the builders. The revision of LLVM in use here is arbitrarily chosen. We will likely need to continue to update it over time if and when we discover bugs. Once LLVM 7 is fully released we can switch to that channel as well. [llbug]: https://bugs.llvm.org/show_bug.cgi?id=37382
2018-07-07Move time_graph.rs to rustc/utilbjorn3-1/+1
2018-07-07Update Cargo.lock and move size_and_align_of_dst backbjorn3-0/+1
2018-07-07Fix some errorsbjorn3-1/+0
2018-07-07Move some functions out of rustc_codegen_llvm and fix metadata_only backendbjorn3-2/+2
2018-06-20Replace tempdir by tempfile in librustc_transBastien Orivel-1/+1
2018-06-14rustc: rename ty::maps to ty::query.Eduard-Mihai Burtescu-2/+2
2018-05-17Stabilise inclusive_range_methodsvarkor-1/+0
2018-05-17Rename trans to codegen everywhere.Irina Popa-0/+392