gcc-8.3/gcc/function
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#w80254e5]
#backlinks
*説明 [#jc59ce5f]
-パス: [[gcc-8.3/gcc/function.h]]
-FIXME: これは何?
--説明
**参考 [#h333faa2]
*実装 [#vc0844a2]
/* This structure can save all the important global and ...
describing the status of the current function. */
struct GTY(()) function {
struct eh_status *eh;
/* The control flow graph for this function. */
struct control_flow_graph *cfg;
/* GIMPLE body for this function. */
gimple_seq gimple_body;
/* SSA and dataflow information. */
struct gimple_df *gimple_df;
/* The loops in this function. */
struct loops *x_current_loops;
/* Filled by the GIMPLE and RTL FEs, pass to start com...
char *pass_startwith;
/* The stack usage of this function. */
struct stack_usage *su;
/* Value histograms attached to particular statements....
htab_t GTY((skip)) value_histograms;
/* For function.c. */
/* Points to the FUNCTION_DECL of this function. */
tree decl;
/* A PARM_DECL that should contain the static chain fo...
It will be initialized at the beginning of the func...
tree static_chain_decl;
/* An expression that contains the non-local goto save...
word is the saved frame pointer and the second is t...
pointer. */
tree nonlocal_goto_save_area;
/* Vector of function local variables, functions, type...
vec<tree, va_gc> *local_decls;
/* For md files. */
/* tm.h can use this to store whatever it likes. */
struct machine_function * GTY ((maybe_undef)) machine;
/* Language-specific code can use this to store whatev...
struct language_function * language;
/* Used types hash table. */
hash_set<tree> *GTY (()) used_types_hash;
/* Dwarf2 Frame Description Entry, containing the Call...
used for unwinding. Only set when either dwarf2 un...
debugging is enabled. */
struct dw_fde_node *fde;
/* Last statement uid. */
int last_stmt_uid;
/* Debug marker counter. Count begin stmt markers. W...
to keep it exact, it's more of a rough estimate to ...
decide whether they are too many to copy during inl...
expanding to RTL. */
int debug_marker_count;
/* Function sequence number for profiling, debugging, ...
int funcdef_no;
/* Line number of the start of the function for debugg...
location_t function_start_locus;
/* Line number of the end of the function. */
location_t function_end_locus;
/* Properties used by the pass manager. */
unsigned int curr_properties;
unsigned int last_verified;
/* Non-null if the function does something that would ...
being copied; this applies to both versioning and i...
a string describing the reason for failure. */
const char * GTY((skip)) cannot_be_copied_reason;
/* Last assigned dependence info clique. */
unsigned short last_clique;
/* Collected bit flags. */
/* Number of units of general registers that need savi...
function. What unit is depends on the backend, eit...
of bytes, or it can be number of registers. */
unsigned int va_list_gpr_size : 8;
/* Number of units of floating point registers that ne...
function. */
unsigned int va_list_fpr_size : 8;
/* Nonzero if function being compiled can call setjmp....
unsigned int calls_setjmp : 1;
/* Nonzero if function being compiled can call alloca,
either as a subroutine or builtin. */
unsigned int calls_alloca : 1;
/* Nonzero if function being compiled receives nonloca...
from nested functions. */
unsigned int has_nonlocal_label : 1;
/* Nonzero if function being compiled has a forced label
placed into static storage. */
unsigned int has_forced_label_in_static : 1;
/* Nonzero if we've set cannot_be_copied_reason. I.e....
(cannot_be_copied_set && !cannot_be_copied_reason),...
can in fact be copied. */
unsigned int cannot_be_copied_set : 1;
/* Nonzero if current function uses stdarg.h or equiva...
unsigned int stdarg : 1;
unsigned int after_inlining : 1;
unsigned int always_inline_functions_inlined : 1;
/* Nonzero if function being compiled can throw synchr...
exceptions. */
unsigned int can_throw_non_call_exceptions : 1;
/* Nonzero if instructions that may throw exceptions b...
contribute to the execution of the program can be d...
unsigned int can_delete_dead_exceptions : 1;
/* Fields below this point are not set for abstract fu...
allocate_struct_function. */
/* Nonzero if function being compiled needs to be give...
where the value should be stored. */
unsigned int returns_struct : 1;
/* Nonzero if function being compiled needs to
return the address of where it has put a structure ...
unsigned int returns_pcc_struct : 1;
/* Nonzero if this function has local DECL_HARD_REGIST...
In this case code motion has to be done more carefu...
unsigned int has_local_explicit_reg_vars : 1;
/* Nonzero if the current function is a thunk, i.e., a...
function implemented by the output_mi_thunk hook) t...
adjusts one of its arguments and forwards to another
function. */
unsigned int is_thunk : 1;
/* Nonzero if the current function contains any loops ...
loop->force_vectorize set. */
unsigned int has_force_vectorize_loops : 1;
/* Nonzero if the current function contains any loops ...
nonzero value in loop->simduid. */
unsigned int has_simduid_loops : 1;
/* Nonzero when the tail call has been identified. */
unsigned int tail_call_marked : 1;
/* Nonzero if the current function contains a #pragma ...
unsigned int has_unroll : 1;
/* Set when the function was compiled with generation ...
(begin stmt, inline entry, ...) markers enabled. */
unsigned int debug_nonbind_markers : 1;
};
*コメント [#j30bed0d]
終了行:
*参照元 [#w80254e5]
#backlinks
*説明 [#jc59ce5f]
-パス: [[gcc-8.3/gcc/function.h]]
-FIXME: これは何?
--説明
**参考 [#h333faa2]
*実装 [#vc0844a2]
/* This structure can save all the important global and ...
describing the status of the current function. */
struct GTY(()) function {
struct eh_status *eh;
/* The control flow graph for this function. */
struct control_flow_graph *cfg;
/* GIMPLE body for this function. */
gimple_seq gimple_body;
/* SSA and dataflow information. */
struct gimple_df *gimple_df;
/* The loops in this function. */
struct loops *x_current_loops;
/* Filled by the GIMPLE and RTL FEs, pass to start com...
char *pass_startwith;
/* The stack usage of this function. */
struct stack_usage *su;
/* Value histograms attached to particular statements....
htab_t GTY((skip)) value_histograms;
/* For function.c. */
/* Points to the FUNCTION_DECL of this function. */
tree decl;
/* A PARM_DECL that should contain the static chain fo...
It will be initialized at the beginning of the func...
tree static_chain_decl;
/* An expression that contains the non-local goto save...
word is the saved frame pointer and the second is t...
pointer. */
tree nonlocal_goto_save_area;
/* Vector of function local variables, functions, type...
vec<tree, va_gc> *local_decls;
/* For md files. */
/* tm.h can use this to store whatever it likes. */
struct machine_function * GTY ((maybe_undef)) machine;
/* Language-specific code can use this to store whatev...
struct language_function * language;
/* Used types hash table. */
hash_set<tree> *GTY (()) used_types_hash;
/* Dwarf2 Frame Description Entry, containing the Call...
used for unwinding. Only set when either dwarf2 un...
debugging is enabled. */
struct dw_fde_node *fde;
/* Last statement uid. */
int last_stmt_uid;
/* Debug marker counter. Count begin stmt markers. W...
to keep it exact, it's more of a rough estimate to ...
decide whether they are too many to copy during inl...
expanding to RTL. */
int debug_marker_count;
/* Function sequence number for profiling, debugging, ...
int funcdef_no;
/* Line number of the start of the function for debugg...
location_t function_start_locus;
/* Line number of the end of the function. */
location_t function_end_locus;
/* Properties used by the pass manager. */
unsigned int curr_properties;
unsigned int last_verified;
/* Non-null if the function does something that would ...
being copied; this applies to both versioning and i...
a string describing the reason for failure. */
const char * GTY((skip)) cannot_be_copied_reason;
/* Last assigned dependence info clique. */
unsigned short last_clique;
/* Collected bit flags. */
/* Number of units of general registers that need savi...
function. What unit is depends on the backend, eit...
of bytes, or it can be number of registers. */
unsigned int va_list_gpr_size : 8;
/* Number of units of floating point registers that ne...
function. */
unsigned int va_list_fpr_size : 8;
/* Nonzero if function being compiled can call setjmp....
unsigned int calls_setjmp : 1;
/* Nonzero if function being compiled can call alloca,
either as a subroutine or builtin. */
unsigned int calls_alloca : 1;
/* Nonzero if function being compiled receives nonloca...
from nested functions. */
unsigned int has_nonlocal_label : 1;
/* Nonzero if function being compiled has a forced label
placed into static storage. */
unsigned int has_forced_label_in_static : 1;
/* Nonzero if we've set cannot_be_copied_reason. I.e....
(cannot_be_copied_set && !cannot_be_copied_reason),...
can in fact be copied. */
unsigned int cannot_be_copied_set : 1;
/* Nonzero if current function uses stdarg.h or equiva...
unsigned int stdarg : 1;
unsigned int after_inlining : 1;
unsigned int always_inline_functions_inlined : 1;
/* Nonzero if function being compiled can throw synchr...
exceptions. */
unsigned int can_throw_non_call_exceptions : 1;
/* Nonzero if instructions that may throw exceptions b...
contribute to the execution of the program can be d...
unsigned int can_delete_dead_exceptions : 1;
/* Fields below this point are not set for abstract fu...
allocate_struct_function. */
/* Nonzero if function being compiled needs to be give...
where the value should be stored. */
unsigned int returns_struct : 1;
/* Nonzero if function being compiled needs to
return the address of where it has put a structure ...
unsigned int returns_pcc_struct : 1;
/* Nonzero if this function has local DECL_HARD_REGIST...
In this case code motion has to be done more carefu...
unsigned int has_local_explicit_reg_vars : 1;
/* Nonzero if the current function is a thunk, i.e., a...
function implemented by the output_mi_thunk hook) t...
adjusts one of its arguments and forwards to another
function. */
unsigned int is_thunk : 1;
/* Nonzero if the current function contains any loops ...
loop->force_vectorize set. */
unsigned int has_force_vectorize_loops : 1;
/* Nonzero if the current function contains any loops ...
nonzero value in loop->simduid. */
unsigned int has_simduid_loops : 1;
/* Nonzero when the tail call has been identified. */
unsigned int tail_call_marked : 1;
/* Nonzero if the current function contains a #pragma ...
unsigned int has_unroll : 1;
/* Set when the function was compiled with generation ...
(begin stmt, inline entry, ...) markers enabled. */
unsigned int debug_nonbind_markers : 1;
};
*コメント [#j30bed0d]
ページ名: