#include <goto2graph.h>
|
virtual | ~cfg_visitort () |
|
| cfg_visitort (namespacet &_ns, instrumentert &_instrumenter) |
|
void | enter_function (const irep_idt &function_id) |
|
void | leave_function (const irep_idt &function_id) |
|
void | visit_cfg (value_setst &value_sets, memory_modelt model, bool no_dependencies, loop_strategyt duplicate_body, const irep_idt &function_id) |
|
virtual void | visit_cfg_function (value_setst &value_sets, memory_modelt model, bool no_dependencies, loop_strategyt duplicate_body, const irep_idt &function_id, std::set< nodet > &ending_vertex) |
| TODO: move the visitor outside, and inherit. More...
|
|
bool | local (const irep_idt &i) |
|
|
bool | contains_shared_array (const irep_idt &function_id, goto_programt::const_targett targ, goto_programt::const_targett i_it, value_setst &value_sets) const |
|
void | visit_cfg_thread () const |
|
void | visit_cfg_propagate (goto_programt::instructionst::iterator i_it) |
|
void | visit_cfg_body (const irep_idt &function_id, const goto_programt &goto_program, goto_programt::const_targett i_it, loop_strategyt replicate_body, value_setst &value_sets) |
| strategy: fwd/bwd alternation More...
|
|
void | visit_cfg_backedge (goto_programt::const_targett targ, goto_programt::const_targett i_it) |
| strategy: fwd/bwd alternation More...
|
|
void | visit_cfg_duplicate (const goto_programt &goto_program, goto_programt::const_targett targ, goto_programt::const_targett i_it) |
|
void | visit_cfg_assign (value_setst &value_sets, const irep_idt &function_id, goto_programt::instructionst::iterator &i_it, bool no_dependencies) |
|
void | visit_cfg_fence (goto_programt::instructionst::iterator i_it, const irep_idt &function_id) |
|
void | visit_cfg_skip (goto_programt::instructionst::iterator i_it) |
|
void | visit_cfg_lwfence (goto_programt::instructionst::iterator i_it, const irep_idt &function_id) |
|
void | visit_cfg_asm_fence (goto_programt::instructionst::iterator i_it, const irep_idt &function_id) |
|
void | visit_cfg_function_call (value_setst &value_sets, goto_programt::instructionst::iterator i_it, memory_modelt model, bool no_dependenciess, loop_strategyt duplicate_body) |
|
void | visit_cfg_goto (const irep_idt &function_id, const goto_programt &goto_program, goto_programt::instructionst::iterator i_it, loop_strategyt replicate_body, value_setst &value_sets) |
|
void | visit_cfg_reference_function (irep_idt id_function) |
| references the first and last edges of the function More...
|
|
Definition at line 86 of file goto2graph.h.
◆ id2node_pairt
◆ id2nodet
◆ incoming_post
◆ nodet
◆ ~cfg_visitort()
virtual instrumentert::cfg_visitort::~cfg_visitort |
( |
| ) |
|
|
inlinevirtual |
◆ cfg_visitort()
◆ contains_shared_array()
◆ enter_function()
void instrumentert::cfg_visitort::enter_function |
( |
const irep_idt & |
function_id | ) |
|
|
inline |
◆ leave_function()
void instrumentert::cfg_visitort::leave_function |
( |
const irep_idt & |
function_id | ) |
|
|
inline |
◆ local()
bool instrumentert::cfg_visitort::local |
( |
const irep_idt & |
i | ) |
|
|
inline |
◆ visit_cfg()
◆ visit_cfg_asm_fence()
void instrumentert::cfg_visitort::visit_cfg_asm_fence |
( |
goto_programt::instructionst::iterator |
i_it, |
|
|
const irep_idt & |
function_id |
|
) |
| |
|
protected |
◆ visit_cfg_assign()
void instrumentert::cfg_visitort::visit_cfg_assign |
( |
value_setst & |
value_sets, |
|
|
const irep_idt & |
function_id, |
|
|
goto_programt::instructionst::iterator & |
i_it, |
|
|
bool |
no_dependencies |
|
) |
| |
|
protected |
◆ visit_cfg_backedge()
◆ visit_cfg_body()
◆ visit_cfg_duplicate()
◆ visit_cfg_fence()
void instrumentert::cfg_visitort::visit_cfg_fence |
( |
goto_programt::instructionst::iterator |
i_it, |
|
|
const irep_idt & |
function_id |
|
) |
| |
|
protected |
◆ visit_cfg_function()
TODO: move the visitor outside, and inherit.
- Parameters
-
value_sets | Value_sets and options |
model | Memory model |
no_dependencies | Option to disable dependency analysis |
duplicate_body | Control which loop body segments should be duplicated |
function_id | Function to analyse |
ending_vertex | Outcoming edges |
Definition at line 148 of file goto2graph.cpp.
◆ visit_cfg_function_call()
void instrumentert::cfg_visitort::visit_cfg_function_call |
( |
value_setst & |
value_sets, |
|
|
goto_programt::instructionst::iterator |
i_it, |
|
|
memory_modelt |
model, |
|
|
bool |
no_dependenciess, |
|
|
loop_strategyt |
duplicate_body |
|
) |
| |
|
protected |
◆ visit_cfg_goto()
◆ visit_cfg_lwfence()
void instrumentert::cfg_visitort::visit_cfg_lwfence |
( |
goto_programt::instructionst::iterator |
i_it, |
|
|
const irep_idt & |
function_id |
|
) |
| |
|
protected |
◆ visit_cfg_propagate()
void instrumentert::cfg_visitort::visit_cfg_propagate |
( |
goto_programt::instructionst::iterator |
i_it | ) |
|
|
inlineprotected |
◆ visit_cfg_reference_function()
void instrumentert::cfg_visitort::visit_cfg_reference_function |
( |
irep_idt |
id_function | ) |
|
|
inlineprotected |
references the first and last edges of the function
Definition at line 316 of file goto2graph.cpp.
◆ visit_cfg_skip()
void instrumentert::cfg_visitort::visit_cfg_skip |
( |
goto_programt::instructionst::iterator |
i_it | ) |
|
|
protected |
◆ visit_cfg_thread()
void instrumentert::cfg_visitort::visit_cfg_thread |
( |
| ) |
const |
|
protected |
◆ coming_from
unsigned instrumentert::cfg_visitort::coming_from |
|
protected |
◆ current_thread
unsigned instrumentert::cfg_visitort::current_thread |
|
protected |
◆ data_dp
data_dpt instrumentert::cfg_visitort::data_dp |
◆ egraph
◆ egraph_alt
wmm_grapht& instrumentert::cfg_visitort::egraph_alt |
|
protected |
◆ egraph_SCCs
std::vector<std::set<event_idt> >& instrumentert::cfg_visitort::egraph_SCCs |
|
protected |
◆ fr_rf_counter
unsigned instrumentert::cfg_visitort::fr_rf_counter |
◆ functions_met
std::set<irep_idt> instrumentert::cfg_visitort::functions_met |
◆ in_pos
◆ instrumenter
◆ map_reads
id2nodet instrumentert::cfg_visitort::map_reads |
◆ map_writes
id2nodet instrumentert::cfg_visitort::map_writes |
◆ max_thread
unsigned instrumentert::cfg_visitort::max_thread |
◆ ns
◆ out_pos
◆ read_counter
unsigned instrumentert::cfg_visitort::read_counter |
◆ thread
unsigned instrumentert::cfg_visitort::thread |
◆ unknown_read_nodes
std::set<event_idt> instrumentert::cfg_visitort::unknown_read_nodes |
◆ unknown_write_nodes
std::set<event_idt> instrumentert::cfg_visitort::unknown_write_nodes |
◆ updated
◆ write_counter
unsigned instrumentert::cfg_visitort::write_counter |
◆ ws_counter
unsigned instrumentert::cfg_visitort::ws_counter |
The documentation for this class was generated from the following files:
- /home/runner/work/cbmc/cbmc/src/goto-instrument/wmm/goto2graph.h
- /home/runner/work/cbmc/cbmc/src/goto-instrument/wmm/goto2graph.cpp