|
Public Member Functions |
| | CCode () |
| | CCode (char *name) |
| | CCode (const CCode &orig, CCDGNode &Parent) |
| | ~CCode () |
| void | Add_Instr_Frag (char *instr_frag) |
| void | Add_Instr (CInstr *instr) |
| CInstr * | Get_Instr () |
| void | Set_Instr (CInstr *instr) |
| CInstr * | Get_Last_Instr () |
| int | Get_NumInstrs () |
| void | Set_NumInstrs () |
| void | Set_NumInstrs (int n) |
| void | Inc_NumInstrs () |
| CVar * | Find_Prev_Ref (int reg, CInstr *instr, bool local_instr, bool look_across_loop_back) |
| void | Prepend_Instr (CInstr *instr) |
| void | Make_Jump_Node (char *target, char *node_name_root) |
| CCDGNode * | Split (long when, bool when_is_offset=false) |
| CCode * | Split_After_Byte (int where) |
| CPred * | Split_Off_Cond_Branch () |
| CCode * | Split_Off_Uncond_Branch () |
| bool | Contains_Call (void) |
| CCall * | Split_Off_Call (void) |
| void | Set_Size (void) |
| CTimeRange * | Get_Duration (bool include_unknown_loop_iter) |
| void | Output_Code (ostream &stream) |
| void | Output_VCG (ostream &stream) |
| void | Make_Loop_Control_Var_Fuser (CLoop *guest_loop, CLoop *host_loop) |
| CCode * | Get_Next_Pred (CCode *cur) |
| CCode * | Get_Next_Succ (CCode *cur) |
| CCode * | Get_Next_Succ (CCode *cur, bool value) |
| bool | Add_Pred (CCode *p) |
| bool | Add_Succ (CCode *p) |
| void | Clear_Pred_Succ () |
| void | Set_Is_Infinite_Block () |
| void | Reset_Is_Infinite_Block () |
| bool | Is_Infinite_Block () |
| void | Set_Visited () |
| void | Reset_Visited () |
| bool | Is_Visited () |
| bool | Is_Succ_Empty () |
| bool | Is_Succ_Present (CCode *node) |
| | Checks if node is present in the successor list of the CCode block.
|
| void | Set_Node_List (CCDGNodeList *p_node_list) |
| CCDGNodeList * | Get_Node_List () |
| bool | Has_2_Succ () |
| bool | Has_Succ (CCode *node) |
| void | DFS_Search (bool is_start) |
| | This function performs the DFS search of the CFG and marks the nodes which will be executed.
|
| void | Mark_Infinite_Blocks () |
Private Attributes |
| CInstr * | Instr |
| | Linked list of instructions.
|
| int | NumInstrs |
| | Number of instructions in this.
|
| CCode * | Pred [MAX_PREDECESSORS] |
| | Predecessors and successors, used only for CFG.
|
| CCode * | Succ [MAX_SUCCESSORS] |
| | Predecessors and successors, used only for CFG.
|
| CCDGNodeList * | node_list |
| | Don't recall -- added by student.
|
| bool | Infinite_Block |
| | Is in infinite loop.
|
| bool | Visited |
| | Flag for traversal.
|