GCC Middle and Back End API Reference
|
Go to the source code of this file.
Functions | |
int | toplev_main (int, char **) |
void | rest_of_decl_compilation (tree, int, int) |
void | rest_of_type_compilation (tree, int) |
void | init_optimization_passes (void) |
bool | enable_rtl_dump_file (void) |
void | init_eh (void) |
void | announce_function (tree) |
void | wrapup_global_declaration_1 (tree) |
bool | wrapup_global_declaration_2 (tree) |
bool | wrapup_global_declarations (tree *, int) |
void | check_global_declaration_1 (tree) |
void | check_global_declarations (tree *, int) |
void | emit_debug_global_declarations (tree *, int) |
void | write_global_declarations (void) |
void | dump_memory_report (bool) |
void | dump_profile_report (void) |
void | target_reinit (void) |
void | print_version (FILE *, const char *) |
const char * | get_src_pwd (void) |
bool | set_src_pwd (const char *) |
HOST_WIDE_INT | get_random_seed (bool) |
const char * | set_random_seed (const char *) |
Variables | |
struct cl_decoded_option * | save_decoded_options |
unsigned int | save_decoded_options_count |
unsigned | local_tick |
bool | user_defined_section_attribute |
int | flag_rerun_cse_after_global_opts |
struct ht * | ident_hash |
void announce_function | ( | tree | ) |
void check_global_declaration_1 | ( | tree | ) |
void check_global_declarations | ( | tree * | , |
int | |||
) |
void dump_memory_report | ( | bool | ) |
void dump_profile_report | ( | void | ) |
Output profile consistency.
References gcc::pass_manager::passes_by_id.
void emit_debug_global_declarations | ( | tree * | , |
int | |||
) |
bool enable_rtl_dump_file | ( | void | ) |
Enable RTL dump for all the RTL passes.
HOST_WIDE_INT get_random_seed | ( | bool | ) |
Functions used to manipulate the random seed.
const char* get_src_pwd | ( | void | ) |
Functions used to get and set GCC's notion of in what directory compilation was started.
Return the directory from which the translation unit was initiated, in case set_src_pwd() was not called before to assign it a different value.
References global_dc.
void init_eh | ( | void | ) |
In except.c. Initialize exception handling. This is used by the Ada and LTO front ends to initialize EH "on demand". See lto-streamer-in.c and ada/gcc-interface/misc.c.
Create the SjLj_Function_Context structure. This should match the definition in unwind-sjlj.c.
Should be large enough for most systems, if it is not, JMP_BUF_SIZE should be defined with the proper value. It will also tend to be larger than necessary for most systems, a more optimal port will define JMP_BUF_SIZE.
builtin_setjmp takes a pointer to 5 words.
We don't know what the alignment requirements of the runtime's jmp_buf has. Overestimate.
Cache the interesting field offsets so that we have easy access from rtl.
References targetm.
void init_optimization_passes | ( | void | ) |
void print_version | ( | FILE * | , |
const char * | |||
) |
void rest_of_decl_compilation | ( | tree | decl, |
int | top_level, | ||
int | at_end | ||
) |
This is called from various places for FUNCTION_DECL, VAR_DECL, and TYPE_DECL nodes. This does nothing for local (non-static) variables, unless the variable is a register variable with DECL_ASSEMBLER_NAME set. In that case, or if the variable is not an automatic, it sets up the RTL and outputs any assembler code (label definition, storage allocation and initialization). DECL is the declaration. TOP_LEVEL is nonzero if this declaration is not within a function.
We deferred calling assemble_alias so that we could collect other attributes such as visibility. Emit the alias now.
A quirk of the initial implementation of aliases required that the user add "extern" to all of them. Which is silly, but now historical. Do note that the symbol is in fact locally defined.
Can't defer this, because it needs to happen before any later function definitions are processed.
Forward declarations for nested functions are not "external", but we need to treat them as if they were.
Don't output anything when a tentative file-scope definition is seen. But at end of compilation, do output code for them. We do output all variables and rely on callgraph code to defer them except for forward declarations (see gcc.c-torture/compile/920624-1.c)
When reading LTO unit, we also read varpool, so do not rebuild it.
Like in rest_of_type_compilation, avoid confusing the debug information machinery when there are errors.
Let cgraph know about the existence of variables.
void rest_of_type_compilation | ( | tree | , |
int | |||
) |
const char* set_random_seed | ( | const char * | ) |
bool set_src_pwd | ( | const char * | ) |
void target_reinit | ( | void | ) |
Reinitialize everything when target parameters, such as register usage, have changed.
Save *crtl and regno_reg_rtx around the reinitialization to allow target_reinit being called even after prepare_function_start.
Reinitialize RTL backend.
Reinitialize lang-dependent parts.
And restore it at the end, as free_after_compilation from expand_dummy_function_end clears it.
Referenced by save_target_globals().
int toplev_main | ( | int | , |
char ** | |||
) |
void wrapup_global_declaration_1 | ( | tree | ) |
bool wrapup_global_declaration_2 | ( | tree | ) |
bool wrapup_global_declarations | ( | tree * | , |
int | |||
) |
void write_global_declarations | ( | void | ) |
lang_hooks.decls.final_write_globals: perform final processing on global variables.
Really define vars that have had only a tentative definition. Really output inline functions that must actually be callable and have not been output so far.
Process the decls in reverse order--earliest first. Put them into VEC from back to front, then take out from front.
This lang hook is dual-purposed, and also finalizes the compilation unit.
Clean up.
int flag_rerun_cse_after_global_opts |
See toplev.c.
Set to non-zero if CSE should run after all GCSE optimizations are done.
struct ht* ident_hash |
The hashtable, so that the C front ends can pass it to cpplib.
Referenced by get_identifier(), get_identifier_with_length(), gt_pch_save_stringpool(), mark_ident(), maybe_delete_ident(), maybe_get_identifier(), and stringpool_ggc_alloc().
unsigned local_tick |
A unique local time stamp, might be zero if none is available.
Referenced by crash_signal().
struct cl_decoded_option* save_decoded_options |
Decoded options, and number of such options.
Referenced by crash_signal(), and lto_write_options().
unsigned int save_decoded_options_count |
Referenced by crash_signal(), and lto_write_options().
bool user_defined_section_attribute |
True if the user has tagged the function with the 'section' attribute.
Referenced by crash_signal().