about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/back
AgeCommit message (Collapse)AuthorLines
2018-12-06Rollup merge of #56500 - ljedrz:cleanup_rest_of_const_lifetimes, r=zackmdavisPietro Albini-1/+1
cleanup: remove static lifetimes from consts A follow-up to https://github.com/rust-lang/rust/pull/56497.
2018-12-04Serialize modules into ThinBuffer after initial optimizationNikita Popov-15/+19
Instead of keeping all modules in memory until thin LTO and only serializing them then, serialize the module immediately after it finishes optimizing.
2018-12-04Remove unnecessary parts of run_fat_lto signatureNikita Popov-2/+4
Fat LTO merges into one module, so only return one module.
2018-12-04Separate out methods for running thin and fat LTONikita Popov-2/+2
2018-12-04Separate codepaths for fat and thin LTO in write.rsNikita Popov-27/+56
These are going to have different intermediate artifacts, so create separate codepaths for them.
2018-12-04Refactor LTO type determinationNikita Popov-35/+41
Instead of only determining whether some form of LTO is necessary, determine whether thin, fat or no LTO is necessary. I've rewritten the conditions in a way that I think is more obvious, i.e. specified LTO type + additional preconditions.
2018-12-04Extract free_worker closureNikita Popov-23/+18
2018-12-04cleanup: remove static lifetimes from constsljedrz-1/+1
2018-12-03codegen_llvm_back: improve allocationsljedrz-3/+4
2018-12-01Rollup merge of #56349 - davidtwco:issue-55396-inference-extension, r=nagisakennytm-1/+5
rustc 1.30.0's linker flavor inference is a non-backwards compat change to -Clinker Part of #55396. This commit modifies linker flavor inference to only remove the extension to the linker when performing inference if that extension is a 'exe'. r? @nagisa cc @alexcrichton @japaric
2018-11-30proc_macro: introduce a "bridge" between clients (proc macros) and servers ↵Eduard-Mihai Burtescu-1/+1
(compiler front-ends).
2018-11-29Only consider stem when extension is exe.David Wood-1/+5
This commit modifies linker flavor inference to only remove the extension to the linker when performing inference if that extension is a 'exe'.
2018-11-25Pass `--export-dynamic` to LLD for wasmAlex Crichton-0/+6
This should handle recent symbol visibility changes happening, although we'll likely want to tweak this in the future!
2018-11-25wasm: Pass `--no-demangle` to LLDAlex Crichton-0/+5
Our mangling scheme is not C++'s, so tell LLD to not demangle anything so we can handle Rust-specific demangling ourselves.
2018-11-22Rollup merge of #56067 - jethrogb:jb/sgx-target-spec, r=alexcrichtonGuillaume Gomez-0/+4
Add SGX target to rustc This adds the `x86_64-fortanix-unknown-sgx` target specification to the Rust compiler. See #56066 for more details about this target.
2018-11-21rustc: implement and use Default on more types.Eduard-Mihai Burtescu-1/+1
2018-11-21rustc: remove {FxHash,Node,DefId,HirId,ItemLocal}{Map,Set} "constructor" fns.Eduard-Mihai Burtescu-2/+2
2018-11-19Add `override_export_symbols` option to Rust target specificationJethro Beekman-0/+4
2018-11-16[eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`.Eduard-Mihai Burtescu-2/+2
2018-11-16[eddyb] rustc_codegen_ssa: avoid a `Clone` bound on `TargetMachine`.Eduard-Mihai Burtescu-3/+13
2018-11-16Separating the back folder between backend-agnostic and LLVM-specific codeDenis Merigoux-0/+3884