In some cases, we generate unreachable register reconciliation code following an unconditional branch. Besides the inefficiency, failure to clearly distinguish the no-fallthrough cases can mislead the programmer into writing code in which the state merging seems to done properly, the but the actual execution does not conform. Similarly, our treatment of loop-carried variables is less than optmimal when a loop ends with an unconditional backward branch. See https://bugzilla.mozilla.org/show_bug.cgi?id=637809#c4 and the following discussion.
Assignee: nobody → wmaddox
Target Milestone: --- → Q1 12 - Brannan
We're going to address register allocator issues in the next year immediatley after half moon or concurrent with it. Retargeting this bug to Future for now and we'll group this with the regalloc improvements later.
Target Milestone: Q1 12 - Brannan → Future
You need to log in before you can comment on or make changes to this bug.