| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-10-13 | Remove MiscMethods::instances | bjorn3 | -7/+7 | |
| 2019-10-13 | Inline functions from cg_ssa::callee and remove the mod | bjorn3 | -2/+9 | |
| Fixes #65271 | ||||
| 2019-10-13 | s/FuncId/Function | bjorn3 | -2/+2 | |
| 2019-10-13 | Remove is_const_integral method from ConstMethods | bjorn3 | -3/+3 | |
| 2019-10-13 | Introduce FuncId backend type | bjorn3 | -2/+2 | |
| 2019-10-13 | Auto merge of #65182 - anp:reify-shim, r=eddyb | bors | -1/+1 | |
| Add `Instance::resolve_for_fn_ptr` (RFC 2091 #2/N) Supercedes: https://github.com/rust-lang/rust/pull/65082 Depends on: https://github.com/rust-lang/rust/pull/65037 Tracking issue: https://github.com/rust-lang/rust/issues/47809 [RFC text](https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md) steps taken: * [x] add a `ReifyShim` that is similar to `VirtualShim` in behavior (see #54183) * [x] add `ty::Instance::resolve_for_fn_ptr` (leave `ty::Instance::resolve_vtable` alone), migrate appropriate callers * [x] `resolve_for_fn_ptr` returns the shim if calling a `#[track_caller]` function | ||||
| 2019-10-10 | Auto merge of #59546 - sfanxiang:interminable-ub, r=nagisa | bors | -1/+42 | |
| Add llvm.sideeffect to potential infinite loops and recursions LLVM assumes that a thread will eventually cause side effect. This is not true in Rust if a loop or recursion does nothing in its body, causing undefined behavior even in common cases like `loop {}`. Inserting llvm.sideeffect fixes the undefined behavior. As a micro-optimization, only insert llvm.sideeffect when jumping back in blocks or calling a function. A patch for LLVM is expected to allow empty non-terminate code by default and fix this issue from LLVM side. https://github.com/rust-lang/rust/issues/28728 **UPDATE:** [Mentoring instructions here](https://github.com/rust-lang/rust/pull/59546#issuecomment-515072429) to unstall this PR | ||||
| 2019-10-09 | Reifying callers of Instance::resolve use resolve_for_fn_ptr. | Adam Perry | -1/+1 | |
| 2019-10-04 | clean up GeneratorSubsts | csmoe | -1/+1 | |
| 2019-10-04 | Rollup merge of #64817 - csmoe:closure, r=nikomatsakis | Mazdak Farrokhzad | -2/+6 | |
| Replace ClosureSubsts with SubstsRef Addresses https://github.com/rust-lang/rust/issues/42340 part 3 https://github.com/rust-lang/rust/pull/59312 might benefit from this clean up. r? @nikomatsakis | ||||
| 2019-10-03 | generate ClosureSubsts from SubstsRef | csmoe | -3/+4 | |
| 2019-09-29 | remove indexed_vec re-export from rustc_data_structures | csmoe | -4/+4 | |
| 2019-09-29 | remove ClosureSubsts with SubstsRef | csmoe | -2/+5 | |
| 2019-09-29 | remove bit_set re-export from rustc_data_structures | csmoe | -2/+2 | |
| 2019-09-28 | rustc_codegen_ssa: remove redundant `va_list_ref` field from `FunctionCx`. | Eduard-Mihai Burtescu | -18/+8 | |
| 2019-09-28 | rustc: rely on c_variadic == true instead of CVarArgs in HIR/Ty fn signatures. | Eduard-Mihai Burtescu | -57/+33 | |
| 2019-09-28 | Generate llvm.sideeffect at function entry instead of call | Xiang Fan | -5/+9 | |
| 2019-09-28 | Gate llvm.sideeffect under -Z insert-sideeffect | Xiang Fan | -7/+9 | |
| 2019-09-28 | Add llvm.sideeffect to potential infinite loops and recursions | Xiang Fan | -1/+36 | |
| LLVM assumes that a thread will eventually cause side effect. This is not true in Rust if a loop or recursion does nothing in its body, causing undefined behavior even in common cases like `loop {}`. Inserting llvm.sideeffect fixes the undefined behavior. As a micro-optimization, only insert llvm.sideeffect when jumping back in blocks or calling a function. A patch for LLVM is expected to allow empty non-terminate code by default and fix this issue from LLVM side. https://github.com/rust-lang/rust/issues/28728 | ||||
| 2019-09-25 | Rename `sty` to `kind` | varkor | -15/+15 | |
| 2019-09-17 | Get rid of special const intrinsic query in favour of `const_eval` | Oliver Scherer | -2/+1 | |
| 2019-09-14 | Rollup merge of #64435 - eddyb:arguments-against-arg, r=rkruppe | Mazdak Farrokhzad | -29/+30 | |
| codegen: use "_N" (like for other locals) instead of "argN", for argument names. Based on #64408 (second commit is new), fixing something I mentioned in #64408 (which turned to be an immediate blocker for unifying relevant codepaths). Closes #64408 (by containing it). r? @rkruppe | ||||
| 2019-09-13 | codegen: use "_N" (like for other locals) instead of "argN", for argument names. | Eduard-Mihai Burtescu | -1/+2 | |
| 2019-09-12 | codegen: be more explicit about setting giving names to allocas. | Eduard-Mihai Burtescu | -28/+28 | |
| 2019-09-11 | Make Place Boxed on Statement to reduce size from 64 bytes to 32 bytes | Santiago Pastorino | -6/+6 | |
| 2019-09-09 | Use slice patterns to match projection base | Santiago Pastorino | -10/+3 | |
| 2019-09-09 | Convert Place's projection to a boxed slice | Santiago Pastorino | -72/+71 | |
| 2019-09-06 | rustc_codegen_llvm: give names to non-alloca variable values. | Eduard-Mihai Burtescu | -9/+23 | |
| 2019-09-05 | Rollup merge of #64003 - Dante-Broggi:place-align-in-layout, r=matthewjasper | Mazdak Farrokhzad | -11/+22 | |
| place: Passing `align` = `layout.align.abi`, when also passing `layout` Of the calls changed: 7/12 use `align` = `layout.align.abi`. `from_const_alloc` uses `alloc.align`, but that is `assert_eq!` to `layout.align.abi`. only 4/11 use something interesting for `align`. | ||||
| 2019-09-04 | Remove `LocalInternedString` uses from `librustc_codegen_llvm`. | Nicholas Nethercote | -6/+5 | |
| 2019-08-29 | `new_sized` is mostly used without align | Dante-Broggi | -8/+20 | |
| so rename it `new_sized_aligned`. 6/11 use `align` = `layout.align.abi`. `from_const_alloc` uses `alloc.align`, but that is `assert_eq!` to `layout.align.abi`. only 4/11 use something interesting for `align`. | ||||
| 2019-08-29 | `new_thin_place` is only used with `align` = `layout.align.abi` | Dante-Broggi | -3/+2 | |
| and is not `pub`. | ||||
| 2019-08-22 | Handle statics in `Subst::subst()` by implementing `TypeFoldable` | Wesley Wiser | -9/+2 | |
| 2019-08-22 | Fix tidy | Wesley Wiser | -1/+0 | |
| 2019-08-22 | Move def_id out add substsref | Wesley Wiser | -7/+20 | |
| 2019-08-17 | Remove SyntaxContext from {ast, hir}::{GlobalAsm, InlineAsm} | Matthew Jasper | -1/+6 | |
| We now store it in the `Span` of the expression or item. | ||||
| 2019-08-16 | Remove redundant `ty` fields from `mir::Constant` and ↵ | Eduard-Mihai Burtescu | -3/+3 | |
| `hair::pattern::PatternRange`. | ||||
| 2019-08-15 | syntax_pos: Introduce a helper for checking whether a span comes from expansion | Vadim Petrochenkov | -2/+2 | |
| 2019-08-11 | Copy ty::Instance instead of passing by reference | Mark Rousskov | -3/+3 | |
| ty::Instance is small and Copy, we should not be adding additional indirection. | ||||
| 2019-08-07 | Auto merge of #63152 - estebank:big-array, r=oli-obk | bors | -13/+30 | |
| Always error on `SizeOverflow` during mir evaluation Fix #55878, fix #25116. r? @oli-obk | ||||
| 2019-08-05 | Fiddle param env through to `try_eval_bits` in most places | Oliver Scherer | -2/+2 | |
| 2019-08-05 | Don't abort on unevaluated constants without at least tryting to eval them | Oliver Scherer | -2/+2 | |
| 2019-08-04 | tweak output and tests | Esteban Küber | -8/+19 | |
| 2019-08-04 | review comments: clean up | Esteban Küber | -10/+5 | |
| 2019-08-03 | Simplify change to layout_of | Esteban Küber | -1/+0 | |
| 2019-08-03 | Point to local place span on "type too big" error | Esteban Küber | -5/+17 | |
| 2019-08-02 | CTFE: simplify Value type by not checking for alignment | Ralf Jung | -4/+4 | |
| 2019-07-29 | use PanicInfo and UnsupportedOpInfo | Saleem Jaffer | -3/+3 | |
| 2019-07-24 | fix unused import | Ralf Jung | -1/+1 | |
| 2019-07-24 | use PanicMessage type for MIR assertion errors | Ralf Jung | -5/+5 | |
