#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().