refactored DeadAssignmentEliminator