Package ghidra.pcode.emu.jit.analysis
Class JitDataFlowBlockAnalyzer
java.lang.Object
ghidra.pcode.emu.jit.analysis.JitDataFlowBlockAnalyzer
An encapsulation of the per-block data flow analysis done by
JitDataFlowModel
One of these is created for each basic block in the passage. This does both the intra-block analysis and encapsulates parts of the inter-block analysis. The class also contains and provides access to some of the analytic results.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionGet an ordered list of all values involved in the latest definition of the given register.Get an ordered list of all values involved in the latest definition of the given varnode.Get the latest definition of the given varnode, synthesizing ops is required.Get a complete catalog of all varnodes read, including overlapping, subregs, etc.Get a complete catalog of all varnodes written, including overlapping, subregs, etc.
-
Method Details
-
getVarnodesRead
Get a complete catalog of all varnodes read, including overlapping, subregs, etc.- Returns:
- the set of varnodes
-
getVarnodesWritten
Get a complete catalog of all varnodes written, including overlapping, subregs, etc.- Returns:
- the set of varnodes
-
getOutput
Get an ordered list of all values involved in the latest definition of the given varnode.- Parameters:
varnode
- the varnode whose definition(s) to retrieve- Returns:
- the list of values
- See Also:
-
getOutput
Get an ordered list of all values involved in the latest definition of the given register.- Parameters:
register
- the register whose definition(s) to retrieve- Returns:
- the list of values
- See Also:
-
getVar
Get the latest definition of the given varnode, synthesizing ops is required.NOTE: May produce phi nodes that need additional inter-block analysis
- Parameters:
vn
- the varnode- Returns:
- the latest definition for the block analyzed
- See Also:
-