refactored DeadAssignmentEliminator

could be a bit faster than the old one