From 08c8ea726bb98ced26f27916f2ce304fa212c0e4 Mon Sep 17 00:00:00 2001 From: Dan Korostelev Date: Mon, 15 Dec 2014 19:47:57 +0300 Subject: [PATCH] Use proper has_side_effect check for local dce. --- analyzer.ml | 2 +- tests/unit/src/unit/TestDCE.hx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/analyzer.ml b/analyzer.ml index fa671f0b85c..4a555984e37 100644 --- a/analyzer.ml +++ b/analyzer.ml @@ -1244,7 +1244,7 @@ module LocalDce = struct | TVar(v,None) -> is_used v | TVar(v,Some e1) -> is_used v || Optimizer.has_side_effect e1 | TBinop(OpAssign,{eexpr = TLocal v},e2) -> is_used v || Optimizer.has_side_effect e2 - | _ -> true + | _ -> Optimizer.has_side_effect e in let rec collect e = match e.eexpr with | TLocal v -> diff --git a/tests/unit/src/unit/TestDCE.hx b/tests/unit/src/unit/TestDCE.hx index aab2b501a0f..06a47379937 100644 --- a/tests/unit/src/unit/TestDCE.hx +++ b/tests/unit/src/unit/TestDCE.hx @@ -1,6 +1,6 @@ package unit; -@:analyzer(no_check_has_effect) +@:analyzer(no_check_has_effect, no_local_dce) class DCEClass { // used statics static function staticUsed() { }