| ... | ... | @@ -3356,8 +3356,13 @@ fn switchExpr( |
| 3356 | 3356 | switch (strat.tag) { |
| 3357 | 3357 | .break_operand => { |
| 3358 | 3358 | // Switch expressions return `true` for `nodeMayNeedMemoryLocation` thus |
| 3359 | | // this is always true. |
| 3360 | | assert(strat.elide_store_to_block_ptr_instructions); |
| 3359 | // `elide_store_to_block_ptr_instructions` will either be true, |
| 3360 | // or all prongs are noreturn. |
| 3361 | if (!strat.elide_store_to_block_ptr_instructions) { |
| 3362 | astgen.extra.appendSliceAssumeCapacity(scalar_cases_payload.items); |
| 3363 | astgen.extra.appendSliceAssumeCapacity(multi_cases_payload.items); |
| 3364 | return astgen.indexToRef(switch_block); |
| 3365 | } |
| 3361 | 3366 | |
| 3362 | 3367 | // There will necessarily be a store_to_block_ptr for |
| 3363 | 3368 | // all prongs, except for prongs that ended with a noreturn instruction. |