[const-prop] Handle remaining MIR Rvalue cases#64890
Conversation
d8549cb to
4982dae
Compare
|
just a formatting nit, then this lgtm. |
c3cdb89 to
5804c3b
Compare
|
@bors r+ |
|
📌 Commit 5804c3b has been approved by |
…i-obk [const-prop] Handle remaining MIR Rvalue cases r? @oli-obk
…i-obk [const-prop] Handle remaining MIR Rvalue cases r? @oli-obk
…i-obk [const-prop] Handle remaining MIR Rvalue cases r? @oli-obk
|
(Speculation) Failed in #64955 (comment), @bors r- |
|
Assertion location: rust/src/librustc_mir/interpret/place.rs Line 1032 in 702b45e |
|
Ping from Triage: any updates @wesleywiser? |
|
Got married this weekend; I'll probably get back to this later this week :) |
|
@oli-obk Pushed a fix. Let me know what you think. |
|
A mir-opt test I added failed because wasm doesn't support unwinding. I'll fix this tonight. |
883148b to
fd20dbe
Compare
|
Added ignore-{wasm,enscripten} to the box test. @bors r=oli-obk |
|
📌 Commit fd20dbe has been approved by |
|
⌛ Testing commit fd20dbe with merge bf46d1b81e0f1be41abd66dabb21515f6d0bfdc7... |
|
@bors rollup=never retry yielding to r0llup |
|
⌛ Testing commit fd20dbe with merge 662301e2a9170f3aba36b6f4df7fec1309606866... |
|
@bors retry yielding to r0llup |
[const-prop] Handle remaining MIR Rvalue cases r? @oli-obk
|
☀️ Test successful - checks-azure |
…eywiser clarify const_prop ICE protection comment This is based on discussion at https://github.com/rust-lang/rust/pull/64890/files#r334555787. That said, why are function arguments the only unsized locals that could remain uninitialized? Couldn't we also fail to initialize some local but still go on with const_prop, and then hit a line that takes a reference to that? Cc @wesleywiser @oli-obk ; I don't know enough about const-prop to understand why this can happen only for function arguments. ~~The PR includes rust-lang#64890; the only new commit is 05e4e6ba0d5.~~
…<try> [mir-opt] Implement pass to remove branches on uninhabited variants Based on discussion [here](#64890 (comment)), this is a pass to eliminate dead code that is caused by branching on an enum with uninhabited variants. r? @oli-obk
…oli-obk [mir-opt] Implement pass to remove branches on uninhabited variants Based on discussion [here](#64890 (comment)), this is a pass to eliminate dead code that is caused by branching on an enum with uninhabited variants. r? @oli-obk
r? @oli-obk