A | |
add [Register_gui.Highlighted_stmt] | |
add' [Pdg_aux.NS] | |
add_downward_call [Compute_impact] |
Add a downward call to the worklist the first time it is encountered.
|
add_to_do [Compute_impact] |
From now on, most functions will pass
init = false to add_to_do_aux .
|
add_to_do_aux [Compute_impact] |
Add some nodes to the
todo field of the worklist, while enforcing some
invariants.
|
add_to_do_part_of_initial [Compute_impact] |
Mark a new node as impacted, and simultaneouly mark that it is equivalent
to nodes that are all initial nodes
|
add_to_reason [Compute_impact] |
Add a new edge in the graph explaining the results
|
add_to_result [Compute_impact] |
Add a node to the sets of impacted nodes.
|
all_call_input_nodes [Pdg_aux] | all_call_input_nodes caller callee call_stmt find all the nodes
above call_stmt in the pdg of caller that define the inputs
of callee .
|
all_call_out_nodes [Pdg_aux] | all_call_out_nodes ~callee ~caller stmt find all the nodes of callee
that define the Call/Out nodes of caller for the call to callee
that occurs at stmt .
|
all_pragmas_kf [Register] | |
all_upward_callers [Compute_impact] |
Fill out the field
upward_calls of the worklist.
|
apply_on_stmt [Register_gui] | |
C | |
clear [State_builder.Ref] |
Reset the reference to its default value.
|
clear_caches [Hptset.S] |
Clear all the caches used internally by the functions of this module.
|
compute_from_nodes [Register] | |
compute_from_stmt [Register] | |
compute_multiple_stmts [Register] | |
compute_pragmas [Register] | |
contains_single_elt [Hptset.S] | |
copy [Datatype.S] |
Deep copy: no possible sharing between
x and copy x .
|
D | |
default_edge_attributes [Reason_graph.Printer] | |
default_vertex_attributes [Reason_graph.Printer] | |
diff [Pdg_aux.NS] | |
downward_calls_inputs [Compute_impact] |
Propagate impact for all calls registered in
downward_calls .
|
downward_one_call_inputs [Compute_impact] |
Propagate impact for one call registered in
downward_calls .
|
downward_one_call_node [Compute_impact] |
Propagate impact from node
node if it corresponds to a call statement.
|
dst [Reason_graph.Printer.E] | |
E | |
edge_attributes [Reason_graph.Printer] | |
empty [Reason_graph] | |
F | |
file_tree_decorate [Register_gui] | |
filter [Compute_impact] |
Auxiliary function, used to refuse some nodes that should not go in
the results
|
filter' [Pdg_aux.NS] | |
find_call_input_nodes [Pdg_aux] | find_call_input_nodes pdg_caller s ?z input find all the nodes of
pdg_caller that define the pdg input input above the call statement s .
|
find_default [Pdg_aux.NS] | |
fixpoint [Compute_impact] |
Make the worklist reach a fixpoint, by propagating all possible source of
impact as much as possible.
|
fold [Pdg_aux.NS] | |
for_all' [Pdg_aux.NS] | |
from_shape [Hptset.S] |
Build a set from another
elt -indexed map or set.
|
G | |
get [State_builder.Ref] |
Get the referenced value.
|
get_subgraph [Reason_graph.Printer] | |
graph_attributes [Reason_graph.Printer] | |
I | |
impact [Compute_impact] |
Impact of a set of nodes.
|
impact_graph_of_function [Register_gui] | |
impact_highlighter [Register_gui] | |
impact_in_kf [Register_gui] | |
impact_in_kf [Compute_impact] |
Nodes impacted in a given function
|
impact_panel [Register_gui] | |
impact_selector [Register_gui] | |
impact_statement [Register_gui] | |
impact_statement_ui [Register_gui] | |
in_kf [Reason_graph.AdditionalInfo] | |
initial_nodes [Compute_impact] |
To compute the impact of a statement, find the initial PDG nodes that must
be put in the worklist.
|
initial_nodes [Reason_graph.AdditionalInfo] | |
initial_to_do_list [Compute_impact] |
Build the initial value of the
todo field, from a list of initial nodes
|
initial_to_node_set [Compute_impact] | |
initial_worklist [Compute_impact] |
Compute the initial state of the worklist.
|
inter [Pdg_aux.NS] | |
intersects [Hptset.S] | intersects s1 s2 returns true if and only if s1 and s2
have an element in common
|
intersects [Pdg_aux.NS] | |
intraprocedural [Compute_impact] |
Empty the
todo field of the worklist by applying as many basic steps as
possible: intra-procedural steps, plus basic inter-procedural steps on
downward calls.
|
intraprocedural_one_node [Compute_impact] |
Purely intra-procedural propagation from one impacted node.
|
is_on [Options] | |
iter' [Pdg_aux.NS] | |
iter_edges_e [Reason_graph.Printer] | |
iter_vertex [Reason_graph.Printer] | |
K | |
keep_edge [Reason_graph.Printer] | |
kfmns_find_default [Compute_impact] | |
M | |
main [Register_gui] | |
main [Register] | |
make_type [Datatype.Hashtbl] | |
mem [Register_gui.Highlighted_stmt] | |
mem' [Pdg_aux.NS] | |
mem_kf [Register_gui.Highlighted_stmt] | |
memo [Datatype.Hashtbl] | memo tbl k f returns the binding of k in tbl .
|
N | |
node_kf [Reason_graph.Printer] | |
node_list_to_set [Pdg_aux] | |
node_to_skip [Compute_impact] |
return
true if the location in n is contained in skip , in which
case the node should be skipped entirely
|
nodes_impacted [Compute_impact] |
Impact of a list of PDG nodes as a set of nodes
|
nodes_impacted_by_nodes [Compute_impact] |
Impact of a list of PDG nodes coming from the same function
|
nodes_impacted_by_stmts [Compute_impact] |
Impact of a list stmts coming from the same function
|
nodes_origin [Reason_graph.AdditionalInfo] | |
nodes_to_stmts [Compute_impact] |
Transform a set of PDG nodes into a set of statements
|
P | |
pick [Compute_impact] |
Choose one node to process in the todo list, if one remains
|
pp_impact_on_inputs [Register_gui] | |
pp_impacted_call_outputs [Register_gui] | |
pp_stmt [Register] | |
pretty [Reason_graph.Printer.V] | |
pretty_info [Register_gui] | |
pretty_node [Pdg_aux] | |
print_dot_graph [Reason_graph] | |
print_reason [Reason_graph] | |
print_results [Register] | |
R | |
reason_graph_window [Register_gui] | |
remove' [Pdg_aux.NS] | |
remove_from_unimpacted_initial [Compute_impact] |
Mark that
n comes from an indirect impact, ie.
|
remove_unimpacted [Compute_impact] | |
result_by_kf [Compute_impact] |
Extract the current results for a given function
|
result_to_node_origin [Compute_impact] | |
result_to_nodes [Compute_impact] |
Transform the result of an analysis into a set of PDG nodes
|
S | |
set [State_builder.Ref] |
Change the referenced value.
|
set [Register_gui.SelectedStmt] | |
shape [Hptset.S] |
Export the shape of the set.
|
skip [Compute_impact] |
Computation of the
skip field from the -impact-skip option
|
skip_bases [Compute_impact] |
Computation of the
skip field from a list of variables
|
slice [Register] | |
something_to_do [Compute_impact] | |
src [Reason_graph.Printer.E] | |
stmts_impacted [Compute_impact] |
Impact of a list of statements as a set of statements
|
T | |
to_dot_file [Reason_graph] | |
U | |
unimpacted_initial_by_kf [Compute_impact] |
Extract the node of the kf that are only part of the initial impact
|
union [Pdg_aux.NS] | |
update_column [Register_gui] | |
upward_in_callers [Compute_impact] |
Upward propagation in all the callers.
|
V | |
vertex_attributes [Reason_graph.Printer] | |
vertex_name [Reason_graph.Printer] | |
Z | |
zone_restrict [Compute_impact] |