#include "ctrump/common/mempool.h"
#include "ctrump/common/bitmap.h"
#include "ctrump/common/intmap.h"
#include "ctrump/analyzer/var.h"
#include "ctrump/ast/location.h"


Go to the source code of this file.
Data Structures | |
| struct | ctrump_cfg_var_info |
| 解析で使う変数の情報 More... | |
| struct | ctrump_bb |
| basic block(基本ブロック) More... | |
| struct | ctrump_cfg |
| CFG(Control Flow Graph) 現在のCTRUMPでは関数ひとつにCFGがひとつできる. More... | |
| struct | ctrump_build_cfg_error |
| build cfg error More... | |
Defines | |
| #define | CTRUMP_BB_LOOP_ENTRY (1<<0) |
| #define | CTRUMP_BB_IS_LOOP_ENTRY(b) ((b)->flags & CTRUMP_BB_LOOP_ENTRY) |
Enumerations | |
| enum | ctrump_build_cfg_error_code { CTRUMP_BUILD_CFG_ERROR_UNDEFINED_LABEL, CTRUMP_BUILD_CFG_ERROR_REDEFINE_LABEL, CTRUMP_BUILD_CFG_ERROR_CONTINUE_IN_NOT_LOOP, CTRUMP_BUILD_CFG_ERROR_BREAK_IN_NOT_LOOP, CTRUMP_BUILD_CFG_ERROR_INVALID_LVALUE, CTRUMP_BUILD_CFG_ERROR_INVALID_ADDRESSOP } |
| build cfg エラーの種類 More... | |
Functions | |
| int | ctrump_build_cfg (struct ctrump_cfg *ret, struct ctrump_intmap *var_info_map, struct ctrump_build_cfg_error *error, const struct ctrump_fundef *def, struct ctrump_mempool *cfg_pool, struct ctrump_mempool *varmap_pool, int num_ast, int id_begin) |
| CFGを作る. | |
Definition in file cfg.h.
| #define CTRUMP_BB_IS_LOOP_ENTRY | ( | b | ) | ((b)->flags & CTRUMP_BB_LOOP_ENTRY) |
| #define CTRUMP_BB_LOOP_ENTRY (1<<0) |
build cfg エラーの種類
| int ctrump_build_cfg | ( | struct ctrump_cfg * | ret, | |
| struct ctrump_intmap * | var_info_map, | |||
| struct ctrump_build_cfg_error * | error, | |||
| const struct ctrump_fundef * | def, | |||
| struct ctrump_mempool * | cfg_pool, | |||
| struct ctrump_mempool * | varmap_pool, | |||
| int | num_ast, | |||
| int | id_begin | |||
| ) |
CFGを作る.
Definition at line 3091 of file cfg.c.
References build_cfg_env::basic_blocks, build_cfg_env::bb_id, ctrump_fundef::body, build_cfg(), build_cfg_env::cfg_pool, check_label_use(), ctrump_mempool_alloc, ctrump_mempool_destroy(), ctrump_mempool_init(), ctrump_varray_init_pool(), delete_table(), build_cfg_env::error, build_cfg_env::label_ref_bmp, build_cfg_env::label_table, build_cfg_env::next_id, build_cfg_env::stmt_bb_table, build_cfg_env::tmp_alloc, and zero_bmp.
Referenced by ctrump_analyze().
1.5.6