| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2021-03-31 | Make unevaluated DefId rendering deterministic | Oli Scherer | -2/+2 | |
| 2021-03-23 | Auto merge of #83177 - erikdesjardins:zstassign, r=oli-obk | bors | -1/+0 | |
| Remove assignments to ZST places instead of marking ZST return place as unused partially reverts #83118 requested by `@tmiasko` in https://github.com/rust-lang/rust/pull/83118#issuecomment-799692574 r? `@oli-obk` | ||||
| 2021-03-20 | bless mir-opt tests | lcnr | -4/+4 | |
| 2021-03-17 | Auto merge of #82122 - bstrie:dep4real, r=dtolnay | bors | -5/+5 | |
| Deprecate `intrinsics::drop_in_place` and `collections::Bound`, which accidentally weren't deprecated Fixes #82080. I've taken the liberty of updating the `since` values to 1.52, since an unobservable deprecation isn't much of a deprecation (even the detailed release notes never bothered to mention these deprecations). As mentioned in the issue I'm *pretty* sure that using a type alias for `Bound` is semantically equivalent to the re-export; [the reference implies](https://doc.rust-lang.org/reference/items/type-aliases.html) that type aliases only observably differ from types when used on unit structs or tuple structs, whereas `Bound` is an enum. | ||||
| 2021-03-15 | bless tests | Erik Desjardins | -1/+0 | |
| 2021-03-13 | bless tests | Erik Desjardins | -2/+0 | |
| 2021-03-13 | Move ZST check inside UsedLocals | Simon Vandel Sillesen | -0/+1 | |
| 2021-03-13 | Extend SimplifyLocals to remove ZST writes | Simon Vandel Sillesen | -6/+0 | |
| 2021-03-09 | Deprecate items that accidentally weren't deprecated | bstrie | -5/+5 | |
| Fixes #82080 | ||||
| 2021-03-06 | Disable destination propagation on all mir-opt-levels | Tomasz Miąsko | -26/+44 | |
| 2021-03-05 | Bump mir-opt-level from 3 to 4 in tests | Santiago Pastorino | -2/+2 | |
| 2021-02-21 | New pass to deduplicate blocks | Simon Vandel Sillesen | -1/+1 | |
| 2021-02-06 | Rollup merge of #81753 - tmiasko:inline-instruction-set, r=oli-obk | Mara Bos | -0/+146 | |
| Never MIR inline functions with a different instruction set | ||||
| 2021-02-04 | Revert "Avoid leaking block expression values" | Felix S. Klock II | -6/+5 | |
| This reverts commit 4fef39113a514bb270f5661a82fdba17d3e41dbb. | ||||
| 2021-02-05 | Never MIR inline functions with a different instruction set | Tomasz Miąsko | -0/+146 | |
| 2021-01-25 | Ignore a test on wasm, because that changes landing pads | oli | -37/+39 | |
| 2021-01-23 | Move test to mir-opt so we actually see that no inlining is happening | oli | -0/+108 | |
| 2021-01-23 | Prevent query cycles during inlining | oli | -0/+69 | |
| 2021-01-18 | Remove disabled transformation from instcombine | Tomasz Miąsko | -1/+1 | |
| 2021-01-07 | Reintroduce hir::ExprKind::If | Caio | -13/+13 | |
| 2020-12-04 | Avoid leaking block expression values | Matthew Jasper | -5/+6 | |
| 2020-11-15 | Limit storage duration of inlined always live locals | Tomasz Miąsko | -0/+9 | |
| 2020-11-12 | ./x.py test --bless | Tomasz Miąsko | -36/+184 | |
| 2020-11-12 | Never inline C variadic functions | Tomasz Miąsko | -0/+18 | |
| 2020-11-12 | Fix generator inlining by checking for rust-call abi and spread arg | Tomasz Miąsko | -0/+16 | |
| 2020-11-12 | Never inline when `no_sanitize` attributes differ | Tomasz Miąsko | -3/+1 | |
| The inliner looks if a sanitizer is enabled before considering `no_sanitize` attribute as possible source of incompatibility. The MIR inlining could happen in a crate with sanitizer disabled, but code generation in a crate with sanitizer enabled, thus the attribute would be incorrectly ignored. To avoid the issue never inline functions with different `no_sanitize` attributes. | ||||
| 2020-11-11 | Rollup merge of #78899 - tmiasko:inline-diverging, r=oli-obk | Jonas Schievink | -0/+180 | |
| Support inlining diverging function calls The existing heuristic does penalize diverging calls to some degree, but since it never inlined them previously it might need some further modifications. Additionally introduce storage markers for all temporaries created by the inliner. The temporary introduced for destination rebrorrow, didn't use them previously. | ||||
| 2020-11-10 | Add flags customizing behaviour of MIR inlining | Tomasz Miąsko | -0/+75 | |
| * `-Zinline-mir-threshold` to change the default threshold. * `-Zinline-mir-hint-threshold` to change the threshold used by functions with inline hint. | ||||
| 2020-11-09 | Support inlining diverging function calls | Tomasz Miąsko | -0/+180 | |
| Additionally introduce storage markers for all temporaries created by the inliner. The temporary introduced for destination rebrorrow, didn't use them previously. | ||||
| 2020-11-09 | inliner: Break inlining cycles | Tomasz Miąsko | -0/+134 | |
| When examining candidates for inlining, reject those that are determined to be recursive either because of self-recursive calls or calls to any instances already inlined. | ||||
| 2020-11-06 | inliner: Use substs_for_mir_body | Tomasz Miąsko | -0/+91 | |
| Changes from 68965 extended the kind of instances that are being inlined. For some of those, the `instance_mir` returns a MIR body that is already expressed in terms of the types found in substitution array, and doesn't need further substitution. Use `substs_for_mir_body` to take that into account. | ||||
| 2020-10-27 | Show the inline stack of MIR lints that only occur after inlining | Oliver Scherer | -87/+87 | |
| 2020-10-26 | Auto merge of #77187 - TimDiekmann:box-alloc, r=Amanieu | bors | -4/+4 | |
| Support custom allocators in `Box` r? `@Amanieu` This pull request requires a crater run. ### Prior work: - #71873 - #58457 - [`alloc-wg`](https://github.com/TimDiekmann/alloc-wg)-crate Currently blocked on: - ~#77118~ - ~https://github.com/rust-lang/chalk/issues/615 (#77515)~ | ||||
| 2020-10-21 | rustc_mir: create the Integrator as soon as possible in MIR inlining. | Eduard-Mihai Burtescu | -52/+52 | |
| 2020-10-21 | rustc_mir: don't throw away inlined locals' spans. | Eduard-Mihai Burtescu | -11/+11 | |
| 2020-10-21 | rustc_mir: properly map scope parent chains into the caller when inlining. | Eduard-Mihai Burtescu | -3/+51 | |
| 2020-10-21 | rustc_mir: track inlined callees in SourceScopeData. | Eduard-Mihai Burtescu | -15/+15 | |
| 2020-10-07 | Fix mir-opt output for 32 bit | Tim Diekmann | -2/+2 | |
| 2020-10-07 | Support custom allocators in `Box` | Tim Diekmann | -2/+2 | |
| Remove `Box::leak_with_alloc` Add leak-test for box with allocator Rename `AllocErr` to `AllocError` in leak-test Add `Box::alloc` and adjust examples to use the new API | ||||
| 2020-10-04 | Bless mir-opt tests | Aaron Hill | -36/+34 | |
| 2020-09-30 | Auto merge of #77069 - sexxi-goose:closure_print_2, r=nikomatsakis | bors | -2/+2 | |
| pretty.rs: Update Closure and Generator print More detailed outline: https://github.com/rust-lang/project-rfc-2229/pull/17 Closes: https://github.com/rust-lang/project-rfc-2229/issues/11 r? `@nikomatsakis` cc `@eddyb` `@davidtwco` `@estebank` | ||||
| 2020-09-28 | pretty.rs: Update Closure and Generator print | Aman Arora | -2/+2 | |
| Co-authored-by: Dhruv Jauhar <dhruvjhr@gmail.com> Co-authored-by: Logan Mosier <logmosier@gmail.com> | ||||
| 2020-09-27 | Remove unnecessary -Zunsound-mir-opts uses in tests | Wesley Wiser | -13/+25 | |
| 2020-09-27 | [mir-opt] Introduce a new flag to enable experimental/unsound mir opts | Wesley Wiser | -3/+3 | |
| 2020-09-25 | Move from {{closure}}#0 syntax to {closure#0} for (def) path components | marmeladema | -10/+10 | |
| 2020-09-21 | Add optimization to avoid load of address | Simon Vandel Sillesen | -8/+12 | |
| 2020-09-18 | Bless mir-opt tests | Jonas Schievink | -14/+10 | |
| 2020-09-17 | Rename 32 bit mir files to be more tool friendly | Nixon Enraght-Moony | -0/+0 | |
| See #75746 | ||||
| 2020-09-17 | Rename 64 bit mir files to be more tool friendly | Nixon Enraght-Moony | -0/+0 | |
| See #75746 | ||||
| 2020-09-14 | Auto merge of #76123 - tmiasko:inline-args-storage, r=wesleywiser | bors | -0/+14 | |
| inliner: Emit storage markers for introduced arg temporaries When introducing argument temporaries during inlining, emit storage marker statements just before the assignment and in the beginning of the return block. This ensures that such temporaries will not be considered live across yield points after inlining inside a generator. Fixes #71793. | ||||
