ctrump/analyzer/var.h File Reference

変数アクセス More...

#include "ctrump/ast/expr-code.h"
#include "ctrump/common/dll.h"

Include dependency graph for var.h:

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

Go to the source code of this file.

Data Structures

struct  ctrump_subscript_coef_array
 N次元配列(ポインタのポインタではない)に対するアクセス. More...
struct  ctrump_subscript_terminal
 (アドレス計算ではなく)実際にロードが行われる配列アクセス More...
struct  ctrump_subscript_coef_load_record
 構造体のロード More...
struct  ctrump_subscript_record_member
 構造体のメンバのアドレス計算 More...
struct  ctrump_subscript_record_member_terminal
 構造体のメンバのロード More...
struct  ctrump_subscript_nd
 配列添字 More...
struct  ctrump_subscript
 メモリアクセスの添字 More...
struct  ctrump_memory_access
 メモリアクセス ポインタと添字の組 More...
struct  ctrump_memory_load
 メモリロード More...
struct  ctrump_memory_store
 メモリストア More...
struct  ctrump_var_ref
 変数参照 More...
struct  ctrump_var_store
 変数へのストア More...
struct  ctrump_ordered_memory_load_store_node
 順序付けられたメモリロードストア More...
struct  ctrump_load_store_set
 ロードストアの集合 mem_loads, mem_storesそれぞれにロード、ストア orderd_load_store にプログラム実行順序どおりに順序付けられたロード、ストアが入る More...
struct  ctrump_phi_node
 phiノード More...
struct  ctrump_pdg_reductive_expr
 縮約演算 i = i op value More...
struct  ctrump_pdg_incremental_expr
 インクリメント演算 More...
struct  ctrump_pdg_store_expr
 通常のストア More...
struct  ctrump_pdg_node
 PDGノード. More...

Defines

#define CTRUMP_MEMORY_ACCESS_PTRREF   (1<<0)
#define CTRUMP_MEMORY_ACCESS_PARTIAL   (1<<1)

Enumerations

enum  ctrump_subscript_nd_code {
  CTRUMP_SUBSCRIPT_TERMINAL, CTRUMP_SUBSCRIPT_LOAD_RECORD, CTRUMP_SUBSCRIPT_COEF_ARRAY, CTRUMP_SUBSCRIPT_RECORD_MEMBER,
  CTRUMP_SUBSCRIPT_RECORD_MEMBER_TERMINAL
}
enum  ctrump_load_store_t { CTRUMP_MEMORY_LOAD, CTRUMP_MEMORY_STORE }
enum  ctrump_pdg_node_code {
  CTRUMP_PDG_VALUE_EXPR, CTRUMP_PDG_VALUE_REDUCTION, CTRUMP_PDG_VALUE_INCREMENTAL, CTRUMP_PDG_VALUE_PHI,
  CTRUMP_PDG_VALUE_INITIALIZER, CTRUMP_PDG_VALUE_UNINITIALIZED, CTRUMP_PDG_VALUE_GLOBAL, CTRUMP_PDG_VALUE_ARG
}
 PDGノードの種類. More...
enum  ctrump_reductive_expr_code {
  CTRUMP_REDUCTIVE_IDENTIFY, CTRUMP_REDUCTIVE_ADD, CTRUMP_REDUCTIVE_SUB, CTRUMP_REDUCTIVE_MUL,
  CTRUMP_REDUCTIVE_BOR, CTRUMP_REDUCTIVE_BAND, CTRUMP_REDUCTIVE_BXOR, CTRUMP_REDUCTIVE_LOR,
  CTRUMP_REDUCTIVE_LAND, CTRUMP_REDUCTIVE_FADD, CTRUMP_REDUCTIVE_FSUB, CTRUMP_REDUCTIVE_FMUL
}
 縮約演算の種類 More...
enum  ctrump_incremental_expr_code { CTRUMP_PDG_INC, CTRUMP_PDG_DEC, CTRUMP_PDG_FINC, CTRUMP_PDG_FDEC }
 インクリメント演算の種類 More...


Detailed Description

変数アクセス

Definition in file var.h.


Define Documentation

#define CTRUMP_MEMORY_ACCESS_PARTIAL   (1<<1)

Definition at line 163 of file var.h.

Referenced by classify_memop(), and extract_load_store_assign().

#define CTRUMP_MEMORY_ACCESS_PTRREF   (1<<0)

Definition at line 162 of file var.h.


Enumeration Type Documentation

インクリメント演算の種類

Enumerator:
CTRUMP_PDG_INC  x++
CTRUMP_PDG_DEC  x--
CTRUMP_PDG_FINC  x++
CTRUMP_PDG_FDEC  x--

Definition at line 319 of file var.h.

Enumerator:
CTRUMP_MEMORY_LOAD 
CTRUMP_MEMORY_STORE 

Definition at line 214 of file var.h.

PDGノードの種類.

Enumerator:
CTRUMP_PDG_VALUE_EXPR  普通の式 : i = f(x)
CTRUMP_PDG_VALUE_REDUCTION  普通の式 : i = i op x (op should be associative)
CTRUMP_PDG_VALUE_INCREMENTAL  インクリメント :/ i++
CTRUMP_PDG_VALUE_PHI  φノード : i = phi(i0,i1,i2)
CTRUMP_PDG_VALUE_INITIALIZER  初期化子 int i = f(x)
CTRUMP_PDG_VALUE_UNINITIALIZED  未初期値 i = ??
CTRUMP_PDG_VALUE_GLOBAL  グローバル変数値
CTRUMP_PDG_VALUE_ARG  関数引数値

Definition at line 261 of file var.h.

縮約演算の種類

Enumerator:
CTRUMP_REDUCTIVE_IDENTIFY  x = x
CTRUMP_REDUCTIVE_ADD  x = x+c
CTRUMP_REDUCTIVE_SUB  x = x-c
CTRUMP_REDUCTIVE_MUL  x = x*mul
CTRUMP_REDUCTIVE_BOR  x = x|c
CTRUMP_REDUCTIVE_BAND  x = x&c
CTRUMP_REDUCTIVE_BXOR  x = x^c
CTRUMP_REDUCTIVE_LOR  x = x||c
CTRUMP_REDUCTIVE_LAND  x = x&&c
CTRUMP_REDUCTIVE_FADD  x = x+c
CTRUMP_REDUCTIVE_FSUB  x = x-c
CTRUMP_REDUCTIVE_FMUL  x = x*c

Definition at line 286 of file var.h.

配列添字の種類

Enumerator:
CTRUMP_SUBSCRIPT_TERMINAL  終端
CTRUMP_SUBSCRIPT_LOAD_RECORD  構造体の読み出し
CTRUMP_SUBSCRIPT_COEF_ARRAY  配列アクセス
CTRUMP_SUBSCRIPT_RECORD_MEMBER  構造体メンバ
CTRUMP_SUBSCRIPT_RECORD_MEMBER_TERMINAL  構造体メンバ

Definition at line 47 of file var.h.


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