risc::sg::Segment Class Reference

#include <segment.h>

Collaboration diagram for risc::sg::Segment:
Collaboration graph
[legend]

List of all members.

Public Types

enum  ERead { NonRead = 0, Read = 1 }
enum  EWrite { NonWrite = 0, Write = 1 }
enum  Status { Untouched = 0, Touched = 1 }
typedef std::list< NodeWithPathExpressions

Public Member Functions

 Segment (SgNode *boundary_node, bool inlined_segment, int psg_id_=0, bool is_fake_segment_=false, bool is_simulation_process_segment_=false)
 Segment (const Segment &other)
void analyze_segment ()
void analyze_expression (SgNode *expression, ERead read, EWrite write, PortCallPath pcp)
void add_expression (NodeWithPath nwp)
bool operator== (const Segment &other)
void merge (const Segment &other)
Time get_min_waiting_time ()
 This function determines the minimal waiting time for this segment.

Public Attributes

std::string module_name
bool is_fake_segment
bool is_simulation_process_segment
int relative_seg_id
std::string starting_segment_for_function
std::string leaving_segment_for_function
std::string fake_segment_function_call_name
int psg_id
std::vector< SgVariableSymbol * > wait_event_symbols
std::vector< SgVariableSymbol * > notify_event_symbols
int node_id_
boost::default_color_type color
Status color_for_communication_graph_
Status helper_for_graph_algorithms_
Expressions expressions_
bool debugging_
bool inlined_segment_
bool is_channel_segment_
int wait_offset_
std::set< Conflictconflicts_
PortCallPath pcp_
 To identify segments which belong to segments.
int id_
 This is the unique id of the segment.
SgNode * boundary_node_
 This is the associated boundary of the segment.
boost::default_color_type color_
 This color is used for some boost algorithms.
std::list< SymbolWithPathread_variables_
 Set of all SgVariableSymbol which are read in this segment.
std::list< SymbolWithPathwrite_variables_
 Set of all SgVariableSymbol which are written in this segment.
bool calls_conflict_function_
 This segment calls a function with is marked as conflict.
bool deref_pointer_read_
bool deref_pointer_write_
bool waits_for_time_

Static Public Attributes

static int node_counter = 0
static int id_counter = 0
 This static counter will be used to generate id's for the individual segments.

Private Member Functions

bool waits_for_time ()
 This functions determines if a function waits for time The related flag waits_for_time_ will be set during construction.

Friends

std::ostream & operator<< (std::ostream &out, const Segment &segment)

Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
NonRead 
Read 
Enumerator:
NonWrite 
Write 
Enumerator:
Untouched 
Touched 

Constructor & Destructor Documentation

risc::sg::Segment::Segment ( SgNode *  boundary_node,
bool  inlined_segment,
int  psg_id_ = 0,
bool  is_fake_segment_ = false,
bool  is_simulation_process_segment_ = false 
)
risc::sg::Segment::Segment ( const Segment other  ) 

Member Function Documentation

void risc::sg::Segment::add_expression ( NodeWithPath  nwp  ) 
void risc::sg::Segment::analyze_expression ( SgNode *  expression,
ERead  read,
EWrite  write,
PortCallPath  pcp 
)
void risc::sg::Segment::analyze_segment (  ) 
risc::sg::Segment::get_min_waiting_time (  ) 

This function determines the minimal waiting time for this segment.

void risc::sg::Segment::merge ( const Segment other  ) 
bool risc::sg::Segment::operator== ( const Segment other  ) 
risc::sg::Segment::waits_for_time (  )  [private]

This functions determines if a function waits for time The related flag waits_for_time_ will be set during construction.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const Segment segment 
) [friend]

Member Data Documentation

This is the associated boundary of the segment.

This segment calls a function with is marked as conflict.

boost::default_color_type risc::sg::Segment::color
boost::default_color_type risc::sg::Segment::color_

This color is used for some boost algorithms.

This is the unique id of the segment.

This static counter will be used to generate id's for the individual segments.

std::vector<SgVariableSymbol*> risc::sg::Segment::notify_event_symbols

To identify segments which belong to segments.

Set of all SgVariableSymbol which are read in this segment.

std::vector<SgVariableSymbol*> risc::sg::Segment::wait_event_symbols

Set of all SgVariableSymbol which are written in this segment.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jun 2018 by  doxygen 1.6.1