| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-11-16 | Great separation of librustc_codegen_llvm: librustc_codegen_ssa compiles | Denis Merigoux | -474/+0 | |
| 2018-11-16 | Generalized mir::codegen_mir (and all subsequent functions) | Denis Merigoux | -79/+67 | |
| 2018-11-16 | Generalized base::coerce_unsized_into | Denis Merigoux | -14/+27 | |
| 2018-11-16 | Traitified IntrinsicCallMethods | Denis Merigoux | -1/+1 | |
| 2018-11-16 | Transfered memcpy and memset to BuilderMethods | Denis Merigoux | -1/+1 | |
| 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 | -2/+2 | |
| 2018-11-16 | Prefixed const methods with "const" instead of "c" | Denis Merigoux | -4/+4 | |
| 2018-11-16 | Traitification of type_ methods | Denis Merigoux | -4/+3 | |
| The methods are now attached to CodegenCx instead of Type | ||||
| 2018-11-16 | Added self argument for Codegen CommonMethod trait methods | Denis Merigoux | -4/+4 | |
| 2018-11-16 | Replaced Codegen field access by trait method | Denis Merigoux | -27/+27 | |
| 2018-11-16 | Traitification of common.rs methods | Denis Merigoux | -6/+6 | |
| 2018-11-16 | New files and folders for traits | Denis Merigoux | -1/+1 | |
| Moved common enums to common | ||||
| 2018-11-16 | Use associated types instead of type parameters inside the BuilderMethods trait | Denis Merigoux | -6/+3 | |
| 2018-11-16 | Removed genericity over Value in various functions | Denis Merigoux | -9/+7 | |
| Prelude to using associated types in traits rather than type parameters | ||||
| 2018-11-16 | Generalized BasicBlocks in BuilderMethods trait | Denis Merigoux | -2/+4 | |
| 2018-11-16 | Generalized base.rs#call_memcpy and everything that it uses | Denis Merigoux | -9/+26 | |
| 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 | -3/+3 | |
| 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 | -23/+35 | |
| 2018-11-04 | Support memcpy/memmove with differing src/dst alignment | Nikita Popov | -3/+3 | |
| 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-10-25 | Rebase fallout in ui output | Oliver Schneider | -2/+0 | |
| 2018-10-25 | Report const eval error inside the query | Oliver Schneider | -6/+10 | |
| 2018-09-30 | do not normalize non-scalar constants to a ConstValue::ScalarPair | Ralf Jung | -11/+7 | |
| 2018-09-07 | make field always private, add `From` impls | Niko Matsakis | -1/+0 | |
| 2018-08-27 | Miri Memory Work | Ralf Jung | -1/+1 | |
| * Unify the two maps in memory to store the allocation and its kind together. * Share the handling of statics between CTFE and miri: The miri engine always uses "lazy" `AllocType::Static` when encountering a static. Acessing that static invokes CTFE (no matter the machine). The machine only has any influence when writing to a static, which CTFE outright rejects (but miri makes a copy-on-write). * Add an `AllocId` to by-ref consts so miri can use them as operands without making copies. * Move responsibilities around for the `eval_fn_call` machine hook: The hook just has to find the MIR (or entirely take care of everything); pushing the new stack frame is taken care of by the miri engine. * Expose the intrinsics and lang items implemented by CTFE so miri does not have to reimplement them. | ||||
| 2018-08-19 | Integrate OperandValue::UnsizedRef into OperandValue::Ref. | Masaki Hara | -12/+8 | |
| 2018-08-19 | Implement simple codegen for unsized rvalues. | Masaki Hara | -3/+43 | |
| 2018-08-02 | Second field of ScalarPair can be undef in some cases | Oliver Schneider | -7/+11 | |
| 2018-07-30 | rustc_codegen_llvm: fix tidy errors. | Irina Popa | -1/+6 | |
| 2018-07-30 | rustc_codegen_llvm: use safe references for Value. | Irina Popa | -46/+29 | |
| 2018-07-30 | rustc_codegen_llvm: use safe references for Type. | Irina Popa | -13/+13 | |
| 2018-07-30 | rustc_codegen_llvm: move from empty enums to extern types. | Irina Popa | -2/+1 | |
| 2018-07-24 | Rollup merge of #52391 - Amanieu:volatile_unaligned, r=alexcrichton | Mark Rousskov | -0/+4 | |
| Add unaligned volatile intrinsics Surprisingly enough, it turns out that unaligned volatile loads are actually useful for certain (very niche) types of lock-free code. I included unaligned volatile stores for completeness, but I currently do not know of any use cases for them. These are only exposed as intrinsics for now. If they turn out to be useful in practice, we can work towards stabilizing them. r? @alexcrichton | ||||
| 2018-07-23 | Promoteds are statics and statics have a place, not just a value | Oliver Schneider | -28/+9 | |
| 2018-07-20 | Abort instead of UB if promotion fails | Oliver Schneider | -3/+8 | |
| 2018-07-14 | Add unaligned volatile intrinsics | Amanieu d'Antras | -0/+4 | |
| 2018-07-05 | Update scalar pairs per review comments | Josh Stone | -5/+1 | |
| 2018-07-05 | Store scalar pair bools as i8 in memory | Josh Stone | -11/+12 | |
| We represent `bool` as `i1` in a `ScalarPair`, unlike other aggregates, to optimize IR for checked operators and the like. With this patch, we still do so when the pair is an immediate value, but we use the `i8` memory type when the value is loaded or stored as an LLVM aggregate. So `(bool, bool)` looks like an `{ i1, i1 }` immediate, but `{ i8, i8 }` in memory. When a pair is a direct function argument, `PassMode::Pair`, it is still passed using the immediate `i1` type, but as a return value it will use the `i8` memory type. Also, `bool`-like` enum tags will now use scalar pairs when possible, where they were previously excluded due to optimization issues. | ||||
| 2018-06-28 | Merge `ConstVal` and `ConstValue` | Oliver Schneider | -6/+6 | |
| 2018-06-28 | Move everything over from `middle::const_val` to `mir::interpret` | Oliver Schneider | -1/+1 | |
| 2018-06-28 | Move the Lrc outside the error type and name the fields | Oliver Schneider | -1/+2 | |
| 2018-06-05 | Refactor the const eval diagnostic API | Oliver Schneider | -1/+4 | |
| 2018-05-24 | primval -> scalar rename | Oliver Schneider | -4/+4 | |
| 2018-05-24 | Rename ByVal(Pair) to Scalar(Pair) | Oliver Schneider | -3/+3 | |
| 2018-05-20 | Auto merge of #50841 - oli-obk:promote_errors_to_panics, r=eddyb | bors | -2/+2 | |
| Don't lint numeric overflows in promoteds in release mode r? @eddyb mitigates #50814 | ||||
| 2018-05-19 | Use `Size` instead of `u64` in mir interpretation | Oliver Schneider | -1/+1 | |
| 2018-05-19 | Go through an allocation when accessing fields of constants | Oliver Schneider | -3/+9 | |
| 2018-05-19 | Add a test showing the erroneous promoted bug | Oliver Schneider | -2/+2 | |
| 2018-05-17 | Rename trans to codegen everywhere. | Irina Popa | -0/+427 | |
