GCC Middle and Back End API Reference
dumpfile.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "options.h"
#include "tree.h"
#include "gimple-pretty-print.h"
#include "diagnostic-core.h"
#include "dumpfile.h"
#include "context.h"
#include "profile-count.h"
#include "tree-cfg.h"
#include "langhooks.h"
#include "backend.h"
#include "gimple.h"
#include "rtl.h"
#include "selftest.h"
#include "optinfo.h"
#include "dump-context.h"
#include "cgraph.h"
#include "tree-pass.h"
#include "optinfo-emit-json.h"
#include "stringpool.h"
#include "spellcheck.h"
#include "make-unique.h"
#include "pretty-print-format-impl.h"
Include dependency graph for dumpfile.cc:

Data Structures

struct  wrapped_optinfo_item
 

Macros

#define skip_leading_substring(whole, part)
 
#define DUMP_FILE_INFO(suffix, swtch, dkind, num)
 
#define FIRST_AUTO_NUMBERED_DUMP   1
 
#define FIRST_ME_AUTO_NUMBERED_DUMP   5
 
#define VERIFY_DUMP_ENABLED_P
 

Functions

static void dump_loc (dump_flags_t, FILE *, location_t)
 
static FILE * dump_open_alternate_stream (struct dump_file_info *)
 
void set_dump_file (FILE *new_dump_file)
 
static void set_alt_dump_file (FILE *new_alt_dump_file)
 
static FILE * dump_open (const char *filename, bool trunc)
 
static const char * kind_as_string (dump_flags_t dump_kind)
 
static void dump_loc (dump_flags_t dump_kind, pretty_printer *pp, location_t loc)
 
static std::unique_ptr< optinfo_itemmake_item_for_dump_gimple_stmt (gimple *stmt, int spc, dump_flags_t dump_flags)
 
static std::unique_ptr< optinfo_itemmake_item_for_dump_gimple_expr (gimple *stmt, int spc, dump_flags_t dump_flags)
 
static std::unique_ptr< optinfo_itemmake_item_for_dump_generic_expr (tree node, dump_flags_t dump_flags)
 
static std::unique_ptr< optinfo_itemmake_item_for_dump_symtab_node (symtab_node *node)
 
template<unsigned int N, typename C >
static std::unique_ptr< optinfo_itemmake_item_for_dump_dec (const poly_int< N, C > &value)
 
void dump_gimple_stmt (const dump_metadata_t &metadata, dump_flags_t extra_dump_flags, gimple *gs, int spc)
 
void dump_gimple_stmt_loc (const dump_metadata_t &metadata, const dump_user_location_t &loc, dump_flags_t extra_dump_flags, gimple *gs, int spc)
 
void dump_gimple_expr (const dump_metadata_t &metadata, dump_flags_t extra_dump_flags, gimple *gs, int spc)
 
void dump_gimple_expr_loc (const dump_metadata_t &metadata, const dump_user_location_t &loc, dump_flags_t extra_dump_flags, gimple *gs, int spc)
 
void dump_generic_expr (const dump_metadata_t &metadata, dump_flags_t extra_dump_flags, tree t)
 
void dump_generic_expr_loc (const dump_metadata_t &metadata, const dump_user_location_t &loc, dump_flags_t extra_dump_flags, tree t)
 
void dump_printf (const dump_metadata_t &metadata, const char *format,...)
 
void dump_printf_loc (const dump_metadata_t &metadata, const dump_user_location_t &loc, const char *format,...)
 
template<unsigned int N, typename C >
void dump_dec (const dump_metadata_t &metadata, const poly_int< N, C > &value)
 
template void dump_dec (const dump_metadata_t &metadata, const poly_uint16 &)
 
template void dump_dec (const dump_metadata_t &metadata, const poly_int64 &)
 
template void dump_dec (const dump_metadata_t &metadata, const poly_uint64 &)
 
template void dump_dec (const dump_metadata_t &metadata, const poly_offset_int &)
 
template void dump_dec (const dump_metadata_t &metadata, const poly_widest_int &)
 
void dump_dec (dump_flags_t dump_kind, const poly_wide_int &value, signop sgn)
 
void dump_hex (dump_flags_t dump_kind, const poly_wide_int &value)
 
void dumpfile_ensure_any_optinfo_are_flushed ()
 
void dump_symtab_node (const dump_metadata_t &metadata, symtab_node *node)
 
unsigned int get_dump_scope_depth ()
 
void dump_begin_scope (const char *name, const dump_user_location_t &user_location, const dump_impl_location_t &impl_location)
 
void dump_end_scope ()
 
FILE * dump_begin (int phase, dump_flags_t *flag_ptr, int part)
 
const char * dump_flag_name (int phase)
 
void dump_end (int phase, FILE *stream)
 
dump_flags_t parse_dump_option (const char *option_value, const char **pos_p)
 
static int opt_info_switch_p_1 (const char *arg, dump_flags_t *flags, optgroup_flags_t *optgroup_flags, char **filename)
 
int opt_info_switch_p (const char *arg)
 
void dump_basic_block (dump_flags_t dump_kind, basic_block bb, int indent)
 
void dump_function (int phase, tree fn)
 
bool enable_rtl_dump_file (void)
 

Variables

static dump_flags_t pflags
 
static FILE * alt_dump_file = NULL
 
static dump_flags_t alt_flags
 
FILE * dump_file = NULL
 
const char * dump_file_name
 
dump_flags_t dump_flags
 
bool dumps_are_enabled = false
 
static struct dump_file_info dump_files [TDI_end]
 
static const kv_pair< dump_flags_tdump_options []
 
static const kv_pair< dump_flags_toptinfo_verbosity_options []
 
const kv_pair< optgroup_flags_toptgroup_options []
 

Macro Definition Documentation

◆ DUMP_FILE_INFO

#define DUMP_FILE_INFO ( suffix,
swtch,
dkind,
num )
Value:
{suffix, swtch, NULL, NULL, NULL, NULL, NULL, dkind, TDF_NONE, TDF_NONE, \
OPTGROUP_NONE, 0, 0, num, false, false}
@ OPTGROUP_NONE
Definition dumpfile.h:253
@ TDF_NONE
Definition dumpfile.h:80
#define NULL
Definition system.h:50

◆ FIRST_AUTO_NUMBERED_DUMP

#define FIRST_AUTO_NUMBERED_DUMP   1

◆ FIRST_ME_AUTO_NUMBERED_DUMP

#define FIRST_ME_AUTO_NUMBERED_DUMP   5

◆ skip_leading_substring

#define skip_leading_substring ( whole,
part )
Value:
(strncmp (whole, part, strlen (part)) ? NULL : whole + strlen (part))
Dump infrastructure for optimizations and intermediate representation.
   Copyright (C) 2012-2024 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
If non-NULL, return one past-the-end of the matching SUBPART of
the WHOLE string.   

Referenced by gcc::dump_manager::dump_switch_p_1().

◆ VERIFY_DUMP_ENABLED_P

#define VERIFY_DUMP_ENABLED_P
Value:
do { \
gcc_assert (dump_enabled_p ()); \
if (!dump_enabled_p ()) \
return; \
} while (0)
bool dump_enabled_p(void)
Definition dumpfile.h:532
Implementation of dump_* API calls, calling into dump_context
member functions.   
Calls to the dump_* functions do non-trivial work, so they ought
to be guarded by:
  if (dump_enabled_p ())
Assert that they are guarded, and, if assertions are disabled,
bail out if the calls weren't properly guarded.   

Referenced by dump_dec(), dump_dec(), dump_generic_expr(), dump_generic_expr_loc(), dump_gimple_expr(), dump_gimple_expr_loc(), dump_gimple_stmt(), dump_gimple_stmt_loc(), dump_hex(), dump_printf(), dump_printf_loc(), and dump_symtab_node().

Function Documentation

◆ dump_basic_block()

void dump_basic_block ( dump_flags_t dump_kind,
basic_block bb,
int indent )
Print basic block on the dump streams.   

References alt_dump_file, alt_flags, dump_bb(), dump_file, dump_context::get(), pflags, and TDF_DETAILS.

◆ dump_begin()

FILE * dump_begin ( int phase,
dump_flags_t * flag_ptr,
int part )
Begin a tree dump for PHASE. Stores any user supplied flag in
*FLAG_PTR and returns a stream to write to. If the dump is not
enabled, returns NULL.
PART can be used for dump files which should be split to multiple
parts. PART == -1 indicates dump file with no parts.
If PART is -1, multiple calls will reopen and append to the dump file.   

References gcc::dump_manager::dump_begin(), g, and gcc::context::get_dumps().

Referenced by build_type_inheritance_graph(), debuginfo_init(), dump_function(), gcc::pass_manager::dump_profile_report(), symbol_table::initialize(), ipa_write_summaries(), lower_nested_functions(), and statistics_init().

◆ dump_begin_scope()

void dump_begin_scope ( const char * name,
const dump_user_location_t & user_location,
const dump_impl_location_t & impl_location )
Push a nested dump scope.
Print "=== NAME ===\n" to the dumpfile, if any, and to the -fopt-info
destination, if any.
Emit a "scope" opinfo if optinfos are enabled.
Increment the scope depth.   

References dump_context::begin_scope(), and dump_context::get().

Referenced by auto_dump_scope::auto_dump_scope().

◆ dump_dec() [1/7]

template void dump_dec ( const dump_metadata_t & metadata,
const poly_int64 &  )

◆ dump_dec() [2/7]

◆ dump_dec() [3/7]

template void dump_dec ( const dump_metadata_t & metadata,
const poly_offset_int &  )

◆ dump_dec() [4/7]

template void dump_dec ( const dump_metadata_t & metadata,
const poly_uint16 &  )

◆ dump_dec() [5/7]

template void dump_dec ( const dump_metadata_t & metadata,
const poly_uint64 &  )

◆ dump_dec() [6/7]

template void dump_dec ( const dump_metadata_t & metadata,
const poly_widest_int &  )

◆ dump_dec() [7/7]

void dump_dec ( dump_flags_t dump_kind,
const poly_wide_int & value,
signop sgn )

◆ dump_end()

void dump_end ( int phase,
FILE * stream )

◆ dump_end_scope()

void dump_end_scope ( )
Pop a nested dump scope.   

References dump_context::end_scope(), and dump_context::get().

