瀏覽代碼

Use proper has_side_effect check for local dce.

Dan Korostelev 10 年之前
父節點
當前提交
08c8ea726b
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      analyzer.ml
  2. 1 1
      tests/unit/src/unit/TestDCE.hx

+ 1 - 1
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 ->

+ 1 - 1
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() { }