GCC Middle and Back End API Reference
|
Public Member Functions | |
pass_walloca (gcc::context *ctxt) | |
opt_pass * | clone () final override |
void | set_pass_param (unsigned int n, bool param) final override |
bool | gate (function *) final override |
unsigned int | execute (function *) final override |
Data Fields | |
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 Attributes | |
gcc::context * | m_ctxt |
Private Attributes | |
bool | xlimit_certain_p |
|
inline |
Referenced by clone().
|
inlinefinaloverridevirtual |
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 from opt_pass.
References opt_pass::m_ctxt, and pass_walloca().
|
finaloverridevirtual |
Reimplemented from opt_pass.
References adjusted_warn_limit(), ALLOCA_ARG_IS_ZERO, ALLOCA_BOUND_DEFINITELY_LARGE, ALLOCA_BOUND_MAYBE_LARGE, alloca_call_type(), ALLOCA_IN_LOOP, ALLOCA_OK, ALLOCA_UNBOUNDED, as_a(), disable_ranger(), enable_ranger(), expansion_point_location_if_in_system_header(), FOR_EACH_BB_FN, G_, gcc_assert, gcc_unreachable, wide_int_storage::get_len(), gimple_alloca_call_p(), gimple_call_alloca_for_var_p(), gimple_nonartificial_location(), gsi_end_p(), gsi_next(), gsi_start_bb(), gsi_stmt(), in_loop_p(), inform(), alloca_type_and_limit::limit, max_object_size(), print_decu(), si, wi::to_offset(), alloca_type_and_limit::type, warning_at(), WIDE_INT_MAX_INL_ELTS, WIDE_INT_MAX_INL_PRECISION, and xlimit_certain_p.
Reimplemented from opt_pass.
References adjusted_warn_limit(), ptrdiff_type_node, tree_to_uhwi(), and TYPE_MAX_VALUE.
|
inlinefinaloverridevirtual |
Reimplemented from opt_pass.
References gcc_assert, and xlimit_certain_p.
|
protectedinherited |
Referenced by pass_array_bounds::clone(), and 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().
|
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().
|
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().
|
private |
Referenced by execute(), and set_pass_param().