aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-04-12 05:44:27 +0200
committerBjörn Gustavsson <[email protected]>2011-04-12 05:54:46 +0200
commitdf96e44eb23abdb696eb79ecc92ce4f8bbb534a1 (patch)
tree91fea9db4d780f2418a9664a14eea44d1261a2eb /lib/compiler
parent981acf6eaa48adffb27b2e812db8bcd180121f4e (diff)
downloadotp-df96e44eb23abdb696eb79ecc92ce4f8bbb534a1.tar.gz
otp-df96e44eb23abdb696eb79ecc92ce4f8bbb534a1.tar.bz2
otp-df96e44eb23abdb696eb79ecc92ce4f8bbb534a1.zip
beam_dead: Remove uncovered special case handling of empty blocks
There is never any empty blocks when beam_dead is invoked. Even if there were, they will be removed a little bit later in forward/4.
Diffstat (limited to 'lib/compiler')
-rw-r--r--lib/compiler/src/beam_dead.erl3
1 files changed, 0 insertions, 3 deletions
diff --git a/lib/compiler/src/beam_dead.erl b/lib/compiler/src/beam_dead.erl
index 73f45452fa..8e96569414 100644
--- a/lib/compiler/src/beam_dead.erl
+++ b/lib/compiler/src/beam_dead.erl
@@ -162,14 +162,11 @@ function({function,Name,Arity,CLabel,Is0}, Lc0) ->
%% We must split the basic block when we encounter instructions with labels,
%% such as catches and BIFs. All labels must be visible outside the blocks.
-%% Also remove empty blocks.
split_blocks({function,Name,Arity,CLabel,Is0}) ->
Is = split_blocks(Is0, []),
{function,Name,Arity,CLabel,Is}.
-split_blocks([{block,[]}|Is], Acc) ->
- split_blocks(Is, Acc);
split_blocks([{block,Bl}|Is], Acc0) ->
Acc = split_block(Bl, [], Acc0),
split_blocks(Is, Acc);