| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2021-01-17 | Fix `unused_unsafe` label with `unsafe_block_in_unsafe_fn | LeSeulArtichaut | -8/+9 | |
| 2021-01-17 | Avoid logging the whole MIR body in SimplifyCfg | Tomasz Miąsko | -1/+1 | |
| 2021-01-17 | Copy body span instead of querying it | Dániel Buga | -1/+1 | |
| 2021-01-17 | Add regression test | oli | -5/+15 | |
| 2021-01-17 | Remove an unnecessary field from a `NonConstOp` | oli | -3/+3 | |
| 2021-01-17 | Visit only terminators when removing unneeded drops | Tomasz Miąsko | -41/+20 | |
| No functional changes intended | ||||
| 2021-01-16 | Review changes | Jack Huey | -16/+16 | |
| 2021-01-16 | Auto merge of #80290 - RalfJung:less-intrinsic-write, r=lcnr | bors | -8/+0 | |
| implement ptr::write without dedicated intrinsic This makes `ptr::write` more consistent with `ptr::write_unaligned`, `ptr::read`, `ptr::read_unaligned`, all of which are implemented in terms of `copy_nonoverlapping`. This means we can also remove `move_val_init` implementations in codegen and Miri, and its special handling in the borrow checker. Also see [this Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/ptr.3A.3Aread.20vs.20ptr.3A.3Awrite). | ||||
| 2021-01-16 | Use PlaceRef more consistently in rustc_mir | Olivia Crain | -90/+83 | |
| 2021-01-15 | inline: Round word-size cost estimates up | Tomasz Miąsko | -1/+1 | |
| 2021-01-14 | Use Option::map_or instead of `.map(..).unwrap_or(..)` | LingMan | -2/+2 | |
| 2021-01-12 | Auto merge of #78407 - oli-obk:ub_checkable_ctfe, r=RalfJung,pnkfelix | bors | -27/+123 | |
| Make CTFE able to check for UB... ... by not doing any optimizations on the `const fn` MIR used in CTFE. This means we duplicate all `const fn`'s MIR now, once for CTFE, once for runtime. This PR is for checking the perf effect, so we have some data when talking about https://github.com/rust-lang/const-eval/blob/master/rfcs/0000-const-ub.md To do this, we now have two queries for obtaining mir: `optimized_mir` and `mir_for_ctfe`. It is now illegal to invoke `optimized_mir` to obtain the MIR of a const/static item's initializer, an array length, an inline const expression or an enum discriminant initializer. For `const fn`, both `optimized_mir` and `mir_for_ctfe` work, the former returning the MIR that LLVM should use if the function is called at runtime. Similarly it is illegal to invoke `mir_for_ctfe` on regular functions. This is all checked via appropriate assertions and I don't think it is easy to get wrong, as there should be no `mir_for_ctfe` calls outside the const evaluator or metadata encoding. Almost all rustc devs should keep using `optimized_mir` (or `instance_mir` for that matter). | ||||
| 2021-01-12 | Coverage computation needs access to the MIR, too | oli | -6/+13 | |
| 2021-01-12 | Auto merge of #80499 - matthiaskrgr:red_clos, r=estebank | bors | -6/+6 | |
| remove redundant closures (clippy::redundant_closure) | ||||
| 2021-01-10 | Add ABI argument to `find_mir_or_eval_fn` | Nym Seddon | -0/+2 | |
| Add ABI argument for called function in `find_mir_or_eval_fn` and `call_extra_fn`. Useful for comparing with expected ABI in interpreters. Related to [miri/1631](https://github.com/rust-lang/miri/issues/1631) | ||||
| 2021-01-08 | Rollup merge of #80521 - richkadel:llvm-coverage-counters-2.4.0, r=wesleywiser | Yuki Okushi | -0/+9 | |
| MIR Inline is incompatible with coverage Fixes: #80060 Fixed by disabling inlining if `-Zinstrument-coverage` is set. The PR also adds additional use cases to the coverage test for doctests. r? `@wesleywiser` cc: `@tmandry` | ||||
| 2021-01-07 | Auto merge of #80648 - Aaron1011:expn-data-private, r=petrochenkov | bors | -4/+4 | |
| Make `ExpnData` fields `krate` and `orig_id` private These fields are only used by hygiene serialized, and should not be accessed by anything outside of `rustc_span`. | ||||
| 2021-01-04 | Do not run const prop on the `mir_for_ctfe` of `const fn` | oli | -19/+34 | |
| 2021-01-04 | No doc comments on expressions | oli | -3/+3 | |
| 2021-01-04 | Small comment adjustments | oli | -0/+3 | |
| 2021-01-04 | Move MIR body loading to a machine function | oli | -0/+7 | |
| 2021-01-04 | Document all the things | oli | -0/+13 | |
| 2021-01-04 | Simplify the `optimize_mir` query | oli | -17/+9 | |
| 2021-01-04 | Differentiate between the availability of ctfe MIR and runtime MIR | oli | -12/+2 | |
| 2021-01-04 | Keep an unoptimized duplicate of `const fn` around | oli | -0/+70 | |
| This allows CTFE to reliably detect UB, as otherwise optimizations may hide UB. | ||||
| 2021-01-04 | Stop optimizing promoteds | oli | -1/+0 | |
| 2021-01-04 | Inlining enabled by -mir-opt-level > 1 is incompatible with coverage | Rich Kadel | -0/+9 | |
| Fixes: #80060 Also adds additional test cases for coverage of doctests. | ||||
| 2021-01-03 | Stylistic fixes to diagnostic messages | oli | -3/+3 | |
| 2021-01-03 | Refactor the non-transient cell borrow error diagnostic | oli | -3/+22 | |
| 2021-01-03 | Dangling pointers point to everything and nothing | Oli Scherer | -2/+1 | |
| Co-authored-by: Ralf Jung <post@ralfj.de> | ||||
| 2021-01-03 | Grammar fixes | Oli Scherer | -1/+1 | |
| Co-authored-by: Ralf Jung <post@ralfj.de> | ||||
| 2021-01-03 | Make `ExpnData` fields `krate` and `orig_id` private | Aaron Hill | -4/+4 | |
| These fields are only used by hygiene serialized, and should not be accessed by anything outside of `rustc_span`. | ||||
| 2021-01-03 | Update now-more-precise operation with a preciser message | oli | -2/+2 | |
| 2021-01-03 | Apply suggestions from code review | Oli Scherer | -4/+9 | |
| comment nits Co-authored-by: Ralf Jung <post@ralfj.de> | ||||
| 2021-01-03 | remove redundant closures (clippy::redundant_closure) | Matthias Krüger | -6/+6 | |
| 2021-01-01 | Don't mix feature gates and hard errors, decide on one per op and stick with it | oli | -15/+18 | |
| 2021-01-01 | Reinstate the error-code error over the feature gate error | oli | -9/+15 | |
| 2021-01-01 | Enhance some comments | oli | -0/+2 | |
| 2021-01-01 | Fix cell checks in const fn | oli | -0/+7 | |
| 2021-01-01 | The proper name for the rule is "enclosing scope" | oli | -1/+1 | |
| 2021-01-01 | Allow references to interior mutable data behind a feature gate | oli | -1/+53 | |
| 2020-12-31 | remove move_val_init leftovers | Ralf Jung | -8/+0 | |
| 2020-12-30 | Rollup merge of #80458 - RalfJung:promotion-refactor, r=oli-obk | Mara Bos | -99/+115 | |
| Some Promotion Refactoring Clean up promotion a bit: * factor out some common code * more exhaustive matches This *should* not break anything... the only potentially-breaking change is that `BorrowKind::Shallow | BorrowKind::Unique` are now rejected for internal references. r? ``@oli-obk`` | ||||
| 2020-12-30 | where possible, pass slices instead of &Vec or &String (clippy::ptr_arg) | Matthias Krüger | -5/+5 | |
| 2020-12-29 | Remove `compile-fail` test suite | Vadim Petrochenkov | -1/+1 | |
| 2020-12-29 | fix a comment | Ralf Jung | -1/+1 | |
| 2020-12-29 | Auto merge of #79084 - simonvandel:instcombine-perf, r=oli-obk | bors | -4/+24 | |
| Small perf changes for InstCombine | ||||
| 2020-12-28 | make more matches exhaustive | Ralf Jung | -20/+41 | |
| 2020-12-28 | use exhaustive pattern match to prevent future bugs | Simon Vandel Sillesen | -4/+13 | |
| 2020-12-28 | merge two match'es for more exhaustiveness | Ralf Jung | -39/+41 | |
