The fix for #4914 was wrong and broke other things (see #5149). We
authorSimon Marlow <marlowsd@gmail.com>
Wed, 4 May 2011 09:58:38 +0000 (10:58 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 4 May 2011 09:59:57 +0000 (10:59 +0100)
commit296388e81bd8557449a2027f8e8fa664307b5944
tree536c6ae8200578e473dff14bd80e30b242f0930d
parentf07313497d52d7c1866a72b2e642371e55d3fc9c
The fix for #4914 was wrong and broke other things (see #5149).  We
can't emit the ffrees before a conditional jump, because we don't want
to ffree the stack registers if the jump isn't taken (d'oh).

This commit fixes it properly, by moving the pass that inserts the
ffrees to *before* we do the jump-shortcutting which introduces the
conditional non-local jumps.
compiler/nativeGen/AsmCodeGen.lhs
compiler/nativeGen/X86/Instr.hs