about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/meth.rs
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-126/+0
2020-07-22[AVR] Correctly set the pointer address space when constructing pointers to ↵Dylan McKay-1/+1
functions This patch extends the existing `type_i8p` method so that it requires an explicit address space to be specified. Before this patch, the `type_i8p` method implcitily assumed the default address space, which is not a safe transformation on all targets, namely AVR. The Rust compiler already has support for tracking the "instruction address space" on a per-target basis. This patch extends the code generation routines so that an address space must always be specified. In my estimation, around 15% of the callers of `type_i8p` produced invalid code on AVR due to the loss of address space prior to LLVM final code generation. This would lead to unavoidable assertion errors relating to invalid bitcasts. With this patch, the address space is always either 1) explicitly set to the instruction address space because the logic is dealing with functions which must be placed there, or 2) explicitly set to the default address space 0 because the logic can only operate on data space pointers and thus we keep the existing semantics of assuming the default, "data" address space.
2020-07-20mir: `unused_generic_params` queryDavid Wood-1/+2
This commit implements the `unused_generic_params` query, an initial version of polymorphization which detects when an item does not use generic parameters and is being needlessly monomorphized as a result. Signed-off-by: David Wood <david@davidtw.co>
2020-03-30rustc -> rustc_middle part 2Mazdak Farrokhzad-1/+1
2019-12-22Format the worldMark Rousskov-8/+10
2019-11-21Aggregation of drive-by cosmetic changes.Alexander Regueiro-9/+8
2019-11-03rustc_target: rename {Fn,Arg}Type to {Fn,Arg}Abi.Eduard-Mihai Burtescu-3/+3
2019-10-13Remove MiscMethods::instancesbjorn3-2/+2
2019-10-13Inline functions from cg_ssa::callee and remove the modbjorn3-2/+8
Fixes #65271
2019-06-18rustc: remove 'x: 'y bounds (except from comments/strings).Eduard-Mihai Burtescu-1/+1
2019-06-02remove unneeded depsMark Mansi-1/+0
2019-06-02deduplicate ty::Instance constructorsMark Mansi-2/+2
2019-02-09librustc_codegen_ssa => 2018Taiki Endo-2/+2
2019-01-04add support for principal-less trait object typesAriel Ben-Yehuda-3/+10
should be a pure refactoring.
2018-12-25Remove licensesMark Rousskov-10/+0
2018-11-29Use implicit deref instead of BuilderMethods::cx()bjorn3-4/+4
2018-11-23Merge branch 'master' into frewsxcv-dynCorey Farwell-6/+6
2018-11-22rustc_target: avoid using AbiAndPrefAlign where possible.Eduard-Mihai Burtescu-3/+3
2018-11-22rustc_target: separate out an individual Align from AbiAndPrefAlign.Eduard-Mihai Burtescu-1/+1
2018-11-22rustc_target: rename abi::Align to AbiAndPrefAlign.Eduard-Mihai Burtescu-3/+3
2018-11-20Incorporate `dyn` into more comments and docs.Corey Farwell-1/+1
2018-11-16[eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`.Eduard-Mihai Burtescu-1/+1
2018-11-16All Builder methods now take &mut self instead of &selfDenis Merigoux-10/+6
2018-11-16Great separation of librustc_codegen_llvm: librustc_codegen_ssa compilesDenis Merigoux-0/+126