|
ACSE 2.0.3
Advanced Compiler System for Education
|
Control Flow Graph generation and related analyses. More...
Go to the source code of this file.
Data Structures | |
| struct | t_cfgReg |
| struct | t_bbNode |
| struct | t_basicBlock |
| struct | t_cfg |
Macros | |
| #define | CFG_MAX_DEFS 1 |
| Maximum number of temporary register definitions for each node. | |
| #define | CFG_MAX_USES 2 |
| Maximum number of temporary register uses for each node. | |
Functions | |
Basic Blocks | |
| t_bbNode * | bbInsertInstruction (t_basicBlock *block, t_instruction *instr) |
| t_bbNode * | bbInsertInstructionBefore (t_basicBlock *block, t_instruction *instr, t_bbNode *ip) |
| t_bbNode * | bbInsertInstructionAfter (t_basicBlock *block, t_instruction *instr, t_bbNode *ip) |
Control Flow Graph construction | |
| t_cfg * | programToCFG (t_program *program) |
| int | cfgIterateNodes (t_cfg *graph, void *context, int(*callback)(t_bbNode *node, int nodeIndex, void *context)) |
| void | cfgToProgram (t_program *program, t_cfg *graph) |
| void | deleteCFG (t_cfg *graph) |
Data Flow Analysis | |
| void | cfgComputeLiveness (t_cfg *graph) |
| t_listNode * | bbGetLiveIn (t_basicBlock *bblock) |
| t_listNode * | bbGetLiveOut (t_basicBlock *bblock) |
Utilities | |
| void | cfgDump (t_cfg *graph, FILE *fout, bool verbose) |
Control Flow Graph generation and related analyses.
Definition in file cfg.h.