#ifndef _GFG_H_ #define _GFG_H_ #include "mcc/tac_build.h" #include "mcc/tac.h" #include "mcc/symbol_table.h" struct mcc_cfg { int block_size; struct mcc_cfg_basic_block *basic; struct mcc_cfg *next; }; struct mcc_cfg_edge { struct mcc_cfg_basic_block *destination; struct mcc_cfg_edge *next; }; struct mcc_cfg_basic_block { int id; struct mcc_tac_entry *start; struct mcc_tac_entry *end; struct mcc_cfg_edge *incoming; struct mcc_cfg_edge *outgoing; struct mcc_cfg_basic_block *next; }; struct mcc_cfg *mcc_create_cfg(struct mcc_tac *tac); struct mcc_cfg_basic_block *mcc_create_cfg_basic_block(struct mcc_tac *tac); #endif