gcc-8.3/gcc/tree_base
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#dfeeca47]
#backlinks
*説明 [#d9558e70]
-パス: [[gcc-8.3/gcc/tree-core.h]]
-FIXME: これは何?
--説明
**参考 [#lea83e25]
*実装 [#dd9270e0]
/* Every kind of tree node starts with this structure,
so all nodes have these fields.
See the accessor macros, defined below, for documenta...
fields, and the table below which connects the fields...
accessor macros. */
struct GTY(()) tree_base {
ENUM_BITFIELD(tree_code) code : 16;
-
--[[gcc-8.3/gcc/GTY()]]
--[[gcc-8.3/gcc/ENUM_BITFIELD()]]
--[[gcc-8.3/gcc/tree_code]]
unsigned side_effects_flag : 1;
unsigned constant_flag : 1;
unsigned addressable_flag : 1;
unsigned volatile_flag : 1;
unsigned readonly_flag : 1;
unsigned asm_written_flag: 1;
unsigned nowarning_flag : 1;
unsigned visited : 1;
unsigned used_flag : 1;
unsigned nothrow_flag : 1;
unsigned static_flag : 1;
unsigned public_flag : 1;
unsigned private_flag : 1;
unsigned protected_flag : 1;
unsigned deprecated_flag : 1;
unsigned default_def_flag : 1;
union {
/* The bits in the following structure should only b...
accessor macros that constrain inputs with tree c...
struct {
unsigned lang_flag_0 : 1;
unsigned lang_flag_1 : 1;
unsigned lang_flag_2 : 1;
unsigned lang_flag_3 : 1;
unsigned lang_flag_4 : 1;
unsigned lang_flag_5 : 1;
unsigned lang_flag_6 : 1;
unsigned saturating_flag : 1;
unsigned unsigned_flag : 1;
unsigned packed_flag : 1;
unsigned user_align : 1;
unsigned nameless_flag : 1;
unsigned atomic_flag : 1;
unsigned spare0 : 3;
unsigned spare1 : 8;
/* This field is only used with TREE_TYPE nodes; t...
present in tree_base instead of tree_type is to save s...
of the field must be large enough to hold addr_space_t...
unsigned address_space : 8;
} bits;
/* The following fields are present in tree_base to ...
nodes using them do not require any of the flags ...
make better use of the 4-byte sized word. */
/* The number of HOST_WIDE_INTs in an INTEGER_CST. */
struct {
/* The number of HOST_WIDE_INTs if the INTEGER_CST...
its native precision. */
unsigned char unextended;
/* The number of HOST_WIDE_INTs if the INTEGER_CST...
wider precisions based on its TYPE_SIGN. */
unsigned char extended;
/* The number of HOST_WIDE_INTs if the INTEGER_CST...
offset_int precision, with smaller integers being exte...
according to their TYPE_SIGN. This is equal to one of...
fields above but is cached for speed. */
unsigned char offset;
} int_length;
/* VEC length. This field is only used with TREE_VE...
int length;
/* This field is only used with VECTOR_CST. */
struct {
/* The value of VECTOR_CST_LOG2_NPATTERNS. */
unsigned int log2_npatterns : 8;
/* The value of VECTOR_CST_NELTS_PER_PATTERN. */
unsigned int nelts_per_pattern : 8;
/* For future expansion. */
unsigned int unused : 16;
} vector_cst;
/* SSA version number. This field is only used with...
unsigned int version;
/* CHREC_VARIABLE. This field is only used with POL...
unsigned int chrec_var;
/* Internal function code. */
enum internal_fn ifn;
-
--[[gcc-8.3/gcc/internal_fn]]
/* The following two fields are used for MEM_REF and...
expression trees and specify known data non-depen...
two memory references in a function they are know...
alias if dependence_info.clique are equal and dep...
are distinct. */
struct {
unsigned short clique;
unsigned short base;
} dependence_info;
} GTY((skip(""))) u;
};
*コメント [#rd5bed7a]
終了行:
*参照元 [#dfeeca47]
#backlinks
*説明 [#d9558e70]
-パス: [[gcc-8.3/gcc/tree-core.h]]
-FIXME: これは何?
--説明
**参考 [#lea83e25]
*実装 [#dd9270e0]
/* Every kind of tree node starts with this structure,
so all nodes have these fields.
See the accessor macros, defined below, for documenta...
fields, and the table below which connects the fields...
accessor macros. */
struct GTY(()) tree_base {
ENUM_BITFIELD(tree_code) code : 16;
-
--[[gcc-8.3/gcc/GTY()]]
--[[gcc-8.3/gcc/ENUM_BITFIELD()]]
--[[gcc-8.3/gcc/tree_code]]
unsigned side_effects_flag : 1;
unsigned constant_flag : 1;
unsigned addressable_flag : 1;
unsigned volatile_flag : 1;
unsigned readonly_flag : 1;
unsigned asm_written_flag: 1;
unsigned nowarning_flag : 1;
unsigned visited : 1;
unsigned used_flag : 1;
unsigned nothrow_flag : 1;
unsigned static_flag : 1;
unsigned public_flag : 1;
unsigned private_flag : 1;
unsigned protected_flag : 1;
unsigned deprecated_flag : 1;
unsigned default_def_flag : 1;
union {
/* The bits in the following structure should only b...
accessor macros that constrain inputs with tree c...
struct {
unsigned lang_flag_0 : 1;
unsigned lang_flag_1 : 1;
unsigned lang_flag_2 : 1;
unsigned lang_flag_3 : 1;
unsigned lang_flag_4 : 1;
unsigned lang_flag_5 : 1;
unsigned lang_flag_6 : 1;
unsigned saturating_flag : 1;
unsigned unsigned_flag : 1;
unsigned packed_flag : 1;
unsigned user_align : 1;
unsigned nameless_flag : 1;
unsigned atomic_flag : 1;
unsigned spare0 : 3;
unsigned spare1 : 8;
/* This field is only used with TREE_TYPE nodes; t...
present in tree_base instead of tree_type is to save s...
of the field must be large enough to hold addr_space_t...
unsigned address_space : 8;
} bits;
/* The following fields are present in tree_base to ...
nodes using them do not require any of the flags ...
make better use of the 4-byte sized word. */
/* The number of HOST_WIDE_INTs in an INTEGER_CST. */
struct {
/* The number of HOST_WIDE_INTs if the INTEGER_CST...
its native precision. */
unsigned char unextended;
/* The number of HOST_WIDE_INTs if the INTEGER_CST...
wider precisions based on its TYPE_SIGN. */
unsigned char extended;
/* The number of HOST_WIDE_INTs if the INTEGER_CST...
offset_int precision, with smaller integers being exte...
according to their TYPE_SIGN. This is equal to one of...
fields above but is cached for speed. */
unsigned char offset;
} int_length;
/* VEC length. This field is only used with TREE_VE...
int length;
/* This field is only used with VECTOR_CST. */
struct {
/* The value of VECTOR_CST_LOG2_NPATTERNS. */
unsigned int log2_npatterns : 8;
/* The value of VECTOR_CST_NELTS_PER_PATTERN. */
unsigned int nelts_per_pattern : 8;
/* For future expansion. */
unsigned int unused : 16;
} vector_cst;
/* SSA version number. This field is only used with...
unsigned int version;
/* CHREC_VARIABLE. This field is only used with POL...
unsigned int chrec_var;
/* Internal function code. */
enum internal_fn ifn;
-
--[[gcc-8.3/gcc/internal_fn]]
/* The following two fields are used for MEM_REF and...
expression trees and specify known data non-depen...
two memory references in a function they are know...
alias if dependence_info.clique are equal and dep...
are distinct. */
struct {
unsigned short clique;
unsigned short base;
} dependence_info;
} GTY((skip(""))) u;
};
*コメント [#rd5bed7a]
ページ名: