diff options
author | Anthony Ramine <[email protected]> | 2013-11-19 18:17:53 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2013-12-13 12:52:06 +0100 |
commit | 7bd678640d855ee9053d6d78434a98d977ad0f1f (patch) | |
tree | 540528a8fd7001ec3322972bd9e89267b15a49ce /lib/compiler/src/beam_flatten.erl | |
parent | 4df9a5ab0da9fed4ff67f99fdb191b56780bec0b (diff) | |
download | otp-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.erl | 1 |
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}; |