diff options
author | Björn Gustavsson <[email protected]> | 2011-09-23 10:29:47 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-10-09 15:24:39 +0200 |
commit | b17da0957f6441e41579d2bad40a8977c4098c0f (patch) | |
tree | a4d9137c78385af380bd27721795aed50d40e1f9 /lib/compiler/ebin | |
parent | 562cf135b9518985d172d291665eb32f891032fb (diff) | |
download | otp-b17da0957f6441e41579d2bad40a8977c4098c0f.tar.gz otp-b17da0957f6441e41579d2bad40a8977c4098c0f.tar.bz2 otp-b17da0957f6441e41579d2bad40a8977c4098c0f.zip |
beam_jump: Fix broken optimization
A test instruction with the same target label as jump immediately
followed it was supposed to be removed, but it was kept anyway.
Fix that optimization, but also make sure that the test instruction
is kept if the test instruction may have side effects (such as
a bit syntax matching instruction).
While at it, make the code cleaner by breaking it up into two clauses
and don't remove the jump instruction if it is redudant (removal of
redundant jump instructions is already handled in another place).
Diffstat (limited to 'lib/compiler/ebin')
0 files changed, 0 insertions, 0 deletions