| ... | @@ -3356,8 +3356,13 @@ fn switchExpr( | ... | @@ -3356,8 +3356,13 @@ fn switchExpr( |
| 3356 | switch (strat.tag) { | 3356 | switch (strat.tag) { |
| 3357 | .break_operand => { | 3357 | .break_operand => { |
| 3358 | // Switch expressions return `true` for `nodeMayNeedMemoryLocation` thus | 3358 | // Switch expressions return `true` for `nodeMayNeedMemoryLocation` thus |
| 3359 | // this is always true. | 3359 | // `elide_store_to_block_ptr_instructions` will either be true, |
| 3360 | assert(strat.elide_store_to_block_ptr_instructions); | 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 | // There will necessarily be a store_to_block_ptr for | 3367 | // There will necessarily be a store_to_block_ptr for |
| 3363 | // all prongs, except for prongs that ended with a noreturn instruction. | 3368 | // all prongs, except for prongs that ended with a noreturn instruction. |