Referenced by auto_dump_scope::~auto_dump_scope().

◆ dump_flag_name()

const char * dump_flag_name ( int phase)
Returns the switch name of PHASE.   

References gcc::dump_manager::dump_flag_name(), g, and gcc::context::get_dumps().

◆ dump_function()

void dump_function ( int phase,
tree fn )
Dump FUNCTION_DECL FN as tree dump PHASE.   

References dump_begin(), dump_end(), and dump_function_to_file().

Referenced by finalize_size_functions(), and gimplify_function_tree().

◆ dump_generic_expr()

void dump_generic_expr ( const dump_metadata_t & metadata,
dump_flags_t extra_dump_flags,
tree t )

◆ dump_generic_expr_loc()

void dump_generic_expr_loc ( const dump_metadata_t & metadata,
const dump_user_location_t & loc,
dump_flags_t extra_dump_flags,
tree t )
Similar to dump_generic_expr, except additionally print the source
location.   

References dump_context::dump_generic_expr_loc(), dump_context::get(), and VERIFY_DUMP_ENABLED_P.

Referenced by vect_get_range_info().

◆ dump_gimple_expr()

void dump_gimple_expr ( const dump_metadata_t & metadata,
dump_flags_t extra_dump_flags,
gimple * gs,
int spc )
Dump gimple statement GS with SPC indentation spaces and
EXTRA_DUMP_FLAGS on the dump streams if DUMP_KIND is enabled.
Do not terminate with a newline or semicolon.   

References dump_context::dump_gimple_expr(), dump_context::get(), and VERIFY_DUMP_ENABLED_P.

Referenced by vect_is_simple_use().

◆ dump_gimple_expr_loc()

void dump_gimple_expr_loc ( const dump_metadata_t & metadata,
const dump_user_location_t & loc,
dump_flags_t extra_dump_flags,
gimple * gs,
int spc )
Similar to dump_gimple_expr, except additionally print source location.   

References dump_context::dump_gimple_expr_loc(), dump_context::get(), and VERIFY_DUMP_ENABLED_P.

◆ dump_gimple_stmt()

void dump_gimple_stmt ( const dump_metadata_t & metadata,
dump_flags_t extra_dump_flags,
gimple * gs,
int spc )
Dump gimple statement GS with SPC indentation spaces and
EXTRA_DUMP_FLAGS on the dump streams if DUMP_KIND is enabled.   

References dump_context::dump_gimple_stmt(), dump_context::get(), and VERIFY_DUMP_ENABLED_P.

◆ dump_gimple_stmt_loc()

void dump_gimple_stmt_loc ( const dump_metadata_t & metadata,
const dump_user_location_t & loc,
dump_flags_t extra_dump_flags,
gimple * gs,
int spc )
Similar to dump_gimple_stmt, except additionally print source location.   

References dump_context::dump_gimple_stmt_loc(), dump_context::get(), and VERIFY_DUMP_ENABLED_P.

◆ dump_hex()

void dump_hex ( dump_flags_t dump_kind,
const poly_wide_int & value )
Output VALUE in hexadecimal to appropriate dump streams.   

References alt_dump_file, alt_flags, dump_file, dump_context::get(), pflags, print_hex(), and VERIFY_DUMP_ENABLED_P.

Referenced by vect_get_range_info().

◆ dump_loc() [1/2]

◆ dump_loc() [2/2]

static void dump_loc ( dump_flags_t dump_kind,
FILE * dfile,
location_t loc )
static

◆ dump_open()

static FILE * dump_open ( const char * filename,
bool trunc )
static
Open a dump file called FILENAME.  Some filenames are special and
refer to the standard streams.  TRUNC indicates whether this is the
first open (so the file should be truncated, rather than appended).
An error message is emitted in the event of failure.   

References error(), and fopen.

Referenced by gcc::dump_manager::dump_begin(), dump_open_alternate_stream(), and gcc::dump_manager::dump_start().

◆ dump_open_alternate_stream()

static FILE * dump_open_alternate_stream ( struct dump_file_info * dfi)
static
For a given DFI, open an alternate dump filename (which could also
be a standard stream such as stdout/stderr). If the alternate dump
file cannot be opened, return NULL.   

References dump_file_info::alt_filename, dump_file_info::alt_state, dump_file_info::alt_stream, dump_open(), and NULL.

Referenced by gcc::dump_manager::dump_start().

◆ dump_printf()

void dump_printf ( const dump_metadata_t & metadata,
const char * format,
... )
Output a formatted message using FORMAT on appropriate dump streams.   

References ap, dump_context::dump_printf_va(), pretty_printer::format(), dump_context::get(), and VERIFY_DUMP_ENABLED_P.

Referenced by check_reduction_path(), create_ifn_alias_checks(), create_intersect_range_checks(), create_intersect_range_checks_index(), create_runtime_alias_checks(), create_waw_or_war_checks(), decide_unroll_constant_iterations(), decide_unroll_runtime_iterations(), decide_unroll_stupid(), vect_optimize_slp_pass::dump(), dump_alias_pair(), dump_lower_bound(), early_inliner(), fill_always_executed_in_1(), fill_coldest_and_hotter_out_loop(), get_coverage_counts(), increase_alignment(), inline_small_functions(), ipa_inline(), ipa_icf::sem_function::merge(), ipa_icf::sem_variable::merge(), oacc_privatization_begin_diagnose_var(), oacc_privatization_candidate_p(), parloops_is_simple_reduction(), prune_runtime_alias_test_list(), report_unroll(), runtime_alias_check_p(), sink_common_stores_to_bb(), try_unroll_loop_completely(), try_vectorize_loop_1(), vect_analyze_data_refs(), vect_analyze_group_access_1(), vect_analyze_loop_2(), vect_analyze_loop_form(), vect_bb_vectorization_profitable_p(), vect_build_slp_tree_2(), vect_can_advance_ivs_p(), vect_check_lower_bound(), vect_create_data_ref_ptr(), vect_determine_vectorization_factor(), vect_estimate_min_profitable_iters(), vect_get_range_info(), vect_get_vector_types_for_stmt(), vect_grouped_store_supported(), vect_is_simple_use(), vect_make_slp_decision(), vect_model_reduction_cost(), vect_print_slp_tree(), vect_prune_runtime_alias_test_list(), vect_transform_loop(), vect_transform_slp_perm_load_1(), vect_update_vf_for_slp(), vectorizable_lane_reducing(), vectorizable_operation(), vectorizable_reduction(), and vectorizable_slp_permutation_1().

◆ dump_printf_loc()

void dump_printf_loc ( const dump_metadata_t & metadata,
const dump_user_location_t & loc,
const char * format,
... )
Similar to dump_printf, except source location is also printed, and
dump location captured.   

References ap, dump_context::dump_printf_loc_va(), pretty_printer::format(), dump_context::get(), and VERIFY_DUMP_ENABLED_P.

