| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-07-09 | Pass type to byval attributes | Nikita Popov | -29/+35 | |
| 2019-05-14 | removes `AbiMethods` | Saleem Jaffer | -18/+2 | |
| 2019-05-14 | refactor complete | Saleem Jaffer | -372/+7 | |
| 2019-05-14 | some more refactor of FnType. Things build now | Saleem Jaffer | -3/+294 | |
| 2019-05-10 | refactor some `FnType` stuff to `rustc::ty::layout` | Saleem Jaffer | -291/+0 | |
| 2019-05-04 | removing param_env from pointee_info_at | Saleem Jaffer | -2/+2 | |
| 2019-05-04 | resolving conflicts | Saleem Jaffer | -7/+1 | |
| 2019-05-04 | impl `pointee_info_at` in TyLayout. | Daan de Graaf | -2/+2 | |
| 2019-05-04 | Remove old pointee_info_at body. | Daan de Graaf | -1/+7 | |
| 2019-04-26 | Update handling of Tuple | varkor | -4/+4 | |
| 2019-04-04 | Fix cases of conflicting two-phase borrows | Matthew Jasper | -1/+2 | |
| 2019-03-29 | Move get_param and set_value_name | bjorn3 | -0/+4 | |
| 2019-02-27 | Rename variadic to c_variadic | Dan Robertson | -5/+5 | |
| Function signatures with the `variadic` member set are actually C-variadic functions. Make this a little more explicit by renaming the `variadic` boolean value, `c_variadic`. | ||||
| 2019-02-27 | Support defining C compatible variadic functions | Dan Robertson | -6/+39 | |
| Add support for defining C compatible variadic functions in unsafe rust with extern "C". | ||||
| 2019-02-18 | librustc_codegen_llvm => 2018 | Taiki Endo | -6/+6 | |
| 2019-02-10 | rustc: doc comments | Alexander Regueiro | -2/+2 | |
| 2018-12-25 | Remove licenses | Mark Rousskov | -10/+0 | |
| 2018-12-24 | Rollup merge of #57085 - glaubitz:sparc64-abi-fix, r=nagisa | Mazdak Farrokhzad | -2/+6 | |
| librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64 This is in accordance with the SPARC Compliance Definition 2.4.1, Page 3P-12. It says that structs of up to 8 bytes (which applies to empty structs as well) are to be passed in one register. | ||||
| 2018-12-23 | librustc_codegen_llvm: Don't eliminate empty structs in C ABI on linux-sparc64 | Michael Karcher | -2/+6 | |
| This is in accordance with the SPARC Compliance Definition 2.4.1, Page 3P-12. It says that structs of up to 8 bytes (which applies to empty structs as well) are to be passed in one register. | ||||
| 2018-12-21 | Enable emission of alignment attrs for pointer params | Nikita Popov | -6/+0 | |
| Instead disable creation of assumptions during inlining using an LLVM opt flag. The -Z arg-align-attributes option which previously controlled this behavior is removed. | ||||
| 2018-12-07 | Various minor/cosmetic improvements to code | Alexander Regueiro | -1/+1 | |
| 2018-11-29 | Use implicit deref instead of BuilderMethods::cx() | bjorn3 | -7/+7 | |
| 2018-11-22 | rustc_target: avoid using AbiAndPrefAlign where possible. | Eduard-Mihai Burtescu | -7/+7 | |
| 2018-11-22 | rustc_target: separate out an individual Align from AbiAndPrefAlign. | Eduard-Mihai Burtescu | -2/+2 | |
| 2018-11-16 | [eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`. | Eduard-Mihai Burtescu | -1/+1 | |
| 2018-11-16 | All Builder methods now take &mut self instead of &self | Denis Merigoux | -17/+17 | |
| 2018-11-16 | Finished moving backend-agnostic code to rustc_codegen_ssa | Denis Merigoux | -4/+5 | |
| 2018-11-16 | Generalized mir::codegen_mir (and all subsequent functions) | Denis Merigoux | -2/+50 | |
| 2018-11-16 | Transfered memcpy and memset to BuilderMethods | Denis Merigoux | -8/+8 | |
| 2018-11-16 | Generalized memset and memcpy | Denis Merigoux | -1/+1 | |
| 2018-11-16 | Removing LLVM content from CommonMethods -> ConstMethods | Denis Merigoux | -1/+1 | |
| 2018-11-16 | Prefixed type methods & removed trait impl for write::CodegenContext | Denis Merigoux | -16/+16 | |
| 2018-11-16 | Prefixed const methods with "const" instead of "c" | Denis Merigoux | -1/+1 | |
| 2018-11-16 | Traitification of type_ methods | Denis Merigoux | -17/+17 | |
| The methods are now attached to CodegenCx instead of Type | ||||
| 2018-11-16 | Use the method form for CodegenCx everywhere | Denis Merigoux | -1/+1 | |
| 2018-11-16 | Replaced Codegen field access by trait method | Denis Merigoux | -2/+2 | |
| 2018-11-16 | Traitification of common.rs methods | Denis Merigoux | -3/+2 | |
| 2018-11-16 | New files and folders for traits | Denis Merigoux | -1/+1 | |
| Moved common enums to common | ||||
| 2018-11-16 | Removed genericity over Value in various functions | Denis Merigoux | -4/+4 | |
| 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 | -6/+18 | |
| 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-16 | Reduced line length to pass tidy | Denis Merigoux | -1/+1 | |
| Generalized FunctionCx Added ValueTrait and first change Generalize CondegenCx Generalized the Builder struct defined in librustc_codegen_llvm/builder.rs | ||||
| 2018-11-16 | rustc_codegen_llvm: begin generalizing over backend values. | Irina Popa | -4/+14 | |
| 2018-11-11 | Auto merge of #54993 - TimNN:pda-tdl, r=eddyb | bors | -1/+9 | |
| Support for the program data address space option of LLVM's Target Datalayout This was introduced recently (specifically, for AVR, cc @dylanmckay). (I came up with this when attempting to run [avr-rust](https://github.com/avr-rust/rust) rebased on the latest [rust-lang](https://github.com/rust-lang/rust) commits. If this requires a different design, some additional discussions, or is not something to pursue right now, I'd be happy to close this PR). Note that this somewhat overlaps with @DiamondLovesYou's #51576, I think, although the implementation here is significantly simpler: Since the address space applies to _all_ program data, we can just check the pointee's type whenever we create an LLVM pointer type. If it is a function we use the program data address space; if not we use the default address space. cc @eddyb, who has been reviewing #51576 Ref: https://llvm.org/docs/LangRef.html#data-layout | ||||
| 2018-11-08 | Support for the program data address space option | Tim Neumann | -1/+9 | |
| of LLVM's Target Datalayout. https://llvm.org/docs/LangRef.html#data-layout | ||||
| 2018-11-04 | Support memcpy/memmove with differing src/dst alignment | Nikita Popov | -1/+2 | |
| If LLVM 7 is used, generate memcpy/memmove with differing src/dst alignment. I've added new FFI functions to construct these through the builder API, which is more convenient than dealing with differing intrinsic signatures depending on the LLVM version. | ||||
| 2018-11-01 | Add comments explaining how codegen works for `dyn Trait` methods | Michael Hewson | -0/+5 | |
| 2018-11-01 | Implement object-safety for arbitrary_self_types: part 2 | Michael Hewson | -13/+36 | |
| For now, all of the receivers that we care about are just a newtyped pointer — i.e. `Box<Self>`, `Rc<Self>`, `Pin<Box<Self>>`, `Pin<&mut Self>`. This is much simpler to implement in codeine than the more general case, because the ABI is the same as a pointer. So we add some checks in typeck/coherence/builtin.rs to make sure that implementors of CoerceSized are just newtyped pointers. In this commit, we also implement the codegen bits. | ||||
| 2018-10-24 | Move codegen_llvm::common::ty_fn_sig into rustc::ty::Instance. | Masaki Hara | -3/+2 | |
| 2018-10-24 | Implement by-value trait object method call. | Masaki Hara | -8/+8 | |
| 2018-10-12 | rustc: Allow targets to specify SIMD args are by-val | Alex Crichton | -1/+4 | |
| The upcoming SIMD support in the wasm target is unique from the other platforms where it's either unconditionally available or not available, there's no halfway where a subsection of the program can use it but no other parts of the program can use it. In this world it's valid for wasm SIMD args to always be passed by value and there's no need to pass them by reference. This commit adds a new custom target specification option `simd_types_indirect` which defaults to `true`, but the wasm backend disables this and sets it to `false`. | ||||
