refactored UnreachableCodeEliminator