GCC Middle and Back End API Reference
function Struct Reference

#include <function.h>

Collaboration diagram for function:

Data Fields

struct eh_statuseh
struct control_flow_graphcfg
gimple_seq gimple_body
struct gimple_dfgimple_df
struct loopsx_current_loops
char * pass_startwith
class stack_usagesu
htab_t value_histograms
hash_map< gcond *, unsigned > * cond_uids
tree decl
tree static_chain_decl
tree nonlocal_goto_save_area
vec< tree, va_gc > * local_decls
struct machine_function * machine
struct language_function * language
hash_set< tree > * used_types_hash
struct dw_fde_nodefde
int last_stmt_uid
int debug_marker_count
int funcdef_no
location_t function_start_locus
location_t function_end_locus
unsigned int curr_properties
unsigned int last_verified
unsigned int pending_TODOs
const char * cannot_be_copied_reason
unsigned short last_clique
unsigned int va_list_gpr_size: 8
unsigned int va_list_fpr_size: 8
unsigned int calls_setjmp: 1
unsigned int calls_alloca: 1
unsigned int calls_eh_return: 1
unsigned int has_nonlocal_label: 1
unsigned int has_forced_label_in_static: 1
unsigned int cannot_be_copied_set: 1
unsigned int stdarg: 1
unsigned int after_inlining: 1
unsigned int always_inline_functions_inlined: 1
unsigned int can_throw_non_call_exceptions: 1
unsigned int can_delete_dead_exceptions: 1
unsigned int returns_struct: 1
unsigned int returns_pcc_struct: 1
unsigned int has_local_explicit_reg_vars: 1
unsigned int is_thunk: 1
unsigned int has_force_vectorize_loops: 1
unsigned int has_simduid_loops: 1
unsigned int tail_call_marked: 1
unsigned int has_unroll: 1
unsigned int debug_nonbind_markers: 1
unsigned int coroutine_component: 1
unsigned int has_omp_target: 1
unsigned int assume_function: 1

Detailed Description

This structure can save all the important global and static variables
describing the status of the current function.   

Field Documentation

◆ after_inlining

unsigned int function::after_inlining

◆ always_inline_functions_inlined

unsigned int function::always_inline_functions_inlined

◆ assume_function

unsigned int function::assume_function

◆ calls_alloca

unsigned int function::calls_alloca

◆ calls_eh_return

unsigned int function::calls_eh_return

◆ calls_setjmp

unsigned int function::calls_setjmp

◆ can_delete_dead_exceptions

◆ can_throw_non_call_exceptions

◆ cannot_be_copied_reason

const char* function::cannot_be_copied_reason

Referenced by copy_forbidden().

◆ cannot_be_copied_set

unsigned int function::cannot_be_copied_set

Referenced by copy_forbidden().

◆ cfg

◆ cond_uids

hash_map<gcond*, unsigned>* function::cond_uids

◆ coroutine_component

unsigned int function::coroutine_component

◆ curr_properties

◆ debug_marker_count

int function::debug_marker_count

◆ debug_nonbind_markers

unsigned int function::debug_nonbind_markers

◆ decl

◆ eh

◆ fde

struct dw_fde_node* function::fde

◆ funcdef_no

◆ function_end_locus

location_t function::function_end_locus

◆ function_start_locus

location_t function::function_start_locus

◆ gimple_body

gimple_seq function::gimple_body

Referenced by gimple_body(), and gimple_set_body().

◆ gimple_df

◆ has_force_vectorize_loops

◆ has_forced_label_in_static

unsigned int function::has_forced_label_in_static

◆ has_local_explicit_reg_vars

unsigned int function::has_local_explicit_reg_vars

◆ has_nonlocal_label

◆ has_omp_target

unsigned int function::has_omp_target

◆ has_simduid_loops

◆ has_unroll

unsigned int function::has_unroll

◆ is_thunk

unsigned int function::is_thunk

◆ language

struct language_function* function::language

Referenced by free_after_parsing().

◆ last_clique

◆ last_stmt_uid

int function::last_stmt_uid

◆ last_verified

unsigned int function::last_verified

◆ local_decls

◆ machine

struct machine_function* function::machine

Referenced by free_after_compilation().

◆ nonlocal_goto_save_area

◆ pass_startwith

char* function::pass_startwith

◆ pending_TODOs

unsigned int function::pending_TODOs

◆ returns_pcc_struct

unsigned int function::returns_pcc_struct

◆ returns_struct

unsigned int function::returns_struct

◆ static_chain_decl

◆ stdarg

unsigned int function::stdarg

◆ su

class stack_usage* function::su

◆ tail_call_marked

unsigned int function::tail_call_marked

◆ used_types_hash

hash_set<tree>* function::used_types_hash

◆ va_list_fpr_size

◆ va_list_gpr_size

◆ value_histograms

htab_t function::value_histograms

Referenced by release_function_body().

◆ x_current_loops

struct loops* function::x_current_loops

◆ x_range_query

range_query* function::x_range_query

The documentation for this struct was generated from the following file: