|
Public Member Functions |
| void | Calculate_Segment_Times () |
| | Recursively calculates the start time with respect to the start of the segment, end time from start of segment, and the duration of the segment.
|
| | CCDGNode () |
| virtual | ~CCDGNode () |
| | CCDGNode (CCDGNode &orig, CCDGNode &parent) |
| CCDGNode * | Copy_Derived (CCDGNode &parent) |
| | CCDGNode (char *name) |
| bool | Check (void) |
| void | Add_Aliases (CLabelList *alias_list) |
| CStringList * | Get_Aliases () |
| void | PreTraverse_C_C (char *(*func)(char *, const char *), const char *char_arg) |
| void | TraverseMethod_V_N (void(*func)(CCDGNode *), bool pre) |
| void | TraverseMethod_V_N_N (void(*func)(CCDGNode *, CCDGNode *), CCDGNode *node_arg, bool pre) |
| void | Set_Name (char *name) |
| char * | Get_Name () |
| char * | Get_Type_String () |
| void | Print_Name_And_Type (ostream &s) |
| void | Append_Suffix_To_Name (char *str) |
| void | Append_Suffix_To_Name_For_Subgraph (const char *str) |
| void | Append_Numbered_Suffix_To_Name (char *str, int n) |
| void | Find_Blocking_IO_Loops () |
| void | Fix_Branch_Targets () |
| void | Fix_Short_Branches () |
| void | Label_Node (float *next_section) |
| void | Label_This_Node (CCDGNode *prev_node) |
| void | Append_LabelCell (TRUTH_VALUE_TYPE tv, float section, float section_end) |
| void | Set_Label (char *label) |
| CLabelCell * | Get_Label () |
| int | Get_Size () |
| int | Get_SubgraphSize () |
| virtual void | Set_Size (void) |
| void | Set_Size (int s) |
| CCDGNode * | Get_Parent () |
| void | Set_Parent (CCDGNode *parent) |
| void | Add_Child (CCDGNode *child, TRUTH_VALUE_TYPE tv, int hg_select=INVALID) |
| void | Add_Children (CCDGNodeList *children, TRUTH_VALUE_TYPE tv, int hg_select=INVALID) |
| void | Add_Child (char *name, NODE_TYPE type, TRUTH_VALUE_TYPE tv) |
| CCDGNode * | Clone_Child (CCDGNode *orig_child, CCDGNode *ref, POS_TYPE pos, TRUTH_VALUE_TYPE tv=TV_A) |
| bool | Insert_Child (CCDGNode *new_child, CCDGNode *ref, bool before) |
| void | Insert_Children (CCDGNodeList *new_children, CCDGNode *ref, bool before) |
| void | Insert_Padding_Children (char *name_base, long cycles, TRUTH_VALUE_TYPE side, bool delay_loop_ok) |
| CCDGNodeList * | Get_Children () |
| CCDGNodeList * | Get_First_Child (TRUTH_VALUE_TYPE tv=TV_ANY) |
| CCDGNodeList * | Get_Last_Child (TRUTH_VALUE_TYPE tv=TV_ANY, int hg_sel=INVALID) |
| bool | Remove_Child (CCDGNode *victim) |
| bool | Move_Child (CCDGNode *mover, bool to_end) |
| void | Find_Children (CCDGNodeList *n) |
| bool | Copy_And_Integrate_Subgraph (int target_time, CCDGNodeList *new_code, int seg_num) |
| CCDGNode * | Find_Common_Ancestor (CCDGNode *n) |
| bool | Has_Ancestor (CCDGNode *n) |
| TRUTH_VALUE_TYPE | Find_Childs_TV (CCDGNode *n) |
| void | Pr_Children () |
| int | Get_Num_Children (TRUTH_VALUE_TYPE tv) |
| CCDGNode * | Get_Older_Sibling (bool in_same_loop=FALSE) |
| CCDGNode * | Get_Younger_Sibling (bool same_parent=FALSE) |
| CCDGNode * | Get_Older_Sibling (bool same_parent, int h_or_g, bool RT) |
| CCDGNode * | Get_Sibling_At (CTimeRange *t) |
| CLoop * | Get_Enclosing_Loop () |
| bool | Reaches (CCDGNode *that) |
| bool | Dominates (CCDGNode *that) |
| TRUTH_VALUE_TYPE | Find_TV () |
| CProc * | Get_Procedure () |
| void | Set_Procedure (CProc *p) |
| void | Set_Procedure_For_Subgraph (CProc *p) |
| int | Get_SerNum () |
| CTimeRange * | Get_Start () |
| CTimeRange * | Get_End () |
| CCDGNode * | Split (long when) |
| void | Set_Start (CTimeRange tr) |
| void | Set_TargetTime (long cy) |
| long | Get_TargetTime () |
| CTimeRange * | Get_Duration (bool include_unknown_loop_iter=FALSE) |
| void | Mark_as_Host () |
| void | Mark_as_Guest () |
| void | Mark_Subgraph_as_Guest () |
| void | Mark_HorG (int which) |
| int | Get_HorG () |
| bool | Is_Host () |
| bool | Is_Guest () |
| bool | Is_Program_Halt () |
| void | Mark_as_RT () |
| void | Mark_as_NRT () |
| bool | Get_RT () |
| bool | Is_RT () |
| bool | Is_NRT () |
| bool | Ends_In_Uncond_Branch () |
| CDir * | Get_PrecedingDirs () |
| CDir * | Get_FollowingDirs () |
| void | Add_PrecedingDir (char *text) |
| void | Add_FollowingDir (char *text) |
| void | Add_PrecedingDir (CDir *Directive) |
| void | Add_FollowingDir (CDir *Directive) |
| INT_OVHD_TYPE | Get_IntOvhdType () |
| void | Set_IntOvhdType (INT_OVHD_TYPE ov) |
| void | Mark_If_Discrete_Guest () |
| void | Gen_Graph (ofstream &ostream, int level) |
| void | Output_Debug (ostream &stream, bool do_full=TRUE) |
| void | Output_Code (ostream &stream) |
| void | Output_VCG (ostream &stream) |
| void | Pr_Info () |
| void | Pr_Name (bool t) |
| NODE_TYPE | Get_Type () |
| void | Set_Type (NODE_TYPE type) |
| void | Pr_Type () |
| void | Set_Visited (bool v) |
| bool | Get_Visited () |
| bool | Is_DFS_Visited () |
| void | Set_DFS_Visited () |
| void | Set_HorPos (int hp) |
| int | Get_HorPos () |
| void | Calculate_Node_Duration (bool include_guests=TRUE) |
| void | Calculate_Node_Start (CTimeRange *par_start, bool include_guests=TRUE) |
| | TODO: Put a description here.
|
| void | Find_Hosts (CTimeRange *Target, CGuestInfo *RII) |
| void | Delete_Following_Guests () |
| void | Delete_This_And_Following_Guests (void) |
| CLoop * | Find_First_Loop (long t_start, long t_stop) |
| void | Summarize_Register_DefUse_Info () |
| void | Find_Vars () |
| bool | Always_Defined (int reg) |
| CRegAccess * | Get_RegDef () |
| CRegAccess * | Get_RegUse () |
| CVar * | Find_Prev_Ref (int reg, CInstr *instr, bool local_instr, bool look_across_loop_back, bool skip_this_node) |
| void | Analyze_Instruction (CInstr *instr) |
| int | Get_NumInstrs () |
| long | Pad (long padding_needed) |
| void | Set_Node_Jump_Target (char *target) |
| void | Insert_Padding (char *name_base, long cycles, bool pad_before, bool delay_loop_ok) |
| CCDGNodeList * | Create_Padding_Nodes (char *name, long amount) |
| CCDGNode * | Get_Copy () |
| CCDGNode * | Get_Copy (CCDGNode *parent) |
| CCDGNode * | Get_Last_Copy () |
| CCDGNodeList * | Guard (int reg, int bit, bool skip_if_set, int cond_br_type) |
| CCDGNode * | Find_FSM_Loop () |
| void | Debug_Final_Step (int n, CCDGNode *parent, TRUTH_VALUE_TYPE tv) |
| CCDGNode * | Get_Sibling_Before (CCDGNode *node, bool before) |
| | This fucntion returns the pointer to the CCDGNode which is either the sibling before or after this node in the current tree hierarchy, depending on the whether before is true or false.
|
| void | Embed_CSource () |
Public Attributes |
| std::string * | Pre_Comments |
| std::string * | Post_Comments |
Protected Attributes |
| char | Name [STR_SIZE] |
| | Name of this node (basic block label).
|
| CStringList * | Aliases |
| | Other names for the node (for stabs).
|
| int | HorG |
| | Host or Guest?
|
| CTimeRange | Duration |
| | Duration of node/subgraph in cycles.
|
| CTimeRange | Start |
| | Start and end times of node/subgraph in cycles.
|
| CTimeRange | End |
| | Start and end times of node/subgraph in cycles.
|
| CLabelCell * | Label |
| | Label describing position of node in graph.
|
| bool | RT |
| | Does this node have real-time requirements?
|
| long | TargetTime |
| | Target execution time of this node.
|
| NODE_TYPE | Type |
| | Type of node: CPred, etc.
|
| INT_OVHD_TYPE | IntOvhdType |
| | If this is integration overhead, what type? Padding, etc.
|
| int | SerNum |
| | Unique sequential serial number of node.
|
| CCDGNode * | Parent |
| | Parent of this in CDG.
|
| CProc * | Procedure |
| | The procedure containing this.
|
| CCDGNodeList * | Children |
| | All children of this node.
|
| bool | Visited |
| | Used for traversal to avoid loops.
|
| bool | DFS_Visited |
| | Used for DFS traversal to avoid loops.
|
| int | HorPos |
| | Horizontal position used during VCG/GDL graph construction.
|
| CRegAccess | RegDef |
| | Registers defined and used by this node/subgraph.
|
| CRegAccess | RegUse |
| | Registers defined and used by this node/subgraph.
|
| CDir * | PrecedingDirs |
| | Preceding and following directives from assembly code.
|
| CDir * | FollowingDirs |
| | Preceding and following directives from assembly code.
|
| CCDGNode * | Copy |
| | If a copy of this node was made, this is it.
|
| int | Size |
| | Code size of this node, not including subgraph, in bytes.
|
| int | SubgraphSize |
| | Code size of this node, including subgraph, in bytes.
|
| vector< string > | CSourceLines |
| | C source code associated with this.
|
Private Attributes |
|
| bool | SegTimeVisited |
| | Have segment times been calculated for this node?
|
| CTimeRange | StartTimeFromSegmentStart |
| | Holds the start time from the start of the segment.
|
| CTimeRange | EndTimeFromSegmentStart |
| | Holds the end time from the start of a segment.
|