diff options
author | Erlang/OTP <otp@erlang.org> | 2010-04-20 12:49:27 +0000 |
---|---|---|
committer | Erlang/OTP <otp@erlang.org> | 2010-04-20 12:49:27 +0000 |
commit | 8d1088d461c46211ff91eb21e9470e85f4bdc29c (patch) | |
tree | 785bc2974f253130e970c244798c5967f7faade5 /lib | |
parent | 09ca69e2247860fb5494297279c8819a34777cc6 (diff) | |
parent | e965d90b5fe84fcb519ab8a8d41f7c0acb4c4c68 (diff) | |
download | otp-8d1088d461c46211ff91eb21e9470e85f4bdc29c.tar.gz otp-8d1088d461c46211ff91eb21e9470e85f4bdc29c.tar.bz2 otp-8d1088d461c46211ff91eb21e9470e85f4bdc29c.zip |
Merge branch 'bg/compiler-fmove-opt' into dev
* bg/compiler-fmove-opt:
beam_type: Improve coalescing of fmove/2 and move/2 instructions
Diffstat (limited to 'lib')
-rw-r--r-- | lib/compiler/src/beam_type.erl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/compiler/src/beam_type.erl b/lib/compiler/src/beam_type.erl index 66c8816409..3729ccb0da 100644 --- a/lib/compiler/src/beam_type.erl +++ b/lib/compiler/src/beam_type.erl @@ -183,7 +183,7 @@ simplify_float_1([], Ts, Rs, Acc0) -> {Is,Ts}. opt_fmoves([{set,[{x,_}=R],[{fr,_}]=Src,fmove}=I1, - {set,[{y,_}]=Dst,[{x,_}=R],move}=I2|Is], Acc) -> + {set,[_]=Dst,[{x,_}=R],move}=I2|Is], Acc) -> case beam_utils:is_killed_block(R, Is) of false -> opt_fmoves(Is, [I2,I1|Acc]); true -> opt_fmoves(Is, [{set,Dst,Src,fmove}|Acc]) |