00001 #ifndef EVENT_CONFLICT_TABLE_H_INCLUDED_ 00002 #define EVENT_CONFLICT_TABLE_H_INCLUDED_ 00003 00004 #include "rose.h" 00005 00006 #include "conflict_table.h" 00007 #include "mapped_variable.h" 00008 #include "port_call_path.h" 00009 00010 namespace risc { 00011 00012 class PathInstanceMapper; 00013 00014 namespace sg { 00015 00016 class SegmentGraph; 00017 00029 class EventConflictTable: public ConflictTable { 00030 00031 public: 00032 00036 EventConflictTable( 00037 SegmentGraph &graph, 00038 PathInstanceMapper *path_instance_mapper, 00039 bool debugging); 00040 00046 std::list<risc::sg::MappedVariable> 00047 get_all_list_events_statically(SgSymbol *sc_event_list, int instance_id, PortCallPath pcp); 00048 00054 std::list<risc::sg::MappedVariable> 00055 get_all_list_events_dynamically( 00056 SgVariableSymbol *sc_event_list, 00057 int instance_id); 00058 00063 virtual void determine_conflict_table(); 00064 00070 std::list<risc::sg::MappedVariable> 00071 determine_mapped_events( 00072 std::list<SymbolWithPath> &event_list, 00073 int instance_id, 00074 bool dynamic_analysis); 00075 }; 00076 00077 }; // end of namesapce sg 00078 00079 }; // end of namespace risc 00080 00081 00082 #endif /* EVENT_CONFLICT_TABLE_H_INCLUDED_ */ 00083 00084 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */