#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: