#include <dependence_graph.h>
+ Inheritance diagram for dependence_grapht:
+ Collaboration diagram for dependence_grapht:
Initialize all the abstract states for a whole program.
Initialize all the abstract states for a single function.
Override this to add a cleanup or post-processing step after fixedpoint has run.
Find the analysis result for a given location.
- Public Member Functions inherited from
ai_baset
Run abstract interpretation on a single function.
Run abstract interpretation on a whole program.
Run abstract interpretation on a whole program.
Run abstract interpretation on a single function.
Returns all of the histories that have reached the start of the instruction.
Returns all of the histories that have reached the end of the instruction.
Get a copy of the abstract state before the given instruction, without needing to know what kind of domain or history is used.
Get a copy of the abstract state after the given instruction, without needing to know what kind of domain or history is used.
The same interfaces but with histories.
Reset the abstract state.
Output the abstract states for a single function.
Output the abstract states for a single function as JSON.
Output the abstract states for a single function as XML.
Output the abstract states for a whole program.
Output the abstract states for a whole program.
Output the abstract states for a function.
Output the abstract states for the whole program as JSON.
Output the abstract states for a whole program as JSON.
Output the abstract states for a single function as JSON.
Output the abstract states for a single function as JSON.
Output the abstract states for the whole program as XML.
Output the abstract states for the whole program as XML.
Output the abstract states for a single function as XML.
Output the abstract states for a single function as XML.
Run depth-first search on the graph, starting from a single source node.
Run depth-first search on the graph, starting from multiple source nodes.
Removes any edges between nodes in a graph that are unreachable from a given start node.
Removes any edges between nodes in a graph that are unreachable from a vector of start nodes.
Run recursive depth-limited search on the graph, starting from multiple source nodes, to find the nodes reachable within n steps.
Run recursive depth-limited search on the graph, starting from multiple source nodes, to find the nodes reachable within n steps.
Ensure a graph is chordal (contains no 4+-cycles without an edge crossing the cycle) by adding extra edges.
Find connected subgraphs in an undirected graph.
Computes strongly-connected components of a graph and yields a vector expressing a mapping from nodes to components indices.
Find a topological order of the nodes if graph is DAG, return empty list for non-DAG or empty graph.
- Protected Attributes inherited from
ai_baset
For creating history objects.
For creating domain objects.
Additional Inherited Members
- Protected Types inherited from
ai_baset
The work queue, sorted using the history's ordering operator.
Get the state for the given history, creating it with the factory if it doesn't exist.
- Protected Member Functions inherited from
ai_baset
Initialize all the abstract states for a single function.
Set the abstract state of the entry location of a single function to the entry state required by the analysis.
Set the abstract state of the entry location of a whole program to the entry state required by the analysis.
Get the next location from the work queue.
Run the fixedpoint algorithm until it reaches a fixed point.
Perform one step of abstract interpretation from trace t Depending on the instruction type it may compute a number of "edges" or applications of the abstract transformer.
Merge the state src, flowing from tracet from to tracet to, into the state currently stored for tracet to.
Make a copy of a state.
Run recursive depth-limited search on the graph, starting from multiple source nodes, to find the nodes reachable within n steps.
Detailed Description
Member Typedef Documentation
◆ post_dominators_mapt
Constructor & Destructor Documentation
◆ dependence_grapht()
Member Function Documentation
◆ add_dep()
◆ cfg_post_dominators()
◆ finalize()
void dependence_grapht::finalize
(
)
inlinevirtual
Override this to add a cleanup or post-processing step after fixedpoint has run.
Reimplemented from ai_baset.
Definition at line 264 of file dependence_graph.h.
◆ initialize() [1/2]
Initialize all the abstract states for a whole program.
Override this to do custom per-analysis initialization.
Reimplemented from ai_baset.
Definition at line 230 of file dependence_graph.h.
◆ initialize() [2/2]
Initialize all the abstract states for a single function.
Override this to do custom per-domain initialization.
Reimplemented from ai_baset.
Definition at line 246 of file dependence_graph.h.
◆ reaching_definitions()
Member Data Documentation
◆ dep_graph_domain_factoryt
friend dependence_grapht::dep_graph_domain_factoryt
protected
◆ dep_graph_domaint
friend dependence_grapht::dep_graph_domaint
protected
◆ end_function_map
◆ ns
◆ post_dominators
◆ rd
The documentation for this class was generated from the following files: