| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-12-25 | Remove licenses | Mark Rousskov | -70/+0 | |
| 2018-12-18 | Search other library paths when loking for link objects | Petr Hosek | -5/+19 | |
| Support the case when link objects are not located in Rust sysroot but in other locations which could be specify through library paths. | ||||
| 2018-12-12 | Replace `FileSearch::for_each_lib_search_path` with `search_paths`. | Nicholas Nethercote | -8/+4 | |
| Returning an iterator leads to nicer code all around. | ||||
| 2018-12-12 | Introduce `SearchPath` and replace `SearchPaths` with `Vec<SearchPath>`. | Nicholas Nethercote | -6/+6 | |
| It's more idiomatic, makes the code shorter, and will help with the next commit. | ||||
| 2018-12-12 | Remove `Session::sysroot()`. | Nicholas Nethercote | -2/+1 | |
| Instead of maybe storing its own sysroot and maybe deferring to the one in `Session::opts`, just clone the latter when necessary so one is always directly available. This removes the need for the getter. | ||||
| 2018-12-07 | Various minor/cosmetic improvements to code | Alexander Regueiro | -5/+5 | |
| 2018-12-04 | Serialize modules into ThinBuffer after initial optimization | Nikita Popov | -32/+33 | |
| 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-04 | Remove unnecessary parts of run_fat_lto signature | Nikita Popov | -12/+5 | |
| Fat LTO merges into one module, so only return one module. | ||||
| 2018-12-04 | Separate out methods for running thin and fat LTO | Nikita Popov | -37/+50 | |
| 2018-12-03 | codegen_llvm_back: improve allocations | ljedrz | -18/+19 | |
| 2018-12-03 | Auto merge of #56358 - nikic:mergefunc-aliases, r=rkruppe | bors | -4/+5 | |
| Enable -mergefunc-use-aliases If the Rust LLVM fork is used, enable the -mergefunc-use-aliases flag, which will create aliases for merged functions, rather than inserting a call from one to the other. A number of codegen tests needed to be adjusted, because functions that previously fell below the thunk limit are now being merged. Merging is prevented in various ways now. I expect that this is going to break something, somewhere, because it isn't able to deal with aliases properly, but we won't find out until we try :) This fixes #52651. r? @rkruppe | ||||
| 2018-12-02 | Run name-anon-globals after all other passes | Nikita Popov | -4/+5 | |
| name-anon-globals should always be run at the very end of the pass pipeline, as optimization passes (in particular mergefunc) may introduce new anonymous globals. I believe we did not run into this earlier because it requires the rather specific combination of a) mergefunc merging two weak functions b) compilation not using thinlto. | ||||
| 2018-12-01 | Rollup merge of #56341 - frewsxcv:frewsxcv-util-cstr, r=Mark-Simulacrum | kennytm | -5/+5 | |
| Rename conversion util; remove duplicate util in librustc_codegen_llvm. | ||||
| 2018-11-29 | Rename conversion util; remove duplicate util in librustc_codegen_llvm. | Corey Farwell | -5/+5 | |
| 2018-11-25 | Rollup merge of #56075 - alexcrichton:wasm-producer-section, r=estebank | Pietro Albini | -0/+112 | |
| Encode a custom "producers" section in wasm files This commit implements WebAssembly/tool-conventions#65 for wasm files produced by the Rust compiler. This adds a bit of metadata to wasm modules to indicate that the file's language includes Rust and the file's "processed-by" tools includes rustc. The thinking with this section is to eventually have telemetry in browsers tracking all this. | ||||
| 2018-11-22 | Pass additional linker flags when targeting Fuchsia | Petr Hosek | -1/+9 | |
| This is a follow up to 8aa9267 which changed the driver to use lld directly rather than invoking it through Clang. This change ensures we pass all the necessary flags to lld. | ||||
| 2018-11-19 | Encode a custom "producers" section in wasm files | Alex Crichton | -0/+112 | |
| This commit implements WebAssembly/tool-conventions#65 for wasm files produced by the Rust compiler. This adds a bit of metadata to wasm modules to indicate that the file's language includes Rust and the file's "processed-by" tools includes rustc. The thinking with this section is to eventually have telemetry in browsers tracking all this. | ||||
| 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 | -1/+1 | |
| 2018-11-16 | Separating the back folder between backend-agnostic and LLVM-specific code | Denis Merigoux | -2277/+220 | |
| 2018-11-16 | Finished moving backend-agnostic code to rustc_codegen_ssa | Denis Merigoux | -3/+3 | |
| 2018-11-16 | Beginning of moving all backend-agnostic code to rustc_codegen_ssa | Denis Merigoux | -2/+2 | |
| 2018-11-16 | Moved Backend interface into rustc_codegen_utils | Denis Merigoux | -3/+4 | |
| 2018-11-16 | Generalized base:codegen_crate | Denis Merigoux | -19/+18 | |
| 2018-11-16 | Fixed typos | Denis Merigoux | -1/+1 | |
| 2018-11-16 | Removed phantomdata no longer necessary | Denis Merigoux | -13/+6 | |
| Because CodegenContext doesn't implement Backend anymore | ||||
| 2018-11-16 | Removing LLVM content from CommonMethods -> ConstMethods | Denis Merigoux | -24/+5 | |
| 2018-11-16 | Prefixed type methods & removed trait impl for write::CodegenContext | Denis Merigoux | -22/+3 | |
| 2018-11-16 | Prefixed const methods with "const" instead of "c" | Denis Merigoux | -6/+6 | |
| 2018-11-16 | Traitification of type_ methods | Denis Merigoux | -1/+9 | |
| The methods are now attached to CodegenCx instead of Type | ||||
| 2018-11-16 | Added definition of type trait | Denis Merigoux | -0/+1 | |
| 2018-11-16 | Removed code duplication for CommonWriteMethods | Denis Merigoux | -13/+5 | |
| 2018-11-16 | CommonWriteMethods are not static any more | Denis Merigoux | -12/+56 | |
| 2018-11-16 | Split CommonMethods to accomodate for use in back/write.rs | Denis Merigoux | -1/+1 | |
| 2018-11-16 | Traitification of common.rs methods | Denis Merigoux | -7/+7 | |
| 2018-11-16 | Removed genericity over Value in various functions | Denis Merigoux | -2/+1 | |
| Prelude to using associated types in traits rather than type parameters | ||||
| 2018-11-16 | Generalized base.rs#call_memcpy and everything that it uses | Denis Merigoux | -1/+2 | |
| Generalized operand.rs#nontemporal_store and fixed tidy issues Generalized operand.rs#nontemporal_store's implem even more With a BuilderMethod trait implemented by Builder for LLVM Cleaned builder.rs : no more code duplication, no more ValueTrait Full traitification of builder.rs | ||||
| 2018-11-11 | Auto merge of #55698 - nikic:remove-llvm-4-support, r=alexcrichton | bors | -3/+1 | |
| Remove support for building against LLVM 4 With emscripten removed in #55626, we no longer need to support building against LLVM 4. | ||||
| 2018-11-10 | codegen_llvm_back: simplify a conversion to char | ljedrz | -1/+1 | |
| 2018-11-10 | codegen_llvm_back: remove a redundant continue | ljedrz | -1/+0 | |
| 2018-11-10 | codegen_llvm_back: possible minor speedup in logic | ljedrz | -1/+1 | |
| 2018-11-10 | codegen_llvm_back: remove 'static from consts | ljedrz | -3/+3 | |
| 2018-11-10 | codegen_llvm_back: use to_owned instead of to_string with string literals | ljedrz | -4/+4 | |
| 2018-11-10 | codegen_llvm_back: improve common patterns | ljedrz | -46/+23 | |
| 2018-11-10 | codegen_llvm_back: remove explicit returns | ljedrz | -12/+15 | |
| 2018-11-10 | codegen_llvm_back: use Cow<'static, str> where applicable | ljedrz | -22/+21 | |
| 2018-11-10 | codegen_llvm_back: whitespace & formatting fixes | ljedrz | -50/+43 | |
| 2018-11-06 | Run name-anon-globals after LTO passes as well | Nikita Popov | -2/+13 | |
| If we're going to emit bitcode (through ThinLTOBuffer), then we need to ensure that anon globals are named. This was already done after optimization passes, but also has to happen after LTO passes, as we always emit the final result in a ThinLTO-compatible manner. Fixes #51947. | ||||
| 2018-11-05 | Remove support for building against LLVM 4 | Nikita Popov | -3/+1 | |
| With emscripten removed in #55626, we no longer need to support building against LLVM 4. | ||||
| 2018-11-05 | Auto merge of #55593 - nikic:remove-llvm-4-checks, r=rkruppe | bors | -17/+6 | |
| Remove checks for LLVM < 4.0 While we still have to support LLVM 4.0 for Emscripten, we can drop checks for LLVM >= 4.0 and < 4.0. | ||||
