From 758f836bf6c742f7048234a0102945db52874125 Mon Sep 17 00:00:00 2001 From: Ulf Norell Date: Tue, 9 Apr 2019 10:52:39 +0200 Subject: [PATCH] Remove optimization for if-then-else --- src/aeso_fcode_to_fate.erl | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/aeso_fcode_to_fate.erl b/src/aeso_fcode_to_fate.erl index f141dea..915c646 100644 --- a/src/aeso_fcode_to_fate.erl +++ b/src/aeso_fcode_to_fate.erl @@ -536,8 +536,7 @@ apply_rules_once([{RName, Rule} | Rules], I, Code) -> merge_rules() -> [?RULE(r_push_consume), ?RULE(r_one_shot_var), - ?RULE(r_write_to_dead_var), - ?RULE(r_write_single_branch) + ?RULE(r_write_to_dead_var) ]. rules() -> @@ -675,22 +674,6 @@ r_write_to_dead_var({Ann, {'STORE', R = {var, _}, A}}, Code) when A /= ?a -> end; r_write_to_dead_var(_, _) -> false. -%% Push variable writes that are only needed in a single branch inside the branch. -r_write_single_branch(IA = {_Ann, I}, [{ifte, Then = [{AnnThen, _} | _], Else = [{AnnElse, _} | _]} | Code]) -> - #{ write := R } = attributes(I), - case R of - {var, _} -> - case {live_in(R, AnnThen), live_in(R, AnnElse)} of - {true, false} -> - {[], [{ifte, [IA | Then], Else} | Code]}; - {false, true} -> - {[], [{ifte, Then, [IA | Else]} | Code]}; - _ -> false - end; - _ -> false - end; -r_write_single_branch(_, _) -> false. - %% Desugar and specialize and remove annotations unannotate(switch_body) -> [switch_body];