angr.analyses.decompiler.optimization_passes.switch_reused_entry_rewriter

class angr.analyses.decompiler.optimization_passes.switch_reused_entry_rewriter.SwitchReusedEntryRewriter

Bases: OptimizationPass

For each switch-case construct (identified by jump tables), rewrite the entry into a goto block when we detect situations where an entry node is reused by edges in switch-case constructs that are not the current one. This code reuse is usually caused by compiler code deduplication.

ARCHES = None
PLATFORMS = None
STAGE: OptimizationPassStage = 0
NAME = 'Rewrite switch-case entry nodes with multiple predecessors into goto statements.'
DESCRIPTION = 'For each switch-case construct (identified by jump tables), rewrite the entry into a goto block when we detect\n    situations where an entry node is reused by edges in switch-case constructs that are not the current one. This code\n    reuse is usually caused by compiler code deduplication.'
__init__(*args, **kwargs)