about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/traits
AgeCommit message (Collapse)AuthorLines
2019-05-29rustc_codegen_llvm: remove LLVM instruction count stats.Eduard-Mihai Burtescu-5/+1
2019-05-28Changes the type `mir::Mir` into `mir::Body`Claude-Alban RANÉLY-VERGÉ-DÉPRÉ-2/+2
The commit should have changed comments as well. At the time of writting, it passes the tidy and check tool. Revisions asked by eddyb : - Renamed of all the occurences of {visit/super}_mir - Renamed test structures `CachedMir` to `Cached` Fixing the missing import on `AggregateKind`
2019-05-14removes `AbiMethods`Saleem Jaffer-11/+10
2019-05-05code review fixesSaleem Jaffer-2/+1
2019-05-04adding HasParamEnv traitSaleem Jaffer-2/+9
2019-04-30Move metadata encoding earlier.Nicholas Nethercote-3/+4
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-23rustc_codegen_ssa: rename debuginfo_upvar_decls_ops_sequence to ↵Eduard-Mihai Burtescu-1/+1
debuginfo_upvar_ops_sequence.
2019-03-31Remove redundant importFabian Drinck-1/+0
2019-03-29Use ExactSizeIterator + TrustedLen instead of num_cases arg for switchbjorn3-2/+2
2019-03-29Add a method for emiting a switch.bjorn3-2/+3
2019-03-29Remove inline_asm_call from cg_ssabjorn3-14/+0
`count_insn` is no longer called for inline asm, because it is private to builder.rs
2019-03-29Remove type_variadic_func and typ_array from cg_ssabjorn3-9/+8
2019-03-29Remove a lot of methods from *TypeMethodsbjorn3-64/+6
2019-03-29Remove scalar_lltypes from cg_ssabjorn3-3/+0
2019-03-29Move get_param and set_value_namebjorn3-3/+3
2019-03-29Remove a lot of methods from BuilderMethodsbjorn3-47/+0
2019-03-29[WIP] Make some debug info methods take &mut FunctionDebugContextbjorn3-2/+2
declare_local still takes &FunctionDebugContext, because of borrowck errors
2019-03-29Remove const_{cstr,str_slice,get_elt,get_real} and is_const_real methods ↵bjorn3-9/+9
from cg_ssa This introduces the static_panic_msg trait method to StaticBuilderMethods.
2019-03-29Remove const_{fat_ptr,array,vector,bytes} from cg_ssabjorn3-4/+0
2019-03-29Miscbjorn3-1/+1
2019-03-29Don't use c_uint in cg_ssabjorn3-2/+1
2019-03-15rustc: remove fmt::{Debug,Display} from ty::TyKind.Eduard-Mihai Burtescu-1/+1
2019-03-10Replace TimeLine with SelfProfilerWesley Wiser-6/+0
2019-03-04Make the lifetime parameters of tcx consistent.Gabriela Alexandra Moldovan-2/+2
2019-02-27Support defining C compatible variadic functionsDan Robertson-0/+6
Add support for defining C compatible variadic functions in unsafe rust with extern "C".
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