angr.utils.ssa¶
- class angr.utils.ssa.VVarUsesCollector
Bases:
AILBlockViewerCollect all uses of virtual variables and their use locations in an AIL block. Skip collecting use locations if block is not specified.
- __init__()
- vvar_and_uselocs: dict[int, list[tuple[VirtualVariable, AILCodeLocation]]]
- angr.utils.ssa.check_in_between_stmts(graph, blocks, defloc, useloc, predicate)¶
- Parameters:
graph (DiGraph)
defloc (AILCodeLocation)
useloc (AILCodeLocation)
predicate (Callable)
- angr.utils.ssa.get_tmp_deflocs(blocks)¶
- angr.utils.ssa.get_tmp_uselocs(blocks)¶
- angr.utils.ssa.get_vvar_deflocs(blocks, phi_vvars=None)¶
- Return type:
- Parameters:
- angr.utils.ssa.get_vvar_uselocs(blocks)¶
- Return type:
- angr.utils.ssa.has_call_in_between_stmts(graph, blocks, defloc, useloc, skip_if_contains_vvar=None)¶
- Return type:
- Parameters:
graph (DiGraph)
defloc (AILCodeLocation)
useloc (AILCodeLocation)
skip_if_contains_vvar (int | None)
- angr.utils.ssa.has_ite_expr(expr)¶
- Return type:
- Parameters:
expr (Expression)
- angr.utils.ssa.has_load_expr_in_between_stmts(graph, blocks, defloc, useloc, skip_if_contains_vvar=None)¶
- Return type:
- Parameters:
graph (DiGraph)
defloc (AILCodeLocation)
useloc (AILCodeLocation)
skip_if_contains_vvar (int | None)
- angr.utils.ssa.has_store_stmt_in_between_stmts(graph, blocks, defloc, useloc)¶
- Return type:
- Parameters:
graph (DiGraph)
defloc (AILCodeLocation)
useloc (AILCodeLocation)
- angr.utils.ssa.is_const_assignment(stmt, only_consts=False)¶
- angr.utils.ssa.is_const_vvar_load_dirty_assignment(stmt)¶
- angr.utils.ssa.is_vvar_eliminatable(vvar, def_stmt)¶
- Return type:
- Parameters:
vvar (VirtualVariable)
def_stmt (Statement | None)
Submodules