angr.analyses.decompiler.redundant_label_remover¶
- class angr.analyses.decompiler.redundant_label_remover.RedundantLabelRemover¶
Bases:
objectRemove redundant labels.
This optimization pass contains two separate passes. The first pass (self._walker0) finds all redundant labels (e.g., two or more labels for the same location) and records the replacement label for redundant labels in self._new_jump_target. The second pass (self._walker1) removes all redundant labels that (a) are not referenced anywhere (determined by jump_targets), or (b) are deemed replaceable by the first pass.