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] |