about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/base.rs
AgeCommit message (Collapse)AuthorLines
2019-08-05Fiddle param env through to `try_eval_bits` in most placesOliver Scherer-1/+1
2019-08-05Don't abort on unevaluated constants without at least tryting to eval themOliver Scherer-1/+1
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-6/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-07-12Replace `struct_tail` and `struct_lockstep_tails` with variants handling ↵Felix S. Klock II-1/+2
normalization. The old struct tail functions did not deal with `<T as Trait>::A` and `impl Trait`, at least not explicitly. (We didn't notice this bug before because it is only exposed when the tail (post deep normalization) is not `Sized`, so it was a rare case to deal with.) For post type-checking (i.e. during codegen), there is now `struct_tail_erasing_lifetimes` and `struct_lockstep_tails_erasing_lifetimes`, which each take an additional `ParamEnv` argument to drive normalization. For pre type-checking cases where normalization is not needed, there is `struct_tail_without_normalization`. (Currently, the only instance of this is `Expectation::rvalue_hint`.) All of these new entrypoints work by calling out to common helper routines. The helpers are parameterized over a closure that handles the normalization.
2019-07-08normalize use of backticks for compiler messages in librustc_codegenSamy Kacimi-1/+1
https://github.com/rust-lang/rust/issues/60532
2019-07-05Add a "total" measurement to -Ztime-passes.Nicholas Nethercote-1/+4
This is useful for getting the total compilation time at the end. To do this, the patch changes `print_time_passes_entry` to not increment the depth, which means that `print_time_passes_entry_internal` is no longer needed.
2019-07-03Remove needless lifetimesJeremy Stucki-1/+1
2019-06-18Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-9/+7
2019-06-18rustc: reintroduce lifetime bounds where necessary.Eduard-Mihai Burtescu-1/+1
2019-06-18rustc: remove 'x: 'y bounds (except from comments/strings).Eduard-Mihai Burtescu-12/+12
2019-06-14Unify all uses of 'gcx and 'tcx.Eduard-Mihai Burtescu-5/+5
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-6/+3
2019-06-12rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.Eduard-Mihai Burtescu-5/+5
2019-06-12Fix fallout from `deny(unused_lifetimes)`.Eduard-Mihai Burtescu-2/+2
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-3/+3
2019-06-02move codegenunitext to rustc::mir::monoMark Mansi-1/+0
2019-06-02move monoitemext to inherent methodsMark Mansi-3/+1
2019-06-02move DefPathBasedNames to ty::print::obsoleteMark Mansi-0/+1
2019-06-02remove reexports of mir::mono::{MonoItem,CodegenUnit}Mark Mansi-2/+2
2019-06-02remove reexport of rustc::ty::InstanceMark Mansi-2/+1
2019-05-29rustc_codegen_llvm: remove LLVM instruction count stats.Eduard-Mihai Burtescu-62/+2
2019-05-29rustc_codegen_ssa: remove obsolete codegen stats.Eduard-Mihai Burtescu-10/+0
2019-05-23Update foreign_modules and dllimport_foreign_itemsJohn Kåre Alsaker-2/+1
2019-04-30Move metadata encoding earlier.Nicholas Nethercote-27/+21
This commit separates metadata encoding (`tcx.encode_metadata`) from the creation of the metadata module (which is now handled by `write_compressed_metadata`, formerly `write_metadata`). The metadata encoding now occurs slightly earlier in the pipeline, at the very start of code generation within `start_codegen`. Metadata *writing* still occurs near the end of compilation; that will be moved forward in subsequent commits.
2019-04-24Don't generate unnecessary rmeta files.Nicholas Nethercote-9/+19
2019-04-12Use measureme in self-profilerWesley Wiser-7/+4
Related to #58372 Related to #58967
2019-03-29Move get_param and set_value_namebjorn3-2/+2
2019-03-10Replace TimeLine with SelfProfilerWesley Wiser-21/+6
2019-02-26rustc: Update LLVM, remove dead wasm codeAlex Crichton-23/+1
This commit updates the LLVM branch to the rebased version of the upstream release/8.x branch. This includes a wasm patch which means that the `rewrite_imports` pass in rustc is no longer needed (yay!) and we can instead rely on `wasm-import-module`, an attribute we're already emitting, to take care of all the work.
2019-02-25librustc_codegen_ssa: deny(elided_lifetimes_in_paths)Mazdak Farrokhzad-5/+5
2019-02-20Allow Self::Module to be mutated.Gabriela Alexandra Moldovan-4/+4
`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-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-8/+8
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-10rustc: doc commentsAlexander Regueiro-8/+8
2019-02-09librustc_codegen_ssa => 2018Taiki Endo-12/+12
2019-01-24Implement optimize(size) and optimize(speed)Simonas Kazlauskas-2/+35
2019-01-15Querify entry_fnIgor Matuszewski-5/+3
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-1/+1
2018-12-06Use a function to access the Hir map to be able to turn it into a query laterJohn Kåre Alsaker-1/+1
2018-11-29Rename StaticMethods::static_ptrcast to ConstMethods::const_ptrcastbjorn3-1/+1
2018-11-29Don't use llvm intrinsic names in cg_ssabjorn3-8/+0
2018-11-16[eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`.Eduard-Mihai Burtescu-1/+1
2018-11-16Separating the back folder between backend-agnostic and LLVM-specific codeDenis Merigoux-20/+24
2018-11-16All Builder methods now take &mut self instead of &selfDenis Merigoux-30/+22
2018-11-16Added some docs + start to &mut self builder methodsDenis Merigoux-7/+7
2018-11-16Finished moving backend-agnostic code to rustc_codegen_ssaDenis Merigoux-1/+1
2018-11-16Great separation of librustc_codegen_llvm: librustc_codegen_ssa compilesDenis Merigoux-0/+989