Browse Source

[analyzer] we can remove OpAssignOps too if the variable is not used

Simon Krajewski 10 years ago
parent
commit
926fb0106e
1 changed files with 1 additions and 1 deletions
  1. 1 1
      analyzer.ml

+ 1 - 1
analyzer.ml

@@ -1246,7 +1246,7 @@ module LocalDce = struct
 		let has_side_effect e = match e.eexpr with
 		let has_side_effect e = match e.eexpr with
 			| TVar(v,None) -> is_used v
 			| TVar(v,None) -> is_used v
 			| TVar(v,Some e1) -> is_used v || Optimizer.has_side_effect e1
 			| 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
+			| TBinop((OpAssign | OpAssignOp _),{eexpr = TLocal v},e2) -> is_used v || Optimizer.has_side_effect e2
 			| _ -> Optimizer.has_side_effect e
 			| _ -> Optimizer.has_side_effect e
 		in
 		in
 		let rec collect e = match e.eexpr with
 		let rec collect e = match e.eexpr with