Referenced by check_counter(), check_load_store_for_partial_vectors(), check_reduction_path(), check_scan_store(), compute_branch_probabilities(), decide_unrolling(), decompose_kernels_region_body(), dependence_distance_ge_vf(), do_split_loop_on_cond(), vect_optimize_slp_pass::dump(), dump_ic_profile(), dump_transformation(), early_inline_small_functions(), eliminate_dom_walker::eliminate_stmt(), loop_distribution::execute(), execute_oacc_device_lower(), expand_call_inline(), find_loop_guard(), flatten_function(), fold_gimple_assign(), get_coverage_counts(), get_group_alias_ptr_type(), get_group_load_store_type(), get_load_store_type(), get_negative_load_store_type(), vect_optimize_slp_pass::get_result_with_layout(), gimple_divmod_fixed_value_transform(), gimple_fold_call(), gimple_mod_pow2_value_transform(), gimple_mod_subtract_transform(), gimple_stringops_transform(), hoist_guard(), inform_oacc_loop(), init_node_map(), inline_always_inline_functions(), inline_small_functions(), tree_loop_interchange::interchange(), ipa_devirt(), ipa_make_edge_direct_to_target(), is_simple_and_all_uses_invariant(), make_region_loop_nest(), make_region_seq(), vect_optimize_slp_pass::materialize(), maybe_build_inner_data_region(), maybe_push_to_hybrid_worklist(), ipa_icf::sem_item_optimizer::merge_classes(), move_early_exit_stmts(), number_of_iterations_exit(), oacc_privatization_begin_diagnose_var(), omp_oacc_kernels_decompose_1(), optimize_load_redistribution_1(), optimize_mask_stores(), parallelize_loops(), parloops_is_simple_reduction(), parloops_is_slp_reduction(), process_use(), recursive_inlining(), report_inline_failed_reason(), report_ploop_op(), report_unroll(), report_vect_op(), scan_sharing_clauses(), sink_common_stores_to_bb(), split_loop(), tree_loop_unroll_and_jam(), tree_ssa_unswitch_loops(), tree_unswitch_outer_loop(), tree_unswitch_single_loop(), try_unroll_loop_completely(), try_vectorize_loop_1(), vect_analyze_data_ref_access(), vect_analyze_data_ref_accesses(), vect_analyze_data_ref_dependence(), vect_analyze_data_refs(), vect_analyze_early_break_dependences(), vect_analyze_group_access_1(), vect_analyze_loop(), vect_analyze_loop_1(), vect_analyze_loop_2(), vect_analyze_loop_costing(), vect_analyze_loop_form(), vect_analyze_loop_operations(), vect_analyze_scalar_cycles_1(), vect_analyze_slp(), vect_analyze_stmt(), vect_bb_partition_graph(), vect_bb_slp_mark_live_stmts(), vect_bb_vectorization_profitable_p(), vect_build_slp_instance(), vect_build_slp_tree(), vect_build_slp_tree_1(), vect_build_slp_tree_2(), vect_can_advance_ivs_p(), vect_can_peel_nonlinear_iv_p(), vect_check_lower_bound(), vect_check_nonzero_value(), vect_check_scalar_mask(), vect_check_store_rhs(), vect_compute_data_ref_alignment(), vect_create_addr_base_for_vector_ref(), vect_create_cond_for_alias_checks(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_cse_slp_nodes(), vect_detect_hybrid_slp(), vect_determine_mask_precision(), vect_determine_min_output_precision_1(), vect_determine_partial_vectors_and_peeling(), vect_determine_precisions_from_range(), vect_determine_precisions_from_users(), vect_determine_vectorization_factor(), vect_determine_vf_for_stmt(), vect_determine_vf_for_stmt_1(), vect_enhance_data_refs_alignment(), vect_estimate_min_profitable_iters(), vect_finish_stmt_generation_1(), vect_gen_prolog_loop_niters(), vect_get_and_check_slp_defs(), vect_get_data_access_cost(), vect_get_load_cost(), vect_get_loop_niters(), vect_get_peel_iters_epilogue(), vect_get_store_cost(), vect_get_vec_defs_for_operand(), vect_get_vector_types_for_stmt(), vect_grouped_load_supported(), vect_grouped_store_supported(), vect_init_vector_1(), vect_is_simple_iv_evolution(), vect_is_simple_reduction(), vect_is_simple_use(), vect_is_simple_use(), vect_joust_loop_vinfos(), vect_lanes_optab_supported_p(), vect_loop_kill_debug_uses(), vect_loop_versioning(), vect_make_slp_decision(), vect_mark_pattern_stmts(), vect_mark_relevant(), vect_mark_stmts_to_be_vectorized(), vect_match_slp_patterns(), vect_model_promotion_demotion_cost(), vect_model_simple_cost(), vect_pattern_detected(), vect_pattern_recog_1(), vect_pattern_validate_optab(), vect_prepare_for_masked_peels(), vect_print_slp_tree(), vect_prune_runtime_alias_test_list(), vect_recog_average_pattern(), vect_recog_cond_expr_convert_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_mulhs_pattern(), vect_recog_over_widening_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_record_base_alignment(), vect_record_max_nunits(), vect_reduction_update_partial_vector_usage(), vect_schedule_slp(), vect_schedule_slp_node(), vect_set_loop_condition(), vect_shift_permute_load_chain(), vect_slp_analyze_bb_1(), vect_slp_analyze_data_ref_dependence(), vect_slp_analyze_node_operations(), vect_slp_analyze_operations(), vect_slp_convert_to_external(), vect_slp_function(), vect_slp_region(), vect_split_slp_store_group(), vect_split_statement(), vect_stmt_relevant_p(), vect_transform_loop(), vect_transform_loop_stmt(), vect_transform_loops(), vect_transform_reduction(), vect_transform_slp_perm_load_1(), vect_transform_stmt(), vect_truncate_gather_scatter_offset(), vect_update_ivs_after_vectorizer(), vect_update_misalignment_for_peel(), vect_update_vf_for_slp(), vect_use_strided_gather_scatters_p(), vect_verify_loop_lens(), vector_alignment_reachable_p(), vectorizable_assignment(), vectorizable_bb_reduc_epilogue(), vectorizable_bswap(), vectorizable_call(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_conversion(), vectorizable_early_exit(), vectorizable_induction(), vectorizable_lane_reducing(), vectorizable_lc_phi(), vectorizable_live_operation(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_phi(), vectorizable_recurr(), vectorizable_reduction(), vectorizable_scan_store(), vectorizable_shift(), vectorizable_simd_clone_call(), vectorizable_slp_permutation_1(), vectorizable_store(), walk_polymorphic_call_targets(), walk_polymorphic_call_targets(), want_early_inline_function_p(), and want_inline_self_recursive_call_p().

◆ dump_symtab_node()

void dump_symtab_node ( const dump_metadata_t & metadata,
symtab_node * node )
Output the name of NODE on appropriate dump streams.   

References dump_context::dump_symtab_node(), dump_context::get(), and VERIFY_DUMP_ENABLED_P.

◆ dumpfile_ensure_any_optinfo_are_flushed()

void dumpfile_ensure_any_optinfo_are_flushed ( )
Emit and delete the currently pending optinfo, if there is one,
without the caller needing to know about class dump_context.   

References dump_context::end_any_optinfo(), and dump_context::get().

Referenced by set_alt_dump_file(), and set_dump_file().

◆ enable_rtl_dump_file()

bool enable_rtl_dump_file ( void )
Enable RTL dump for all the RTL passes.   

References DK_rtl, gcc::dump_manager::dump_enable_all(), g, gcc::context::get_dumps(), NULL, TDF_BLOCKS, and TDF_DETAILS.

Referenced by handle_common_deferred_options().

◆ get_dump_scope_depth()

unsigned int get_dump_scope_depth ( )
Get the current dump scope-nesting depth.
For use by -fopt-info (for showing nesting via indentation).   

References dump_context::get(), and dump_context::get_scope_depth().

Referenced by dump_loc(), and dump_loc().

◆ kind_as_string()

static const char * kind_as_string ( dump_flags_t dump_kind)
static
Extract the MSG_* component from DUMP_KIND and return a string for use
as a prefix to dump messages.
These match the strings in optinfo_verbosity_options and thus the
"OPTIONS" within "-fopt-info-OPTIONS".   

References gcc_unreachable, MSG_ALL_KINDS, MSG_MISSED_OPTIMIZATION, MSG_NOTE, and MSG_OPTIMIZED_LOCATIONS.

Referenced by dump_loc(), and dump_loc().

◆ make_item_for_dump_dec()

template<unsigned int N, typename C >
static std::unique_ptr< optinfo_item > make_item_for_dump_dec ( const poly_int< N, C > & value)
static

◆ make_item_for_dump_generic_expr()

static std::unique_ptr< optinfo_item > make_item_for_dump_generic_expr ( tree node,
dump_flags_t dump_flags )
static

◆ make_item_for_dump_gimple_expr()

static std::unique_ptr< optinfo_item > make_item_for_dump_gimple_expr ( gimple * stmt,
int spc,
dump_flags_t dump_flags )
static

◆ make_item_for_dump_gimple_stmt()

static std::unique_ptr< optinfo_item > make_item_for_dump_gimple_stmt ( gimple * stmt,
int spc,
dump_flags_t dump_flags )
static

◆ make_item_for_dump_symtab_node()

static std::unique_ptr< optinfo_item > make_item_for_dump_symtab_node ( symtab_node * node)
static

◆ opt_info_switch_p()

int opt_info_switch_p ( const char * arg)
Return non-zero if ARG is a recognized switch for
-fopt-info. Return zero otherwise.   

References g, gcc::context::get_dumps(), MSG_ALL_KINDS, MSG_OPTIMIZED_LOCATIONS, NULL, gcc::dump_manager::opt_info_enable_passes(), opt_info_switch_p_1(), OPTGROUP_ALL, and warning().

Referenced by handle_common_deferred_options().

◆ opt_info_switch_p_1()

static int opt_info_switch_p_1 ( const char * arg,
dump_flags_t * flags,
optgroup_flags_t * optgroup_flags,
char ** filename )
static
Parse ARG as a -fopt-info switch and store flags, optgroup_flags
and filename.  Return non-zero if it is a recognized switch.   

References MSG_PRIORITY_REEMITTED, MSG_PRIORITY_USER_FACING, kv_pair< ValueType >::name, NULL, OPTGROUP_NONE, optgroup_options, optinfo_verbosity_options, and warning().

Referenced by opt_info_switch_p().

◆ parse_dump_option()

dump_flags_t parse_dump_option ( const char * option_value,
const char ** pos_p )
Helper routine to parse -<dump format>[=filename]
and return the corresponding dump flag.  If POS_P is non-NULL,
assign start of filename into *POS_P.   

References dump_options, MSG_PRIORITY_INTERNALS, MSG_PRIORITY_USER_FACING, kv_pair< ValueType >::name, NULL, TDF_ERROR, kv_pair< ValueType >::value, and warning().

Referenced by gcc::dump_manager::dump_switch_p_1().

◆ set_alt_dump_file()

static void set_alt_dump_file ( FILE * new_alt_dump_file)
static
Set "alt_dump_file" to NEW_ALT_DUMP_FILE, refreshing the "dumps_are_enabled"
global.   

References alt_dump_file, dumpfile_ensure_any_optinfo_are_flushed(), dump_context::get(), and dump_context::refresh_dumps_are_enabled().

Referenced by gcc::dump_manager::dump_finish(), and gcc::dump_manager::dump_start().

◆ set_dump_file()

Variable Documentation

◆ alt_dump_file

◆ alt_flags

◆ dump_file

FILE* dump_file = NULL
These are currently used for communicating between passes.
However, instead of accessing them directly, the passes can use
dump_printf () for dumps.   

Referenced by ipa_fn_summary::account_size_time(), add_candidate_1(), add_control_edge(), add_edge(), add_exit_phi(), add_forwarder_blocks(), cgraph_node::add_new_function(), infer_range_manager::add_range(), add_removable_extension(), add_ssa_edge(), add_stmt_cost(), add_store_equivs(), add_stores(), scev_dfs::add_to_evolution(), add_to_predicate_list(), add_uses(), add_with_sets(), def_walker< reverse >::addr_reg_conflict_p(), adjust_cfg_counts(), adjust_clone_incoming_counts(), adjust_iv_update_pos(), back_jt_path_registry::adjust_paths_after_duplication(), adjust_references_in_caller(), autofdo::afdo_indirect_call(), alias_get_name(), all_phi_incrs_profitable_1(), analyze_access_subtree(), analyze_all_variable_accesses(), analyze_and_mark_doloop_use(), analyze_candidates_and_replace(), loop_cand::analyze_carried_vars(), analyze_evolution_in_loop(), analyze_function(), analyze_function(), analyze_function_body(), loop_cand::analyze_iloop_reduction_var(), loop_cand::analyze_induction_var(), analyze_initial_condition(), analyze_insn_to_expand_var(), analyze_miv_subscript(), loop_cand::analyze_oloop_reduction_var(), analyze_overlapping_iterations(), analyze_scalar_evolution(), analyze_siv_subscript(), analyze_siv_subscript_cst_affine(), analyze_subscript_affine_affine(), tree_switch_conversion::switch_decision_tree::analyze_switch_statement(), analyze_ziv_subscript(), asan_emit_stack_protection(), assume_query::assume_query(), attempt_builtin_copysign(), attempt_builtin_powi(), attempt_change(), auto_simd_fail(), dom_opt_dom_walker::before_dom_children(), eliminate_dom_walker::before_dom_children(), ipcp_modif_dom_walker::before_dom_children(), rewrite_dom_walker::before_dom_children(), rewrite_update_dom_walker::before_dom_children(), substitute_and_fold_dom_walker::before_dom_children(), dump_context::begin_scope(), bitfields_to_lower_p(), blend_vec_perm_simplify_seqs(), branch_prob(), loop_distribution::break_alias_scc_partitions(), break_up_subtract(), budget_for_propagation_access(), build_access_from_call_arg(), build_insn_chain(), build_new_reduction(), tree_switch_conversion::switch_conversion::build_one_array(), build_store_vectors(), bypass_block(), calculate_bb_reg_pressure(), calculate_elim_costs_all_insns(), calculate_loop_reg_pressure(), assume_query::calculate_op(), assume_query::calculate_phi(), assume_query::calculate_stmt(), call_may_clobber_ref_p_1(), can_blend_vec_perm_simplify_seqs_p(), can_use_analyze_subscript_affine_affine(), cancel_fma_deferring(), cancel_negative_cycle(), cancel_thread(), canon_address(), canonicalize_loop_induction_variables(), cfg_layout_merge_blocks(), cfg_layout_redirect_edge_and_branch(), rt_bb_visited::check(), array_bounds_checker::check_addr_expr(), check_all_va_list_escapes(), array_bounds_checker::check_array_ref(), gimple_infer_range::check_assume_func(), check_call(), check_decl(), check_mem_read_rtx(), check_op(), check_reduction_path(), check_stmt(), check_stmt_for_type_change(), check_va_list_escapes(), chrec_apply(), clean_up_loop_closed_phi(), cleanup_empty_eh(), cleanup_empty_eh_unsplit(), clone_for_param_removal_p(), coalesce_bitint(), coalesce_ssa_name(), collect_object_sizes_for(), uninit_analysis::collect_phi_def_edges(), combine_instructions(), combine_predictions_for_bb(), combine_predictions_for_insn(), combine_reaching_defs(), combine_set_extension(), ipa_polymorphic_call_context::combine_speculation_with(), combine_validate_cost(), ipa_polymorphic_call_context::combine_with(), compute_affine_dependence(), compute_alias_check_pairs(), compute_alignments(), compute_antic(), compute_antic_aux(), compute_avail(), compute_branch_probabilities(), compute_builtin_object_size(), compute_code_hoist_data(), compute_code_hoist_vbeinout(), compute_control_dep_chain(), compute_control_dep_chain_pdom(), compute_data_dependences_for_loop(), compute_dependence_clique(), compute_fn_summary(), compute_invariantness(), gori_compute::compute_logical_operands(), compute_may_aliases(), gori_compute::compute_operand1_range(), gori_compute::compute_operand2_range(), gori_compute::compute_operand_range(), compute_optimized_partition_bases(), compute_overlap_steps_for_affine_1_2(), compute_partial_antic_aux(), compute_points_to_sets(), path_range_query::compute_ranges(), path_range_query::compute_ranges_in_block(), compute_residual_flow(), compute_stack_clash_protection_loop_data(), compute_store_table(), compute_trims(), compute_value_histograms(), cond_exec_find_if_block(), cond_exec_process_if_block(), cond_if_else_store_replacement_1(), cond_store_replacement(), connect_traces(), connect_traces(), consider_split(), convert_all_function_calls(), convert_if_conditions_to_switch(), convert_mult_to_fma(), convert_mult_to_fma_1(), convert_scalar_cond_reduction(), copy_bb(), copy_bb(), copy_bb_p(), copy_prop_visit_cond_stmt(), copyprop_hardreg_forward_1(), cprop_insn(), cprop_jump(), cprop_operand(), create_access(), create_access_replacement(), create_add_on_incoming_edge(), create_canonical_iv(), create_data_ref(), create_expression_by_pieces(), create_fixup_graph(), create_new_chain(), create_new_invariant(), create_new_ivs(), create_phi_basis_1(), create_preheader(), create_pseudo_cfg(), create_specialized_node(), create_variable_info_for_1(), cse_main(), cselib_expand_value_rtx_1(), cselib_lookup(), dataflow_set_different(), dbr_schedule(), dce_process_block(), jt_path_registry::debug_path(), decide_about_value(), decide_unroll_constant_iterations(), decide_unroll_runtime_iterations(), decide_unroll_stupid(), decide_unrolling(), decide_whether_version_node(), decompose_multiword_subregs(), decompose_register(), default_avoid_store_forwarding_p(), delete_dead_jumptables(), delete_dead_or_redundant_assignment(), delete_dead_or_redundant_call(), delete_dead_store_insn(), delete_noop_moves(), delete_points_to_sets(), delete_redundant_insns(), delete_redundant_insns_1(), delete_trivially_dead_insns(), delete_unmarked_insns(), determine_group_iv_costs(), determine_iv_costs(), determine_loop_nest_reuse(), determine_max_iter(), determine_set_costs(), determine_unlikely_bbs(), determine_versionability(), df_analyze_1(), df_bb_replace(), df_create_unused_note(), df_insn_change_bb(), df_insn_delete(), df_insn_rescan(), df_insn_rescan_debug_internal(), df_install_ref_incremental(), df_note_bb_compute(), df_print_note(), df_process_deferred_rescans(), df_ref_change_reg_with_loc_1(), df_set_blocks(), df_set_dead_notes_for_mw(), df_set_unused_notes_for_mw(), df_worklist_dataflow_doublequeue(), disambiguate_multiple_latches(), discover_iteration_bound_by_body_walk(), discover_loop(), discover_loops(), disqualify_candidate(), disqualify_problematic_components(), loop_distribution::distribute_loop(), ipa_icf::sem_item_optimizer::do_congruence_step(), range_tracer::do_header(), do_hoist_insertion(), do_local_cprop(), do_pre_partial_partial_insertion(), do_pre_regular_insertion(), do_reload(), do_rpo_vn_1(), do_while_loop_p(), doloop_modify(), doloop_optimize(), doloop_valid_p(), dom_ranger::dom_ranger(), dr_analyze_innermost(), drop_profile(), dse_optimize_stmt(), dse_step1(), dse_step2_init(), dse_step4(), dse_step5(), dse_step6(), ipa_icf::sem_item::dump(), path_range_query::dump(), pointer_query::dump(), dump_access_strides(), dump_affine_iv(), dump_attrs_list(), dump_basic_block(), dump_cand_chains(), dump_cand_vec(), dump_candidate(), dump_cands(), dump_choices(), dump_clusters(), dump_components(), ipa_icf::sem_item_optimizer::dump_cong_classes(), dump_constraint(), dump_dataflow_set(), dump_dataflow_sets(), dump_dec(), dump_def_use_chain(), dump_function_header(), dump_hex(), dump_histogram(), dump_histogram_value(), dump_histograms_for_stmt(), dump_hwloops(), dump_incr_vec(), dump_induction(), dump_inline_stats(), dump_insn_info(), dump_jump_thread_path(), dump_context::dump_loc_immediate(), dump_malloc_lattice(), dump_onepart_variable_differences(), dump_overall_stats(), dump_path(), dump_prediction(), gcc::pass_manager::dump_profile_report(), dump_profile_updates(), dump_ranger(), dump_reduction(), dump_shift_choices(), dump_stack_clash_frame_info(), dump_stack_var_partition(), dump_tm_memopt_set(), dump_tm_memopt_sets(), dump_tm_memopt_transform(), dump_var(), dump_vars(), dynamic_object_sizes_execute_one(), early_inliner(), edge_badness(), gori_compute::edge_range_p(), rpo_elim::eliminate_avail(), eliminate_dom_walker::eliminate_cleanup(), eliminate_duplicate_pair(), eliminate_dom_walker::eliminate_insert(), eliminate_not_pairs(), eliminate_partially_redundant_load(), eliminate_plus_minus_pair(), rpo_elim::eliminate_push_avail(), eliminate_redundant_comparison(), eliminate_redundant_computations(), eliminate_dom_walker::eliminate_stmt(), eliminate_tail_call(), eliminate_unnecessary_stmts(), eliminate_using_constants(), emergency_dump_function(), tree_switch_conversion::switch_decision_tree::emit(), emit_common_heads_for_components(), emit_common_tails_for_components(), dump_context::emit_item(), emit_reload_insns(), end_branch_prob(), entry_register(), ipa_icf::sem_function::equals(), ipa_icf::sem_variable::equals(), ipa_icf::sem_function::equals_wpa(), estimate_bb_frequencies(), estimate_calls_size_and_time(), estimate_local_effects(), estimate_numbers_of_iterations(), ipa_call_context::estimate_size_and_time(), estimate_threading_killed_stmts(), evaluate_stmt(), ipa_icf::sem_item_optimizer::execute(), loop_distribution::execute(), execute_build_cfg(), execute_early_expand_coro_ifns(), execute_expand_omp(), execute_function_dump(), execute_oacc_loop_designation(), execute_one_ipa_transform_pass(), execute_one_pass(), execute_ranger_vrp(), execute_sm(), execute_sm_exit(), execute_split_functions(), execute_todo(), tree_switch_conversion::switch_conversion::exp_index_transform(), expand_all_functions(), expand_call_inline(), expand_expr_divmod(), expand_gimple_basic_block(), expand_loc(), expand_omp(), expand_omp_target(), expand_omp_taskreg(), expand_POPCOUNT(), expand_pow_as_sqrts(), expand_simd_clones(), expand_used_vars(), expansion_failed(), expected_loop_iterations_by_profile(), expensive_function_p(), gimple_ranger::export_global_ranges(), ext_dce_try_optimize_insn(), extr_type_from_vtbl_ptr_store(), factor_out_conditional_operation(), ranger_cache::fill_block_cache(), final_value_replacement_loop(), finalize_nesting_tree_1(), find_always_executed_bbs(), find_and_remove_re(), find_clusters(), find_cond_trap(), find_defs(), find_doloop_use(), find_duplicate(), find_identical_invariants(), find_if_case_1(), find_if_case_2(), find_if_header(), find_implicit_sets(), find_inc(), find_induction_variables(), find_interesting_uses(), find_invariants_bb(), find_iv_candidates(), find_local_vars_to_propagate(), find_max_flow(), find_minimum_cost_flow(), find_more_contexts_for_caller_subset(), find_more_scalar_values_for_callers_subset(), find_moveable_pseudos(), find_necessary_statements(), find_obviously_necessary_stmts(), find_optimal_iv_set(), find_optimal_iv_set_1(), back_threader::find_paths_to_names(), find_reg(), find_reload_regs(), find_seed_stmts_for_distribution(), find_simple_exit(), find_spanning_tree(), find_split_points(), find_subloop_latch_edge_by_ivs(), find_subloop_latch_edge_by_profile(), find_tail_calls(), find_trace(), find_traces(), find_traces_1_round(), pair_fusion::find_trailing_add(), find_uninit_use(), finish_spills(), finite_function_p(), finite_loop_p(), fix_loop_structure(), fixup_debug_use(), fixup_debug_uses(), flow_loops_find(), asan_redzone_buffer::flush_redzone_payload(), simplify_using_ranges::fold_cond(), ccp_folder::fold_stmt(), force_edge_cold(), force_expr_to_var_cost(), forward_propagate_into_gimple_cond(), free_growth_caches(), profile_count::from_gcov_type(), function_and_variable_visibility(), function_called_by_processed_nodes_p(), pair_fusion_bb_info::fuse_pair(), fwprop_done(), gather_chrec_stats(), gather_mem_refs_stmt(), gather_memory_references_ref(), gather_stats_on_scev_database(), gcse_after_reload_main(), gen_parallel_loop(), generate_memcpy_builtin(), generate_memset_builtin(), generate_reduction_builtin_1(), generate_summary(), generic_predict_doloop_p(), get_bitfield_rep(), cgraph_node::get_body(), get_chain_decl(), get_chain_field(), get_constraint_for_component_ref(), cgraph_node::get_create(), ipa_polymorphic_call_context::get_dynamic_type(), get_hot_bb_threshold(), get_loop_exit_condition(), get_nth_most_common_value(), get_rank(), get_read_write_all_from_node(), get_replacement_map(), get_representative_for(), get_scalar_evolution(), get_scaled_computation_cost_at(), get_string_length(), pair_fusion::get_viable_bases(), gimple_find_values_to_profile(), gimple_fold_call(), gimple_fold_stmt_to_constant_1(), gimple_lower_bitint(), gimple_merge_blocks(), gimple_ranger::gimple_ranger(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), gimple_resimplify4(), gimple_simplify_phiopt(), gimple_value_profile_transformations(), good_cloning_opportunity_p(), gori_compute::gori_compute(), guards_builtin_unreachable(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_strlen(), strlen_pass::handle_integral_assign(), handle_simple_exit(), hoist_adjacent_loads(), hoist_guard(), identify_dead_nodes(), if_convert(), if_convertible_bb_p(), if_convertible_gimple_assign_stmt_p(), if_convertible_loop_p(), if_convertible_loop_p_1(), if_convertible_phi_p(), if_convertible_stmt_p(), ifcombine_ifandif(), ifcvt_local_dce(), ifcvt_split_critical_edges(), init_dce(), init_eliminable_invariants(), predicate::init_from_control_deps(), init_rename_info(), init_separate_shrink_wrap(), uninit_analysis::init_use_preds(), init_worklist(), initialize_constant_pool_replacements(), initialize_node_lattices(), initialize_uninitialized_regs(), inline_analyze_function(), inline_call(), inline_indirect_intraprocedural_analysis(), inline_small_functions(), inline_to_all_callers_1(), inline_transform(), insert(), modref_access_node::insert(), modref_tree< T >::insert(), modref_ref_node< T >::insert_access(), modref_tree< T >::insert_base(), insert_check_and_trap(), insert_edge_check_and_trap(), insert_initializers(), insert_insn_end_basic_block(), insert_insn_start_basic_block(), insert_into_preds_of_block(), modref_access_node::insert_kill(), insert_part_to_rtx_on_edge(), insert_partition_copy_on_edge(), insert_phi_nodes_for(), insert_prologue_epilogue_for_components(), modref_base_node< T >::insert_ref(), insert_rtx_to_part_on_edge(), insert_store(), insert_value_copy_on_edge(), insn_to_prefetch_ratio_too_small_p(), instantiate_scev(), instrument_edges(), tree_loop_interchange::interchange(), internal_error_reentered(), introduce_cast_before_cand(), ipa_comdats(), ipa_devirt(), ipa_discover_variable_flags(), ipa_dump_jump_function(), ipa_impossible_devirt_target(), ipa_init(), ipa_inline(), ipa_lower_emutls(), ipa_make_edge_direct_to_target(), ipa_make_function_const(), ipa_make_function_pure(), ipa_merge_fn_summary_after_inlining(), ipa_merge_modref_summary_after_inlining(), ipa_odr_read_section(), ipa_profile(), ipa_profile_dump_all_summaries(), ipa_profile_generate_summary(), ipa_propagate_frequency(), ipa_propagate_frequency_1(), ipa_pta_execute(), ipa_record_return_value_range(), ipa_reference_read_optimization_summary(), ipa_single_use(), ipa_sra_summarize_function(), ipa_tm_scan_irr_function(), ipa_write_summaries(), ipcp_cloning_candidate_p(), ipcp_decision_stage(), ipcp_discover_new_direct_edges(), ipcp_driver(), ipcp_generate_summary(), ipcp_propagate_stage(), ipcp_store_vr_results(), ipcp_transform_function(), ipcp_update_vr(), ipcp_verify_propagated_values(), ira_remove_insn_scratches(), ira_restore_scratches(), ira_set_pseudo_classes(), is_edge_inconsistent(), tree_switch_conversion::switch_conversion::is_exp_index_transform_viable(), is_feasible_trace(), is_inconsistent(), uninit_analysis::is_use_guarded(), issue_prefetch_ref(), iv_analysis_loop_init(), iv_analyze_biv(), iv_analyze_def(), iv_analyze_op(), path_oracle::killing_def(), label_for_bb(), simplify_using_ranges::legacy_fold_cond(), linearize_expr(), linearize_expr_tree(), load_modified_by_store_p(), gori_compute::logical_combine(), avail_exprs_stack::lookup_avail_expr(), loop_niter_by_eval(), loop_optimizer_init(), loop_parallel_p(), loop_prefetch_arrays(), lower_bitfield(), lower_nested_functions(), cgraph_edge::make_speculative(), malloc_candidate_p(), mark_insn(), mark_nonssa_use(), mark_nontemporal_store(), mark_operand_necessary(), mark_reg_dependencies(), mark_ssa_maybe_undefs(), mark_stmt_necessary(), mark_stmt_necessary(), mark_virtual_phi_result_for_renaming(), match_simplify_replacement(), maybe_add_sra_candidate(), maybe_dump_rtl_for_gimple_stmt(), maybe_duplicate_computed_goto(), maybe_error_musttail(), maybe_flat_loop_profile(), maybe_invalidate(), maybe_lower_iteration_bound(), maybe_optimize_arith_overflow(), maybe_optimize_var(), maybe_record_trace_start(), back_threader::maybe_register_path(), back_threader::maybe_register_path_dump(), path_range_query::maybe_register_phi_relation(), maybe_remove_writeonly_store(), maybe_trim_memstar_call(), ipa_polymorphic_call_context::meet_speculation_with(), ipa_polymorphic_call_context::meet_with(), mem_ref_count_reasonable_p(), merge_blocks_move(), merge_blocks_move_predecessor_nojumps(), merge_blocks_move_successor_nojumps(), ipa_icf::sem_item_optimizer::merge_classes(), merge_in_block(), merge_latch_edges(), pair_fusion_bb_info::merge_pairs(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::modify_expression(), move_computations_worker(), move_edge_and_update(), move_invariant_reg(), move_loop_invariants(), move_stmt(), move_unallocated_pseudos(), movement_possibility_1(), multiplier_allowed_in_address_p(), narrow_vec_perm_simplify_seq(), new_cselib_val(), new_var_info(), noce_find_if_block(), noce_process_if_block(), non_affine_dependence_relation(), predicate::normalize(), number_of_iterations_cond(), number_of_latch_executions(), oacc_do_neutering(), oacc_entry_exit_ok_1(), oacc_entry_exit_single_gang(), oacc_loop_auto_partitions(), oacc_loop_fixed_partitions(), oacc_privatization_candidate_p(), object_sizes_execute(), ok_for_auto_simd_clone(), omp_expand_local(), omp_sese_discover_pars(), omp_sese_dump_pars(), one_code_hoisting_pass(), one_cprop_pass(), one_pre_gcse_pass(), one_store_motion_pass(), optimize_loop(), optimize_memcpy_to_memset(), optimize_ops_list(), optimize_range_tests_var_bound(), optimize_recip_sqrt(), dom_opt_dom_walker::optimize_stmt(), optimize_tail_call(), optimize_va_list_gpr_fpr_size(), optimize_vec_cond_expr(), optimize_weakref(), outgoing_edges_match(), parallelize_loops(), param_change_prob(), ipa_icf::sem_item_optimizer::parse_nonsingleton_classes(), loop_distribution::partition_merge_into(), pass_init_dump_file(), perform_tree_ssa_dce(), perform_var_substitution(), perhaps_add_new_callers(), phi_translate_1(), phiprop_insert_phi(), avail_exprs_stack::pop_to_marker(), const_and_copies::pop_to_marker(), back_threader_profitability::possibly_profitable_path_p(), dom_ranger::post_bb(), dom_ranger::pre_bb(), pre_delete(), pre_edge_insert(), pre_edge_lcm_avs(), pre_edge_rev_lcm(), pre_insert_copy_insn(), predicate_for_phi_result(), predicate_scalar_phi(), predict_loops(), gimple_ranger::prefill_stmt_dependencies(), prescan_insns_for_dce(), range_tracer::print(), print_limit_reach(), range_tracer::print_prefix(), print_stats(), print_store_motion_mems(), process_bb(), ipa_icf::sem_item_optimizer::process_cong_reduction(), phi_analyzer::process_phi(), process_vec_perm_simplify_seq_list(), back_threader_profitability::profitable_path_p(), propagate(), propagate_bits_across_jump_function(), ranger_cache::propagate_cache(), propagate_controlled_uses(), propagate_freq(), propagate_malloc(), propagate_necessity(), propagate_nothrow(), propagate_pure_const(), propagate_unlikely_bbs_forward(), dom_walker::propagate_unreachable_to_edges(), ranger_cache::propagate_updated_value(), prune_group_by_reuse(), prune_predictions_for_bb(), pure_const_read_summary(), purge_dead_edges(), push_dump_file::push_dump_file(), vn_walk_cb_data::push_partial_def(), path_range_query::range_defined_in_block(), ranger_cache::range_from_dom(), fold_using_range::range_of_call(), fold_using_range::range_of_cond_expr(), dom_ranger::range_of_expr(), gimple_ranger::range_of_expr(), fold_using_range::range_of_phi(), fold_using_range::range_of_range_op(), fold_using_range::range_of_ssa_name_with_loop_info(), dom_ranger::range_of_stmt(), gimple_ranger::range_of_stmt(), dom_ranger::range_on_edge(), gimple_ranger::range_on_edge(), gimple_ranger::range_on_entry(), gimple_ranger::range_on_exit(), loop_distribution::rdg_build_partitions(), read_profile_edge_counts(), read_write_all_from_decl(), reassociate_bb(), rebuild_frequencies(), recog_for_combine_1(), recognise_vec_perm_simplify_seq(), path_oracle::record(), relation_oracle::record(), relation_oracle::record(), const_and_copies::record_const_or_copy_raw(), record_equivalences_from_stmt(), record_estimate(), avail_exprs_stack::record_expr(), record_known_type(), record_modified(), record_nonwrapping_chrec(), record_nonwrapping_iv(), record_ref(), record_store(), jump_threader::record_temporary_equivalences_from_stmts_at_dest(), recursive_inlining(), redirect_branch_edge(), cgraph_edge::redirect_call_stmt_to_callee(), reduce_vector_comparison_to_scalar_comparison(), ref_conflicts_with_region(), ref_indep_loop_p(), ref_maybe_used_by_call_p_1(), dump_context::refresh_dumps_are_enabled(), refs_independent_p(), jt_path_registry::register_jump_thread(), gimple_ranger::register_transitive_inferred_ranges(), dom_oracle::register_transitives(), regrename_analyze(), reject(), fold_using_range::relation_fold_and_or(), release_free_names_and_compact_live_names(), relink_block_chain(), remove_bb(), remove_dead_phis(), remove_dead_stmt(), remove_described_reference(), remove_exits_and_undefined_stmts(), remove_gimple_phi_args(), remove_reachable_equiv_notes(), remove_redundant_iv_tests(), remove_ssa_form(), remove_unreachable_handlers(), remove_unreachable_handlers_no_lp(), remove_unused_locals(), rename_chains(), reorder_basic_blocks(), reorder_basic_blocks_simple(), reorder_basic_blocks_software_trace_cache(), reorder_loops(), reorder_operands(), reorg_loops(), replace_mult_candidate(), replace_oldest_value_reg(), replace_one_candidate(), substitute_and_fold_engine::replace_phi_args_in(), replace_phi_edge_with_variable(), replace_read(), replace_ref(), replace_refs(), ipa_param_body_adjustments::replace_removed_params_ssa_names(), replace_rhs_if_not_dup(), scc_copy_prop::replace_scc_by_value(), replace_stmt_with_simplification(), replace_store_insn(), replace_uncond_cands_and_profitable_phis(), report_inline_failed_reason(), report_predictor_hitrates(), resolve_shift_zext(), cgraph_edge::resolve_speculation(), rest_of_handle_cse(), rest_of_handle_cse2(), rest_of_handle_dse(), rest_of_handle_if_conversion(), return_different_stmts_1(), return_false_with_message_1(), return_with_result(), back_jt_path_registry::rewire_first_differing_edge(), rewrite_blocks(), rewrite_constraints(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), rewrite_out_of_ssa(), rewrite_stmt(), rewrite_to_defined_overflow(), rewrite_update_stmt(), rewrite_use_compare(), rtl_delete_block(), rtl_loop_init(), rtl_merge_blocks(), run_rpo_vn(), sanitize_hot_paths(), sanopt_optimize_walker(), save_inline_function_body(), scale_loop_profile(), scale_profile_for_vect_loop(), scan_insn(), scan_rtx_reg(), scan_trace(), schedule_prefetches(), ipa_icf::set_alias_uids(), set_bb_predicate(), set_const_flag_1(), set_dump_file(), set_edge_probability_and_rescale_others(), ranger_cache::set_global_range(), set_incoming_from_chain(), set_lattice_value(), set_move_mark(), set_nothrow_function_flags(), dom_oracle::set_one_relation(), set_range_info(), set_scalar_evolution(), set_ssa_val_to(), setup_save_areas(), should_duplicate_loop_header_p(), should_interchange_loops(), should_issue_prefetch_p(), shrink_wrap_one_built_in_call_with_conds(), simple_dce_from_worklist(), predicate::simplify(), simplify_using_ranges::simplify_compare_assign_using_ranges_1(), simplify_compare_const(), simplify_using_ranges::simplify_cond_using_ranges_1(), simplify_peeled_chrec(), simplify_using_ranges::simplify_switch_using_ranges(), ssa_propagation_engine::simulate_block(), ssa_propagation_engine::simulate_stmt(), sink_code_in_bb(), skip_function_for_local_pure_const(), solve_constraints(), sort_and_splice_var_accesses(), spill_failure(), split_at_bb_p(), split_function(), split_live_ranges_for_shrink_wrap(), split_loop(), split_paths(), spread_components(), sra_modify_assign(), ssa_base_cand_dump_callback(), ssa_propagation_engine::ssa_propagate(), ssa_redirect_edges(), state_from_flags(), statistics_fini_pass(), statistics_fini_pass_1(), stmt_kills_ref_p(), store_modifies_mem_p(), subscript_dependence_tester(), substitute_and_fold_engine::substitute_and_fold(), tail_duplicate(), tail_merge_optimize(), tm_log_emit(), tm_memopt_accumulate_memops(), tm_memopt_compute_antic(), tm_memopt_compute_available(), pair_fusion_bb_info::track_access(), pair_fusion_bb_info::track_via_mem_expr(), range_tracer::trailer(), transform_ifelse(), loop_distribution::transform_reduction_loop(), transform_stmt_to_copy(), transform_stmt_to_multiply(), ipa_icf::sem_item_optimizer::traverse_congruence_split(), tree_estimate_loop_size(), tree_if_conversion(), tree_loop_unroll_and_jam(), pcom_worker::tree_predictive_commoning_loop(), tree_profiling(), tree_ssa_iv_optimize(), tree_ssa_iv_optimize_loop(), tree_ssa_prefetch_arrays(), trim_ld_motion_mems(), trip_count_to_ahead_ratio_too_small_p(), try_combine(), try_create_reduction_list(), try_crossjump_to_edge(), try_forward_edges(), pair_fusion_bb_info::try_fuse_pair(), try_fwprop_subst_note(), try_fwprop_subst_pattern(), try_get_loop_niter(), try_merge(), try_optimize_cfg(), try_peel_loop(), pair_fusion::try_promote_writeback(), try_redirect_by_replacing_jump(), try_shrink_wrapping(), try_shrink_wrapping_separate(), try_simplify_condjump(), try_unroll_loop_completely(), undistribute_bitref_for_vector(), undistribute_ops_list(), unify_nodes(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), unroll_loop_stupid(), unsplit_eh(), modref_access_node::update(), update_bb_profile_for_threading(), update_counts_for_self_gen_clones(), update_edge_key(), autofdo::autofdo_source_profile::update_inlined_ind_target(), update_ld_motion_stores(), update_loop_exit_probability_scale_dom_bbs(), assume_query::update_parms(), update_profiling_info(), update_range_test(), update_specialized_profile(), update_ssa(), va_list_counter_op(), va_list_ptr_read(), val_resolve(), val_store(), value_replacement(), variable_post_merge_new_vals(), variable_tracking_main_1(), version_loop_by_alias_check(), versionable_outer_loop_p(), visit_bb(), ccp_propagate::visit_phi(), copy_prop::visit_phi(), visit_phi(), visit_reference_op_load(), visit_reference_op_store(), ccp_propagate::visit_stmt(), copy_prop::visit_stmt(), visit_stmt(), VN_INFO(), vn_nary_build_or_lookup_1(), vn_nary_op_insert_into(), vn_nary_op_insert_pieces_predicated(), vn_reference_insert(), vn_reference_lookup_3(), vt_find_locations(), vt_initialize(), dom_walker::walk(), warn_uninitialized_phi(), word_dce_process_block(), worse_state(), dom_ranger::~dom_ranger(), and push_dump_file::~push_dump_file().

◆ dump_file_name

◆ dump_files

struct dump_file_info dump_files[TDI_end]
static
Initial value:
=
{
DUMP_FILE_INFO (".cgraph", "ipa-cgraph", DK_ipa, 0),
DUMP_FILE_INFO (".type-inheritance", "ipa-type-inheritance", DK_ipa, 0),
DUMP_FILE_INFO (".ipa-clones", "ipa-clones", DK_ipa, 0),
DUMP_FILE_INFO (".original", "tree-original", DK_tree, 0),
DUMP_FILE_INFO (".gimple", "tree-gimple", DK_tree, 0),
DUMP_FILE_INFO (".nested", "tree-nested", DK_tree, 0),
DUMP_FILE_INFO (".lto-stream-out", "ipa-lto-stream-out", DK_ipa, 0),
DUMP_FILE_INFO (".profile-report", "profile-report", DK_ipa, 0),
#define FIRST_AUTO_NUMBERED_DUMP
#define FIRST_ME_AUTO_NUMBERED_DUMP
DUMP_FILE_INFO (NULL, "lang-all", DK_lang, 0),
DUMP_FILE_INFO (NULL, "tree-all", DK_tree, 0),
DUMP_FILE_INFO (NULL, "rtl-all", DK_rtl, 0),
DUMP_FILE_INFO (NULL, "ipa-all", DK_ipa, 0),
}
#define DUMP_FILE_INFO(suffix, swtch, dkind, num)
Definition dumpfile.cc:92
@ DK_tree
Definition dumpfile.h:67
@ DK_ipa
Definition dumpfile.h:69
@ DK_rtl
Definition dumpfile.h:68
@ DK_none
Definition dumpfile.h:65
@ DK_lang
Definition dumpfile.h:66
Table of tree dump switches. This must be consistent with the
TREE_DUMP_INDEX enumeration in dumpfile.h.   

Referenced by gcc::dump_manager::dump_enable_all(), gcc::dump_manager::dump_phase_enabled_p(), gcc::dump_manager::dump_switch_p(), gcc::dump_manager::get_dump_file_info(), gcc::dump_manager::opt_info_enable_passes(), and gcc::dump_manager::register_dumps().

◆ dump_flags

dump_flags_t dump_flags

Referenced by ipa_fn_summary::account_size_time(), add_candidate_1(), add_control_edge(), add_exit_phi(), infer_range_manager::add_range(), add_ssa_edge(), add_stmt_cost(), add_stores(), scev_dfs::add_to_evolution(), add_to_predicate_list(), add_uses(), add_with_sets(), adjust_iv_update_pos(), back_jt_path_registry::adjust_paths_after_duplication(), adjust_references_in_caller(), all_phi_incrs_profitable_1(), analyze_access_subtree(), analyze_all_variable_accesses(), analyze_and_mark_doloop_use(), analyze_candidates_and_replace(), loop_cand::analyze_carried_vars(), analyze_evolution_in_loop(), analyze_function(), analyze_function_body(), loop_cand::analyze_iloop_reduction_var(), loop_cand::analyze_induction_var(), analyze_initial_condition(), analyze_miv_subscript(), loop_cand::analyze_oloop_reduction_var(), analyze_overlapping_iterations(), analyze_scalar_evolution(), analyze_siv_subscript(), analyze_siv_subscript_cst_affine(), analyze_subscript_affine_affine(), tree_switch_conversion::switch_decision_tree::analyze_switch_statement(), analyze_ziv_subscript(), asan_emit_stack_protection(), assume_query::assume_query(), attempt_builtin_copysign(), attempt_builtin_powi(), auto_simd_fail(), dom_opt_dom_walker::before_dom_children(), eliminate_dom_walker::before_dom_children(), ipcp_modif_dom_walker::before_dom_children(), rewrite_dom_walker::before_dom_children(), rewrite_update_dom_walker::before_dom_children(), substitute_and_fold_dom_walker::before_dom_children(), bitfields_to_lower_p(), blend_vec_perm_simplify_seqs(), branch_prob(), loop_distribution::break_alias_scc_partitions(), break_up_subtract(), budget_for_propagation_access(), build_access_from_call_arg(), build_new_reduction(), assume_query::calculate_op(), assume_query::calculate_phi(), assume_query::calculate_stmt(), call_may_clobber_ref_p_1(), can_blend_vec_perm_simplify_seqs_p(), can_use_analyze_subscript_affine_affine(), cancel_fma_deferring(), cancel_thread(), canon_address(), canonicalize_loop_induction_variables(), array_bounds_checker::check_addr_expr(), check_all_va_list_escapes(), array_bounds_checker::check_array_ref(), check_call(), check_mem_read_rtx(), check_reduction_path(), check_va_list_escapes(), chrec_apply(), clean_up_loop_closed_phi(), cleanup_empty_eh(), cleanup_empty_eh_unsplit(), clone_for_param_removal_p(), coalesce_bitint(), coalesce_ssa_name(), collect_object_sizes_for(), uninit_analysis::collect_phi_def_edges(), ipa_polymorphic_call_context::combine_speculation_with(), ipa_polymorphic_call_context::combine_with(), compute_affine_dependence(), compute_alias_check_pairs(), compute_antic(), compute_antic_aux(), compute_avail(), compute_branch_probabilities(), compute_builtin_object_size(), compute_data_dependences_for_loop(), compute_dependence_clique(), compute_invariantness(), compute_may_aliases(), compute_optimized_partition_bases(), compute_overlap_steps_for_affine_1_2(), compute_partial_antic_aux(), compute_points_to_sets(), compute_trims(), cond_if_else_store_replacement_1(), cond_store_replacement(), consider_split(), convert_all_function_calls(), convert_mult_to_fma(), convert_mult_to_fma_1(), convert_scalar_cond_reduction(), copy_prop_visit_cond_stmt(), cprop_operand(), create_access(), create_add_on_incoming_edge(), create_canonical_iv(), create_data_ref(), create_expression_by_pieces(), create_new_ivs(), create_phi_basis_1(), create_specialized_node(), cselib_expand_value_rtx_1(), cselib_lookup(), dataflow_set_different(), debug_bb(), debug_dump_context::debug_dump_context(), debug_var_infos_r(), decide_about_value(), decide_whether_version_node(), delete_dead_or_redundant_assignment(), delete_dead_or_redundant_call(), delete_dead_store_insn(), delete_points_to_sets(), determine_group_iv_costs(), determine_iv_costs(), determine_loop_nest_reuse(), determine_set_costs(), determine_unlikely_bbs(), discover_iteration_bound_by_body_walk(), disqualify_candidate(), loop_distribution::distribute_loop(), ipa_icf::sem_item_optimizer::do_congruence_step(), do_hoist_insertion(), do_pre_partial_partial_insertion(), do_pre_regular_insertion(), do_rpo_vn_1(), do_while_loop_p(), dr_analyze_innermost(), dse_optimize_stmt(), dse_step1(), dse_step2_init(), dse_step4(), dse_step5(), dse_step6(), path_range_query::dump(), symtab_node::dump_base(), dump_bb_for_graph(), dump_clusters(), ipa_icf::sem_item_optimizer::dump_cong_classes(), dump_copy_of(), gcc::dump_manager::dump_finish(), dump_function_to_file(), dump_context::dump_generic_expr(), dump_context::dump_gimple_expr(), dump_context::dump_gimple_stmt(), dump_incr_vec(), dump_lattice_value(), dump_points_to_info_for(), dump_prediction(), dump_ranger(), dump_stack_var_partition(), dump_var(), dump_variable(), dynamic_object_sizes_execute_one(), gori_compute::edge_range_p(), rpo_elim::eliminate_avail(), eliminate_dom_walker::eliminate_cleanup(), eliminate_duplicate_pair(), eliminate_dom_walker::eliminate_insert(), eliminate_not_pairs(), eliminate_plus_minus_pair(), rpo_elim::eliminate_push_avail(), eliminate_redundant_comparison(), eliminate_redundant_computations(), eliminate_dom_walker::eliminate_stmt(), eliminate_tail_call(), eliminate_unnecessary_stmts(), eliminate_using_constants(), emergency_dump_function(), tree_switch_conversion::switch_decision_tree::emit(), ipa_icf::sem_function::equals(), ipa_icf::sem_variable::equals(), ipa_icf::sem_function::equals_wpa(), estimate_local_effects(), estimate_numbers_of_iterations(), ipa_call_context::estimate_size_and_time(), evaluate_stmt(), ipa_icf::sem_item_optimizer::execute(), loop_distribution::execute(), execute_build_cfg(), execute_cleanup_cfg_post_optimizing(), execute_function_dump(), execute_ranger_vrp(), execute_sm(), execute_sm_exit(), execute_split_functions(), expand_call_inline(), expand_expr_divmod(), expand_gimple_basic_block(), expand_loc(), expand_omp(), expand_omp_target(), expand_omp_taskreg(), expand_POPCOUNT(), expansion_failed(), expected_loop_iterations_by_profile(), factor_out_conditional_operation(), final_scan_insn_1(), final_value_replacement_loop(), finalize_nesting_tree_1(), find_always_executed_bbs(), find_clusters(), find_doloop_use(), find_induction_variables(), find_interesting_uses(), find_iv_candidates(), find_more_contexts_for_caller_subset(), find_more_scalar_values_for_callers_subset(), find_necessary_statements(), find_optimal_iv_set(), find_optimal_iv_set_1(), back_threader::find_paths_to_names(), find_seed_stmts_for_distribution(), find_split_points(), find_uninit_use(), finite_function_p(), finite_loop_p(), fix_loop_structure(), flow_loops_find(), asan_redzone_buffer::flush_redzone_payload(), simplify_using_ranges::fold_cond(), force_edge_cold(), force_expr_to_var_cost(), gather_chrec_stats(), gather_mem_refs_stmt(), gather_memory_references_ref(), gen_parallel_loop(), generate_memcpy_builtin(), generate_memset_builtin(), generate_reduction_builtin_1(), generic_predict_doloop_p(), get_bitfield_rep(), cgraph_node::get_body(), get_chain_decl(), get_chain_field(), get_constraint_for_component_ref(), get_loop_exit_condition(), get_rank(), get_read_write_all_from_node(), get_representative_for(), get_scalar_evolution(), get_scaled_computation_cost_at(), get_string_length(), gimple_dump_bb_for_graph(), gimple_fold_stmt_to_constant_1(), gimple_lower_bitint(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), gimple_resimplify4(), gimple_simplify_phiopt(), good_cloning_opportunity_p(), guards_builtin_unreachable(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_strlen(), strlen_pass::handle_integral_assign(), hoist_adjacent_loads(), identify_dead_nodes(), if_convert(), if_convertible_bb_p(), if_convertible_gimple_assign_stmt_p(), if_convertible_loop_p(), if_convertible_phi_p(), if_convertible_stmt_p(), ifcvt_local_dce(), ifcvt_split_critical_edges(), init_worklist(), initialize_constant_pool_replacements(), initialize_node_lattices(), inline_indirect_intraprocedural_analysis(), inline_small_functions(), insert(), insert_initializers(), insert_into_preds_of_block(), insert_part_to_rtx_on_edge(), insert_partition_copy_on_edge(), insert_phi_nodes_for(), insert_rtx_to_part_on_edge(), insert_value_copy_on_edge(), insn_to_prefetch_ratio_too_small_p(), instantiate_scev(), tree_loop_interchange::interchange(), introduce_cast_before_cand(), ipa_devirt(), ipa_merge_fn_summary_after_inlining(), ipa_profile(), ipa_propagate_frequency(), ipa_propagate_frequency_1(), ipa_pta_execute(), ipa_record_return_value_range(), ipcp_discover_new_direct_edges(), ipcp_driver(), ipcp_propagate_stage(), is_feasible_trace(), issue_prefetch_ref(), path_oracle::killing_def(), simplify_using_ranges::legacy_fold_cond(), linearize_expr(), linearize_expr_tree(), avail_exprs_stack::lookup_avail_expr(), loop_niter_by_eval(), loop_parallel_p(), loop_prefetch_arrays(), lower_bitfield(), lower_nested_functions(), make_item_for_dump_generic_expr(), make_item_for_dump_gimple_expr(), make_item_for_dump_gimple_stmt(), malloc_candidate_p(), mark_nonssa_use(), mark_nontemporal_store(), mark_operand_necessary(), mark_ssa_maybe_undefs(), mark_stmt_necessary(), mark_stmt_necessary(), mark_virtual_phi_result_for_renaming(), match_simplify_replacement(), cgraph_node::materialize_clone(), maybe_add_sra_candidate(), maybe_dump_rtl_for_gimple_stmt(), maybe_flat_loop_profile(), maybe_invalidate(), maybe_lower_iteration_bound(), maybe_optimize_arith_overflow(), back_threader::maybe_register_path(), path_range_query::maybe_register_phi_relation(), maybe_remove_writeonly_store(), maybe_trim_memstar_call(), ipa_polymorphic_call_context::meet_speculation_with(), ipa_polymorphic_call_context::meet_with(), mem_ref_count_reasonable_p(), ipa_icf::sem_item_optimizer::merge_classes(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::modify_expression(), move_computations_worker(), move_stmt(), multiplier_allowed_in_address_p(), narrow_vec_perm_simplify_seq(), new_cselib_val(), non_affine_dependence_relation(), predicate::normalize(), number_of_iterations_cond(), number_of_latch_executions(), oacc_do_neutering(), oacc_privatization_candidate_p(), object_sizes_execute(), omp_expand_local(), optimize_memcpy_to_memset(), optimize_ops_list(), optimize_range_tests_var_bound(), dom_opt_dom_walker::optimize_stmt(), optimize_tail_call(), optimize_va_list_gpr_fpr_size(), optimize_vec_cond_expr(), parallelize_loops(), loop_distribution::partition_merge_into(), pass_init_dump_file(), perform_tree_ssa_dce(), perform_var_substitution(), phi_translate_1(), phiprop_insert_phi(), avail_exprs_stack::pop_to_marker(), const_and_copies::pop_to_marker(), back_threader_profitability::possibly_profitable_path_p(), dom_ranger::post_bb(), dom_ranger::pre_bb(), predicate_for_phi_result(), predicate_scalar_phi(), predict_loops(), print_graph_cfg(), print_mem_expr(), print_node(), print_node_brief(), print_rtl_with_bb(), rtx_writer::print_rtx_operand_code_0(), process_bb(), ipa_icf::sem_item_optimizer::process_cong_reduction(), phi_analyzer::process_phi(), process_vec_perm_simplify_seq_list(), back_threader_profitability::profitable_path_p(), propagate(), propagate_bits_across_jump_function(), propagate_malloc(), propagate_necessity(), propagate_pure_const(), propagate_unlikely_bbs_forward(), dom_walker::propagate_unreachable_to_edges(), prune_group_by_reuse(), push_dump_file::push_dump_file(), vn_walk_cb_data::push_partial_def(), fold_using_range::range_of_call(), fold_using_range::range_of_cond_expr(), fold_using_range::range_of_phi(), fold_using_range::range_of_range_op(), fold_using_range::range_of_ssa_name_with_loop_info(), loop_distribution::rdg_build_partitions(), read_write_all_from_decl(), reassociate_bb(), recog_for_combine_1(), recognise_vec_perm_simplify_seq(), path_oracle::record(), relation_oracle::record(), relation_oracle::record(), const_and_copies::record_const_or_copy_raw(), record_equivalences_from_stmt(), record_estimate(), avail_exprs_stack::record_expr(), record_nonwrapping_chrec(), record_nonwrapping_iv(), record_ref(), record_store(), cgraph_edge::redirect_call_stmt_to_callee(), reduce_vector_comparison_to_scalar_comparison(), ref_indep_loop_p(), ref_maybe_used_by_call_p_1(), refs_independent_p(), jt_path_registry::register_jump_thread(), gimple_ranger::register_transitive_inferred_ranges(), dom_oracle::register_transitives(), reject(), fold_using_range::relation_fold_and_or(), remove_bb(), remove_dead_phis(), remove_dead_stmt(), remove_exits_and_undefined_stmts(), remove_gimple_phi_args(), remove_redundant_iv_tests(), remove_ssa_form(), remove_unused_locals(), reorder_basic_blocks(), reorder_operands(), replace_mult_candidate(), replace_one_candidate(), substitute_and_fold_engine::replace_phi_args_in(), replace_phi_edge_with_variable(), replace_read(), replace_refs(), ipa_param_body_adjustments::replace_removed_params_ssa_names(), replace_rhs_if_not_dup(), replace_stmt_with_simplification(), replace_uncond_cands_and_profitable_phis(), report_predictor_hitrates(), rest_of_clean_state(), rest_of_handle_cse(), rest_of_handle_cse2(), rest_of_handle_dse(), rest_of_handle_if_conversion(), return_different_stmts_1(), return_false_with_message_1(), return_with_result(), back_jt_path_registry::rewire_first_differing_edge(), rewrite_blocks(), rewrite_constraints(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), rewrite_out_of_ssa(), rewrite_stmt(), rewrite_to_defined_overflow(), rewrite_update_stmt(), rewrite_use_compare(), rtl_loop_init(), run_rpo_vn(), sanopt_optimize_walker(), scale_loop_profile(), scale_profile_for_vect_loop(), scan_insn(), schedule_prefetches(), set_bb_predicate(), set_const_flag_1(), set_edge_probability_and_rescale_others(), set_lattice_value(), dom_oracle::set_one_relation(), set_scalar_evolution(), set_ssa_val_to(), should_duplicate_loop_header_p(), should_interchange_loops(), should_issue_prefetch_p(), shrink_wrap_one_built_in_call_with_conds(), simple_dce_from_worklist(), predicate::simplify(), simplify_compare_const(), simplify_peeled_chrec(), simplify_using_ranges::simplify_switch_using_ranges(), ssa_propagation_engine::simulate_block(), ssa_propagation_engine::simulate_stmt(), solve_constraints(), sort_and_splice_var_accesses(), split_at_bb_p(), split_function(), split_loop(), split_paths(), ssa_propagation_engine::ssa_propagate(), ssa_redirect_edges(), state_from_flags(), statistics_counter_event(), statistics_fini_pass(), statistics_histogram_event(), stmt_kills_ref_p(), subscript_dependence_tester(), substitute_and_fold_engine::substitute_and_fold(), tail_merge_optimize(), loop_distribution::transform_reduction_loop(), transform_stmt_to_copy(), transform_stmt_to_multiply(), ipa_icf::sem_item_optimizer::traverse_congruence_split(), tree_estimate_loop_size(), tree_if_conversion(), tree_loop_unroll_and_jam(), pcom_worker::tree_predictive_commoning_loop(), tree_profiling(), tree_ssa_iv_optimize(), tree_ssa_iv_optimize_loop(), tree_ssa_prefetch_arrays(), trip_count_to_ahead_ratio_too_small_p(), try_combine(), try_create_reduction_list(), try_fwprop_subst_note(), try_fwprop_subst_pattern(), try_get_loop_niter(), try_peel_loop(), try_unroll_loop_completely(), undistribute_bitref_for_vector(), undistribute_ops_list(), unify_nodes(), unsplit_eh(), update_edge_key(), update_loop_exit_probability_scale_dom_bbs(), assume_query::update_parms(), update_range_test(), update_ssa(), va_list_counter_op(), va_list_ptr_read(), val_resolve(), value_replacement(), variable_tracking_main_1(), version_loop_by_alias_check(), visit_bb(), ccp_propagate::visit_phi(), copy_prop::visit_phi(), visit_phi(), visit_reference_op_load(), visit_reference_op_store(), ccp_propagate::visit_stmt(), copy_prop::visit_stmt(), visit_stmt(), VN_INFO(), vn_nary_build_or_lookup_1(), vn_nary_op_insert_into(), vn_nary_op_insert_pieces_predicated(), vn_reference_insert(), vn_reference_lookup_3(), vt_find_locations(), vt_initialize(), dom_walker::walk(), warn_uninitialized_phi(), worse_state(), debug_dump_context::~debug_dump_context(), dom_ranger::~dom_ranger(), and push_dump_file::~push_dump_file().

◆ dump_options

const kv_pair<dump_flags_t> dump_options[]
static
Table of dump options. This must be consistent with the TDF_* flags
in dumpfile.h and opt_info_options below.  

Referenced by parse_dump_option().

◆ dumps_are_enabled

bool dumps_are_enabled = false

◆ optgroup_options

const kv_pair<optgroup_flags_t> optgroup_options[]
Initial value:
=
{
{"ipa", OPTGROUP_IPA},
{"loop", OPTGROUP_LOOP},
{"inline", OPTGROUP_INLINE},
{"omp", OPTGROUP_OMP},
{"vec", OPTGROUP_VEC},
{"optall", OPTGROUP_ALL},
}
@ OPTGROUP_VEC
Definition dumpfile.h:268
@ OPTGROUP_INLINE
Definition dumpfile.h:262
@ OPTGROUP_IPA
Definition dumpfile.h:256
@ OPTGROUP_OMP
Definition dumpfile.h:265
@ OPTGROUP_LOOP
Definition dumpfile.h:259
@ OPTGROUP_ALL
Definition dumpfile.h:273
Flags used for -fopt-info groups.   

Referenced by opt_info_switch_p_1(), and optrecord_json_writer::pass_to_json().

◆ optinfo_verbosity_options

const kv_pair<dump_flags_t> optinfo_verbosity_options[]
static
Initial value:
=
{
{"optimized", MSG_OPTIMIZED_LOCATIONS},
{"note", MSG_NOTE},
{"all", MSG_ALL_KINDS},
{"internals", MSG_PRIORITY_INTERNALS},
}
@ MSG_PRIORITY_INTERNALS
Definition dumpfile.h:181
@ MSG_NOTE
Definition dumpfile.h:159
@ MSG_ALL_KINDS
Definition dumpfile.h:162
@ MSG_MISSED_OPTIMIZATION
Definition dumpfile.h:156
@ MSG_OPTIMIZED_LOCATIONS
Definition dumpfile.h:153
A subset of the dump_options table which is used for -fopt-info
 types. This must be consistent with the MSG_* flags in dumpfile.h.

Referenced by opt_info_switch_p_1().

◆ pflags