aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_flatten.erl
diff options
context:
space:
mode:
authorAnthony Ramine <[email protected]>2013-11-19 18:17:53 +0100
committerBjörn Gustavsson <[email protected]>2013-12-13 12:52:06 +0100
commit7bd678640d855ee9053d6d78434a98d977ad0f1f (patch)
tree540528a8fd7001ec3322972bd9e89267b15a49ce /lib/compiler/src/beam_flatten.erl
parent4df9a5ab0da9fed4ff67f99fdb191b56780bec0b (diff)
downloadotp-7bd678640d855ee9053d6d78434a98d977ad0f1f.tar.gz
otp-7bd678640d855ee9053d6d78434a98d977ad0f1f.tar.bz2
otp-7bd678640d855ee9053d6d78434a98d977ad0f1f.zip
Collect all optimised allocate instructions in beam_block
Any init instruction following an allocate is put in the Inits list of the corresponding alloc tuple.
Diffstat (limited to 'lib/compiler/src/beam_flatten.erl')
-rw-r--r--lib/compiler/src/beam_flatten.erl1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_flatten.erl b/lib/compiler/src/beam_flatten.erl
index 25428c0c10..5603a677e8 100644
--- a/lib/compiler/src/beam_flatten.erl
+++ b/lib/compiler/src/beam_flatten.erl
@@ -51,6 +51,7 @@ norm_block([], Acc) -> Acc.
norm({set,[D],As,{bif,N,F}}) -> {bif,N,F,As,D};
norm({set,[D],As,{alloc,R,{gc_bif,N,F}}}) -> {gc_bif,N,F,R,As,D};
+norm({set,[D],[],init}) -> {init,D};
norm({set,[D],[S],move}) -> {move,S,D};
norm({set,[D],[S],fmove}) -> {fmove,S,D};
norm({set,[D],[S],fconv}) -> {fconv,S,D};