#include <event_graph.h>
|
| virtual | ~graph_explorert () |
| |
| | graph_explorert (event_grapht &_egraph, unsigned _max_var, unsigned _max_po_trans) |
| |
| critical_cyclet | extract_cycle (event_idt vertex, event_idt source, unsigned number_of_cycles) |
| | extracts a (whole, unreduced) cycle from the stack. More...
|
| |
| bool | backtrack (std::set< critical_cyclet > &set_of_cycles, event_idt source, event_idt vertex, bool unsafe_met, event_idt po_trans, bool same_var_pair, bool lwsync_met, bool has_to_be_unsafe, irep_idt var_to_avoid, memory_modelt model) |
| | see event_grapht::collect_cycles More...
|
| |
| void | collect_cycles (std::set< critical_cyclet > &set_of_cycles, memory_modelt model) |
| | Tarjan 1972 adapted and modified for events. More...
|
| |
Definition at line 249 of file event_graph.h.
◆ ~graph_explorert()
| virtual event_grapht::graph_explorert::~graph_explorert |
( |
| ) |
|
|
inlinevirtual |
◆ graph_explorert()
| event_grapht::graph_explorert::graph_explorert |
( |
event_grapht & |
_egraph, |
|
|
unsigned |
_max_var, |
|
|
unsigned |
_max_po_trans |
|
) |
| |
|
inline |
◆ backtrack()
◆ collect_cycles()
◆ extract_cycle()
extracts a (whole, unreduced) cycle from the stack.
Note: it may not be a real cycle yet – we cannot check the size before a call to this function.
Definition at line 119 of file cycle_collection.cpp.
◆ filter_thin_air()
| void event_grapht::graph_explorert::filter_thin_air |
( |
std::set< critical_cyclet > & |
set_of_cycles | ) |
|
|
protected |
after the collection, eliminates the executions forbidden by an indirect thin-air
Definition at line 20 of file cycle_collection.cpp.
◆ filtering()
| virtual bool event_grapht::graph_explorert::filtering |
( |
event_idt |
| ) |
|
|
inlineprotectedvirtual |
◆ order_filtering()
| virtual std::list<event_idt>* event_grapht::graph_explorert::order_filtering |
( |
std::list< event_idt > * |
order | ) |
|
|
inlineprotectedvirtual |
◆ cycle_nb
| unsigned event_grapht::graph_explorert::cycle_nb |
|
protected |
◆ egraph
◆ events_per_thread
| std::map<unsigned, unsigned char> event_grapht::graph_explorert::events_per_thread |
|
protected |
◆ mark
| std::map<event_idt, bool> event_grapht::graph_explorert::mark |
◆ marked_stack
| std::stack<event_idt> event_grapht::graph_explorert::marked_stack |
◆ max_po_trans
| unsigned event_grapht::graph_explorert::max_po_trans |
|
protected |
◆ max_var
| unsigned event_grapht::graph_explorert::max_var |
|
protected |
◆ point_stack
| std::stack<event_idt> event_grapht::graph_explorert::point_stack |
◆ reads_per_variable
| std::map<irep_idt, unsigned char> event_grapht::graph_explorert::reads_per_variable |
|
protected |
◆ skip_tracked
| std::set<event_idt> event_grapht::graph_explorert::skip_tracked |
◆ thin_air_events
| std::set<event_idt> event_grapht::graph_explorert::thin_air_events |
|
protected |
◆ writes_per_variable
| std::map<irep_idt, unsigned char> event_grapht::graph_explorert::writes_per_variable |
|
protected |
The documentation for this class was generated from the following files:
- /home/runner/work/cbmc-documentation/cbmc-documentation/src/goto-instrument/wmm/event_graph.h
- /home/runner/work/cbmc-documentation/cbmc-documentation/src/goto-instrument/wmm/cycle_collection.cpp