summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/traits
AgeCommit message (Collapse)AuthorLines
2019-02-25librustc_codegen_ssa: deny(elided_lifetimes_in_paths)Mazdak Farrokhzad-5/+10
2019-02-20Allow Self::Module to be mutated.Gabriela Alexandra Moldovan-2/+2
`codegen_allocator` and `write_metadata` mutate the underlying LLVM module. As such, it makes sense for these two functions to receive a mutable reference to the module (as opposed to an immutable one).
2019-02-14Rollup merge of #58378 - alexcrichton:incremental-lto, r=michaelwoeristerMazdak Farrokhzad-3/+6
rustc: Implement incremental "fat" LTO Currently the compiler will produce an error if both incremental compilation and full fat LTO is requested. With recent changes and the advent of incremental ThinLTO, however, all the hard work is already done for us and it's actually not too bad to remove this error! This commit updates the codegen backend to allow incremental full fat LTO. The semantics are that the input modules to LTO are all produce incrementally, but the final LTO step is always done unconditionally regardless of whether the inputs changed or not. The only real incremental win we could have here is if zero of the input modules changed, but that's so rare it's unlikely to be worthwhile to implement such a code path. cc #57968 cc rust-lang/cargo#6643
2019-02-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-5/+5
Cosmetic improvements to doc comments This has been factored out from https://github.com/rust-lang/rust/pull/58036 to only include changes to documentation comments (throughout the rustc codebase). r? @steveklabnik Once you're happy with this, maybe we could get it through with r=1, so it doesn't constantly get invalidated? (I'm not sure this will be an issue, but just in case...) Anyway, thanks for your advice so far!
2019-02-12rustc: Implement incremental "fat" LTOAlex Crichton-3/+6
Currently the compiler will produce an error if both incremental compilation and full fat LTO is requested. With recent changes and the advent of incremental ThinLTO, however, all the hard work is already done for us and it's actually not too bad to remove this error! This commit updates the codegen backend to allow incremental full fat LTO. The semantics are that the input modules to LTO are all produce incrementally, but the final LTO step is always done unconditionally regardless of whether the inputs changed or not. The only real incremental win we could have here is if zero of the input modules changed, but that's so rare it's unlikely to be worthwhile to implement such a code path. cc #57968 cc rust-lang/cargo#6643
2019-02-10rustc: doc commentsAlexander Regueiro-5/+5
2019-02-09librustc_codegen_ssa => 2018Taiki Endo-13/+14
2019-01-24Implement optimize(size) and optimize(speed)Simonas Kazlauskas-2/+3
2019-01-04add support for principal-less trait object typesAriel Ben-Yehuda-1/+1
should be a pure refactoring.
2018-12-25Remove licensesMark Rousskov-130/+0
2018-12-11Remove env_alloca hackNikita Popov-1/+0
This is no longer necessary for LLVM >= 6.
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-2/+2
2018-12-04Serialize modules into ThinBuffer after initial optimizationNikita Popov-1/+5
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/+1
Fat LTO merges into one module, so only return one module.
2018-12-04Separate out methods for running thin and fat LTONikita Popov-6/+12
2018-11-29Move get_static from CodegenCx to Builderbjorn3-3/+7
2018-11-29Require Deref to CodegenCx for HasCodegenbjorn3-1/+3
2018-11-29Remove static_addr_of_mut from cg_ssabjorn3-1/+0
2018-11-29Rename StaticMethods::static_ptrcast to ConstMethods::const_ptrcastbjorn3-2/+2
2018-11-29Remove static_bitcast from cg_ssabjorn3-1/+0
2018-11-29Move IntrinsicCallMethods::call_overflow_intrinsics to ↵bjorn3-17/+18
BuilderMethods::checked_binop
2018-11-29Remove call_lifetime_intrinsic from cg_ssabjorn3-10/+4
2018-11-29Use BackendTypes instead of Backend or HasCodegen in a few placesbjorn3-18/+18
2018-11-29Rustfmt on cg_ssa/traitsbjorn3-3/+7
2018-11-29Don't use llvm intrinsic names in cg_ssabjorn3-9/+16
2018-11-29Remove static_replace_all_uses and statics_to_rauw from cg_ssabjorn3-2/+0
2018-11-29Make ConstMethods and StaticMethods require BackendTypes instead of Backendbjorn3-6/+6
2018-11-29Some refactoringsbjorn3-4/+0
2018-11-22rustc_target: avoid using AbiAndPrefAlign where possible.Eduard-Mihai Burtescu-31/+20
2018-11-22rustc_target: rename abi::Align to AbiAndPrefAlign.Eduard-Mihai Burtescu-19/+30
2018-11-16[eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`.Eduard-Mihai Burtescu-0/+1141