GCC Middle and Back End API Reference
|
#include <tree-pass.h>
Public Member Functions | |
virtual opt_pass * | clone () |
virtual void | set_pass_param (unsigned int, bool) |
virtual bool | gate (function *fun) |
virtual unsigned int | execute (function *fun) |
Data Fields | |
void(* | generate_summary )(void) |
void(* | write_summary )(void) |
void(* | read_summary )(void) |
void(* | write_optimization_summary )(void) |
void(* | read_optimization_summary )(void) |
void(* | stmt_fixup )(struct cgraph_node *, gimple **) |
unsigned int | function_transform_todo_flags_start |
unsigned int(* | function_transform )(struct cgraph_node *) |
void(* | variable_transform )(varpool_node *) |
opt_pass * | sub |
opt_pass * | next |
int | static_pass_number |
enum opt_pass_type | type |
const char * | name |
optgroup_flags_t | optinfo_flags |
timevar_id_t | tv_id |
unsigned int | properties_required |
unsigned int | properties_provided |
unsigned int | properties_destroyed |
unsigned int | todo_flags_start |
unsigned int | todo_flags_finish |
Protected Member Functions | |
ipa_opt_pass_d (const pass_data &data, gcc::context *ctxt, void(*generate_summary)(void), void(*write_summary)(void), void(*read_summary)(void), void(*write_optimization_summary)(void), void(*read_optimization_summary)(void), void(*stmt_fixup)(struct cgraph_node *, gimple **), unsigned int function_transform_todo_flags_start, unsigned int(*function_transform)(struct cgraph_node *), void(*variable_transform)(varpool_node *)) | |
Protected Attributes | |
gcc::context * | m_ctxt |
Description of IPA pass with generate summary, write, execute, read and transform stages.
|
inlineprotected |
|
virtualinherited |
Most passes are single-instance (within their context) and thus don't need to implement cloning, but passes that support multiple instances *must* provide their own implementation of the clone method. Handle this by providing a default implemenation, but make it a fatal error to call it.
Reimplemented in pass_array_bounds, and pass_walloca.
References internal_error(), and pass_data::name.
Referenced by position_pass().
|
virtualinherited |
Reimplemented in ipa_icf::pass_ipa_icf, pass_array_bounds, pass_ipa_function_and_variable_visibility, and pass_walloca.
Referenced by execute_one_pass().
Reimplemented in ipa_icf::pass_ipa_icf, pass_array_bounds, and pass_walloca.
Referenced by dump_one_pass(), execute_ipa_stmt_fixups(), execute_ipa_summary_passes(), execute_one_pass(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), ipa_write_optimization_summaries_1(), and ipa_write_summaries_2().
|
virtualinherited |
Reimplemented in pass_walloca.
References internal_error(), and pass_data::name.
unsigned int(* ipa_opt_pass_d::function_transform) (struct cgraph_node *) |
Referenced by execute_one_ipa_transform_pass().
unsigned int ipa_opt_pass_d::function_transform_todo_flags_start |
Referenced by execute_one_ipa_transform_pass().
void(* ipa_opt_pass_d::generate_summary) (void) |
Referenced by execute_ipa_summary_passes().
|
protectedinherited |
Referenced by pass_array_bounds::clone(), and pass_walloca::clone().
|
inherited |
Referenced by add_pass_instance(), opt_pass::clone(), dump_one_pass(), gcc::pass_manager::dump_profile_report(), emergency_dump_function(), execute_one_pass(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), next_pass_1(), optrecord_json_writer::pass_to_json(), position_pass(), print_current_pass(), gcc::pass_manager::register_dump_files(), gcc::pass_manager::register_one_dump_file(), gcc::pass_manager::register_pass(), opt_pass::set_pass_param(), should_skip_pass_p(), skip_pass(), statistics_counter_event(), statistics_fini_1(), statistics_fini_pass(), statistics_fini_pass_2(), and statistics_histogram_event().
|
inherited |
Referenced by optrecord_json_writer::add_pass_list(), delete_pass_tree(), dump_pass_list(), execute_ipa_pass_list(), execute_ipa_stmt_fixups(), execute_ipa_summary_passes(), execute_pass_list_1(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), ipa_write_optimization_summaries_1(), ipa_write_summaries_2(), next_pass_1(), position_pass(), and gcc::pass_manager::register_dump_files().
|
inherited |
Referenced by optrecord_json_writer::pass_to_json(), and gcc::pass_manager::register_one_dump_file().
|
inherited |
Referenced by should_skip_pass_p(), and update_properties_after_pass().
|
inherited |
Referenced by should_skip_pass_p(), and update_properties_after_pass().
|
inherited |
Referenced by execute_one_pass().
void(* ipa_opt_pass_d::read_optimization_summary) (void) |
Referenced by ipa_read_optimization_summaries_1().
void(* ipa_opt_pass_d::read_summary) (void) |
Referenced by ipa_read_summaries_1().
|
inherited |
Referenced by account_profile_1(), add_pass_instance(), coverage_init(), curr_statistics_hash(), dump_one_pass(), enable_disable_pass(), execute_function_dump(), execute_one_pass(), is_pass_explicitly_enabled_or_disabled(), lto_output_node(), pass_fini_dump_file(), pass_init_dump_file(), optrecord_json_writer::pass_to_json(), passes_pass_traverse(), position_pass(), print_current_pass(), gcc::pass_manager::register_one_dump_file(), gcc::dump_manager::register_pass(), gcc::pass_manager::set_pass_for_id(), statistics_counter_event(), statistics_fini_1(), statistics_fini_pass(), statistics_fini_pass_2(), and statistics_histogram_event().
void(* ipa_opt_pass_d::stmt_fixup) (struct cgraph_node *, gimple **) |
Referenced by execute_ipa_stmt_fixups().
|
inherited |
Referenced by optrecord_json_writer::add_pass_list(), delete_pass_tree(), dump_pass_list(), execute_ipa_pass_list(), execute_ipa_stmt_fixups(), execute_one_pass(), execute_pass_list_1(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), ipa_write_optimization_summaries_1(), ipa_write_summaries_2(), position_pass(), and gcc::pass_manager::register_dump_files().
|
inherited |
Referenced by execute_one_pass().
|
inherited |
Referenced by add_pass_instance(), execute_one_pass(), and position_pass().
|
inherited |
|
inherited |
Referenced by gcc::pass_manager::dump_profile_report(), emergency_dump_function(), execute_all_ipa_transforms(), execute_ipa_pass_list(), execute_ipa_stmt_fixups(), execute_ipa_summary_passes(), execute_one_pass(), execute_pass_list_1(), ipa_read_optimization_summaries_1(), ipa_read_summaries_1(), ipa_write_optimization_summaries_1(), ipa_write_summaries_2(), optrecord_json_writer::pass_to_json(), position_pass(), gcc::pass_manager::register_one_dump_file(), gcc::dump_manager::register_pass(), and should_skip_pass_p().
void(* ipa_opt_pass_d::variable_transform) (varpool_node *) |
void(* ipa_opt_pass_d::write_optimization_summary) (void) |
Referenced by ipa_write_optimization_summaries_1().
void(* ipa_opt_pass_d::write_summary) (void) |
Referenced by ipa_write_summaries_2().