ctrump/analyzer/analyze.h File Reference

プログラムの解析を行う More...

#include "ctrump/ast/ast.h"
#include "ctrump/common/dll.h"

Include dependency graph for analyze.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

CTRUMP_EXTDEF int ctrump_analyze (struct ctrump_translation_unit *unit, const struct ctrump_abi *abi, struct ctrump_mempool *pool, struct ctrump_build_cfg_error *error, int num_ast, int id_base)
 プログラムを解析する 解析結果は unit の指すツリーの中に反映される


Detailed Description

プログラムの解析を行う

現在のCTRUMPで行われる解析は、

1. データフロー解析(cfg.c) 2. ループ内でのメモリアクセスの解析(loop.c) 3. ループ依存性解析(deptest.c)

のみっつ

1. データフロー解析

CFGを作る。 生存性を解析後、SSA解析して、PDG(Program Dependence Graph)をつくる PDGは、各変数の定義がどこから来たかを示すグラフで、 ctrumpでは、ctrump_pdg_nodeと、ctrump_exprの組み合わせで構成される

これが終わると

2. ループ内でのメモリアクセスの解析

ループ中でのメモリアクセスから、 メモリアクセスの配列、添字、インデクスを抜き出す

3. ループ依存性解析

ループ中の配列アクセスをもとに、各繰り返し点での 依存ベクトルを求める

Definition in file analyze.h.


Function Documentation

CTRUMP_EXTDEF int ctrump_analyze ( struct ctrump_translation_unit unit,
const struct ctrump_abi abi,
struct ctrump_mempool pool,
struct ctrump_build_cfg_error error,
int  num_ast,
int  id_base 
)


Generated on Tue Mar 31 20:19:24 2009 for ctrump by  doxygen 1.5.6