瀏覽代碼

[analyzer] remove assignments to unused vars without side-effects as well so we do not end up with block-level TFunction nodes

Simon Krajewski 11 年之前
父節點
當前提交
7127604b53
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      analyzer.ml

+ 1 - 0
analyzer.ml

@@ -1007,6 +1007,7 @@ module LocalDce = struct
 		let has_side_effect e = match e.eexpr with
 			| 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
 		in
 		let rec collect e = match e.eexpr with