aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-11-08 11:25:22 +0100
committerBjörn Gustavsson <[email protected]>2011-11-08 11:25:22 +0100
commit12a5e61df498ec80383514ca79b795c40522e19a (patch)
treee6ca46b1276b75ab125182e2fe7ec08f8e974127 /lib
parent4a67884525973f104e9b05ea80bc16ffc71fada8 (diff)
parent841ef48db4b8df0e8a057d5d006e10c3b7e4f325 (diff)
downloadotp-12a5e61df498ec80383514ca79b795c40522e19a.tar.gz
otp-12a5e61df498ec80383514ca79b795c40522e19a.tar.bz2
otp-12a5e61df498ec80383514ca79b795c40522e19a.zip
Merge branch 'bjorn/line-numbers/OTP-9468'
* bjorn/line-numbers/OTP-9468: beam_type: Improve FP optimizations in the presence of line numbers
Diffstat (limited to 'lib')
-rw-r--r--lib/compiler/src/beam_type.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_type.erl b/lib/compiler/src/beam_type.erl
index 7fdb8d072a..0c51251f1b 100644
--- a/lib/compiler/src/beam_type.erl
+++ b/lib/compiler/src/beam_type.erl
@@ -168,6 +168,8 @@ simplify_float_1([{set,[D0],[A,B],{alloc,_,{gc_bif,Op0,{f,0}}}}=I|Is]=Is0, Ts0,
simplify_float_1([{set,_,_,{'catch',_}}=I|Is]=Is0, _Ts, Rs0, Acc0) ->
Acc = flush_all(Rs0, Is0, Acc0),
simplify_float_1(Is, tdb_new(), Rs0, [I|Acc]);
+simplify_float_1([{set,_,_,{line,_}}=I|Is], Ts, Rs, Acc) ->
+ simplify_float_1(Is, Ts, Rs, [I|Acc]);
simplify_float_1([I|Is]=Is0, Ts0, Rs0, Acc0) ->
Ts = update(I, Ts0),
{Rs,Acc} = flush(Rs0, Is0, Acc0),