angr.analyses.decompiler.peephole_optimizations.remove_redundant_reinterprets¶
- class angr.analyses.decompiler.peephole_optimizations.remove_redundant_reinterprets.RemoveRedundantReinterprets¶
Bases:
PeepholeOptimizationExprBaseSimplify Reinterpret() expressions: nested and constant ones, the integer view VEX puts between a floating-point register and memory (
Reinterpret(I->F, Load): memory is untyped, the load carries the float), and a view whose consumer expects the original type (an integer operation onReinterpret(I->F, x)operates onx).- NAME = 'Simplifying nested, constant, and type-consistent Reinterprets'¶
- expr_classes = (<class 'angr.ailment.expression.Reinterpret'>, <class 'angr.ailment.expression.BinaryOp'>, <class 'angr.ailment.expression.UnaryOp'>, <class 'angr.ailment.expression.Convert'>)¶
- optimize(expr, **kwargs)¶
- Parameters:
expr (Reinterpret | BinaryOp | UnaryOp | Convert)