22#define GCC_DUMPFILE_H 1
31#if GCC_VERSION >= 9000
32#define ATTRIBUTE_GCC_DUMP_PRINTF(m, n) \
33 __attribute__ ((__format__ (__gcc_dump_printf__, m ,n))) \
36#define ATTRIBUTE_GCC_DUMP_PRINTF(m, n) ATTRIBUTE_NONNULL(m)
214 return (
dump_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
215 | (std::underlying_type<dump_flags_t>::type)rhs);
221 return (
dump_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
222 & (std::underlying_type<dump_flags_t>::type)rhs);
228 return (
dump_flags_t)~((std::underlying_type<dump_flags_t>::type)flags);
234 lhs = (
dump_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
235 | (std::underlying_type<dump_flags_t>::type)rhs);
242 lhs = (
dump_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
243 & (std::underlying_type<dump_flags_t>::type)rhs);
283 | (std::underlying_type<dump_flags_t>::type)rhs);
290 | (std::underlying_type<dump_flags_t>::type)rhs);
384#
if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
385 const char *file = __builtin_FILE (),
386 int line = __builtin_LINE (),
387 const char *
function = __builtin_FUNCTION ()
389 const char *file = __FILE__,
594template<
unsigned int N, typename C>
646#define AUTO_DUMP_SCOPE(NAME, USER_LOC) \
647 auto_dump_scope scope (NAME, USER_LOC)
677 dump_register (
const char *suffix,
const char *swtch,
const char *glob,
679 bool take_ownership);
743 const char *filename);
762 friend bool ::enable_rtl_dump_file (
void);
765 friend int ::opt_info_switch_p (
const char *arg);
~auto_dump_scope()
Definition dumpfile.h:627
auto_dump_scope(const char *name, const dump_user_location_t &user_location, const dump_impl_location_t &impl_location=dump_impl_location_t())
Definition dumpfile.h:619
Definition dumpfile.h:381
const char * m_function
Definition dumpfile.h:399
dump_impl_location_t(const char *file=__FILE__, int line=__LINE__, const char *function=NULL)
Definition dumpfile.h:383
const char * m_file
Definition dumpfile.h:397
int m_line
Definition dumpfile.h:398
Definition dumpfile.h:446
dump_impl_location_t m_impl_location
Definition dumpfile.h:509
const dump_user_location_t & get_user_location() const
Definition dumpfile.h:495
dump_location_t(const rtx_insn *insn, const dump_impl_location_t &impl_location=dump_impl_location_t())
Definition dumpfile.h:466
static dump_location_t from_location_t(location_t loc, const dump_impl_location_t &impl_location=dump_impl_location_t())
Definition dumpfile.h:486
location_t get_location_t() const
Definition dumpfile.h:500
const dump_impl_location_t & get_impl_location() const
Definition dumpfile.h:498
dump_location_t(const dump_impl_location_t &impl_location=dump_impl_location_t())
Definition dumpfile.h:449
dump_location_t(const gimple *stmt, const dump_impl_location_t &impl_location=dump_impl_location_t())
Definition dumpfile.h:457
dump_user_location_t m_user_location
Definition dumpfile.h:508
profile_count get_count() const
Definition dumpfile.h:505
dump_location_t(const dump_user_location_t &user_location, const dump_impl_location_t &impl_location=dump_impl_location_t())
Definition dumpfile.h:475
Definition dumpfile.h:340
location_t get_location_t() const
Definition dumpfile.h:365
static dump_user_location_t from_location_t(location_t loc)
Definition dumpfile.h:354
dump_user_location_t(profile_count count, location_t loc)
Definition dumpfile.h:369
location_t m_loc
Definition dumpfile.h:374
profile_count get_count() const
Definition dumpfile.h:364
static dump_user_location_t from_function_decl(tree fndecl)
Definition dumpfile.cc:441
dump_user_location_t()
Definition dumpfile.h:343
profile_count m_count
Definition dumpfile.h:373
FILE * dump_begin(int phase, dump_flags_t *flag_ptr, int part)
Definition dumpfile.cc:1576
int dump_phase_enabled_p(int phase) const
Definition dumpfile.cc:1607
optgroup_flags_t m_optgroup_flags
Definition dumpfile.h:757
struct dump_file_info * get_dump_file_info_by_switch(const char *swtch) const
Definition dumpfile.cc:294
int dump_switch_p_1(const char *arg, struct dump_file_info *dfi, bool doglob)
Definition dumpfile.cc:1885
size_t m_extra_dump_files_alloced
Definition dumpfile.h:753
int dump_enable_all(dump_kind dkind, dump_flags_t flags, const char *filename)
Definition dumpfile.cc:1712
char * m_optinfo_filename
Definition dumpfile.h:759
bool update_dfi_for_opt_info(dump_file_info *dfi) const
Definition dumpfile.cc:1792
void register_dumps()
Definition dumpfile.cc:261
int opt_info_enable_passes(optgroup_flags_t optgroup_flags, dump_flags_t flags, const char *filename)
Definition dumpfile.cc:1768
void dump_finish(int phase)
Definition dumpfile.cc:1539
unsigned int dump_register(const char *suffix, const char *swtch, const char *glob, dump_kind dkind, optgroup_flags_t optgroup_flags, bool take_ownership)
Definition dumpfile.cc:217
int dump_initialized_p(int phase) const
Definition dumpfile.cc:1631
const char * dump_flag_name(int phase) const
Definition dumpfile.cc:1647
struct dump_file_info * m_extra_dump_files
Definition dumpfile.h:751
int m_next_dump
Definition dumpfile.h:750
dump_manager()
Definition dumpfile.cc:182
struct dump_file_info * get_dump_file_info(int phase) const
Definition dumpfile.cc:279
size_t m_extra_dump_files_in_use
Definition dumpfile.h:752
void register_pass(opt_pass *pass)
Definition dumpfile.cc:1667
~dump_manager()
Definition dumpfile.cc:193
dump_flags_t m_optinfo_flags
Definition dumpfile.h:758
int dump_start(int phase, dump_flags_t *flag_ptr)
Definition dumpfile.cc:1492
void dump_switch_p(const char *arg)
Definition dumpfile.cc:1922
char * get_dump_file_name(int phase, int part=-1) const
Definition dumpfile.cc:312
Definition tree-pass.h:74
Definition poly-int.h:378
struct basic_block_def * basic_block
Definition coretypes.h:355
const union tree_node * const_tree
Definition coretypes.h:98
union tree_node * tree
Definition coretypes.h:97
static unsigned int count[debug_counter_number_of_counters]
Definition dbgcnt.cc:50
void dump_basic_block(dump_flags_t dump_kind, basic_block bb, int indent)
Definition dumpfile.cc:2076
void dump_generic_expr(const dump_metadata_t &metadata, dump_flags_t extra_dump_flags, tree t)
Definition dumpfile.cc:1344
dump_flags_t dump_flags
Definition dumpfile.cc:66
void dump_printf_loc(const dump_metadata_t &metadata, const dump_user_location_t &loc, const char *format,...)
Definition dumpfile.cc:1380
void dumpfile_ensure_any_optinfo_are_flushed()
Definition dumpfile.cc:1439
void dump_gimple_expr(const dump_metadata_t &metadata, dump_flags_t extra_dump_flags, gimple *gs, int spc)
Definition dumpfile.cc:1320
const char * dump_file_name
Definition dumpfile.cc:65
void dump_symtab_node(const dump_metadata_t &metadata, symtab_node *node)
Definition dumpfile.cc:1447
void dump_begin_scope(const char *name, const dump_user_location_t &user_location, const dump_impl_location_t &impl_location)
Definition dumpfile.cc:1469
void dump_dec(const dump_metadata_t &metadata, const poly_int< N, C > &value)
Definition dumpfile.cc:1395
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)
Definition dumpfile.cc:1331
void dump_function(int phase, tree fn)
Definition dumpfile.cc:2089
unsigned int get_dump_scope_depth()
Definition dumpfile.cc:1457
void dump_hex(dump_flags_t dump_kind, const poly_wide_int &value)
Definition dumpfile.cc:1423
const kv_pair< optgroup_flags_t > optgroup_options[]
Definition dumpfile.cc:171
bool dumps_are_enabled
Definition dumpfile.cc:67
FILE * dump_file
Definition dumpfile.cc:64
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)
Definition dumpfile.cc:1306
void dump_gimple_stmt(const dump_metadata_t &metadata, dump_flags_t extra_dump_flags, gimple *gs, int spc)
Definition dumpfile.cc:1296
void dump_end_scope()
Definition dumpfile.cc:1479
void dump_generic_expr_loc(const dump_metadata_t &metadata, const dump_user_location_t &loc, dump_flags_t extra_dump_flags, tree t)
Definition dumpfile.cc:1355
optgroup_flag
Definition dumpfile.h:252
@ OPTGROUP_VEC
Definition dumpfile.h:268
@ OPTGROUP_INLINE
Definition dumpfile.h:262
@ OPTGROUP_IPA
Definition dumpfile.h:256
@ OPTGROUP_NONE
Definition dumpfile.h:253
@ OPTGROUP_OTHER
Definition dumpfile.h:271
@ OPTGROUP_OMP
Definition dumpfile.h:265
@ OPTGROUP_LOOP
Definition dumpfile.h:259
@ OPTGROUP_ALL
Definition dumpfile.h:273
void set_dump_file(FILE *new_dump_file)
Definition dumpfile.cc:74
dump_flags_t dump_flags
Definition dumpfile.cc:66
dump_kind
Definition dumpfile.h:64
@ 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
FILE * dump_begin(int, dump_flags_t *, int part=-1)
Definition dumpfile.cc:1569
dump_flag
Definition dumpfile.h:78
@ TDF_ALIAS
Definition dumpfile.h:132
@ MSG_ALL_PRIORITIES
Definition dumpfile.h:190
@ TDF_EH
Definition dumpfile.h:126
@ TDF_FOLDING
Definition dumpfile.h:147
@ TDF_ENUMERATE_LOCALS
Definition dumpfile.h:135
@ TDF_GIMPLE
Definition dumpfile.h:144
@ TDF_STMTADDR
Definition dumpfile.h:110
@ MSG_PRIORITY_INTERNALS
Definition dumpfile.h:181
@ TDF_MEMSYMS
Definition dumpfile.h:117
@ TDF_RHS_ONLY
Definition dumpfile.h:120
@ TDF_ASMNAME
Definition dumpfile.h:123
@ TDF_SLIM
Definition dumpfile.h:86
@ MSG_PRIORITY_REEMITTED
Definition dumpfile.h:187
@ TDF_ERROR
Definition dumpfile.h:204
@ TDF_UID
Definition dumpfile.h:107
@ TDF_GRAPH
Definition dumpfile.h:113
@ TDF_DETAILS
Definition dumpfile.h:92
@ TDF_GIMPLE_VAL
Definition dumpfile.h:201
@ TDF_STATS
Definition dumpfile.h:95
@ TDF_COMPARE_DEBUG
Definition dumpfile.h:198
@ MSG_PRIORITY_USER_FACING
Definition dumpfile.h:178
@ TDF_NONE
Definition dumpfile.h:80
@ TDF_VOPS
Definition dumpfile.h:101
@ MSG_NOTE
Definition dumpfile.h:159
@ TDF_BLOCKS
Definition dumpfile.h:98
@ TDF_ALL_VALUES
Definition dumpfile.h:195
@ TDF_RAW
Definition dumpfile.h:89
@ TDF_NOUID
Definition dumpfile.h:129
@ TDF_SCEV
Definition dumpfile.h:141
@ TDF_ADDRESS
Definition dumpfile.h:83
@ MSG_ALL_KINDS
Definition dumpfile.h:162
@ MSG_MISSED_OPTIMIZATION
Definition dumpfile.h:156
@ TDF_LINENO
Definition dumpfile.h:104
@ MSG_OPTIMIZED_LOCATIONS
Definition dumpfile.h:153
@ TDF_CSELIB
Definition dumpfile.h:138
void dump_end(int, FILE *)
Definition dumpfile.cc:1701
dump_flags_t & operator&=(dump_flags_t &lhs, dump_flags_t rhs)
Definition dumpfile.h:240
dump_flags_t & operator|=(dump_flags_t &lhs, dump_flags_t rhs)
Definition dumpfile.h:232
void dump_begin_scope(const char *name, const dump_user_location_t &user_location, const dump_impl_location_t &impl_location)
Definition dumpfile.cc:1469
tree_dump_index
Definition dumpfile.h:42
@ TDI_cgraph
Definition dumpfile.h:44
@ TDI_end
Definition dumpfile.h:58
@ TDI_original
Definition dumpfile.h:47
@ TDI_clones
Definition dumpfile.h:46
@ TDI_gimple
Definition dumpfile.h:48
@ TDI_profile_report
Definition dumpfile.h:51
@ TDI_ipa_all
Definition dumpfile.h:56
@ TDI_lto_stream_out
Definition dumpfile.h:50
@ TDI_none
Definition dumpfile.h:43
@ TDI_nested
Definition dumpfile.h:49
@ TDI_tree_all
Definition dumpfile.h:54
@ TDI_inheritance
Definition dumpfile.h:45
@ TDI_lang_all
Definition dumpfile.h:53
@ TDI_rtl_all
Definition dumpfile.h:55
dump_flags_t operator&(dump_flags_t lhs, dump_flags_t rhs)
Definition dumpfile.h:219
void dump_node(const_tree, dump_flags_t, FILE *)
Definition tree-dump.cc:731
bool enable_rtl_dump_file(void)
Definition dumpfile.cc:2105
void dump_printf(const dump_metadata_t &, const char *,...) ATTRIBUTE_GCC_DUMP_PRINTF(2
int opt_info_switch_p(const char *)
Definition dumpfile.cc:2042
#define ATTRIBUTE_GCC_DUMP_PRINTF(m, n)
Definition dumpfile.h:36
dump_flags_t parse_dump_option(const char *, const char **)
Definition dumpfile.cc:1818
dump_flags_t operator~(dump_flags_t flags)
Definition dumpfile.h:226
void void void dump_function(int phase, tree fn)
Definition dumpfile.cc:2089
const char * dump_flag_name(int)
Definition dumpfile.cc:1640
dump_flags_t operator|(dump_flags_t lhs, dump_flags_t rhs)
Definition dumpfile.h:212
void dump_bb(FILE *, basic_block, int, dump_flags_t)
Definition cfghooks.cc:299
enum dump_flag dump_flags_t
Definition dumpfile.h:209
bool dump_enabled_p(void)
Definition dumpfile.h:532
enum optgroup_flag optgroup_flags_t
Definition dumpfile.h:277
void dump_end_scope()
Definition dumpfile.cc:1479
#define N
Definition gensupport.cc:202
poly_int< NUM_POLY_INT_COEFFS, wide_int > poly_wide_int
Definition poly-int-types.h:27
signop
Definition signop.h:28
Definition dumpfile.h:296
int num
Definition dumpfile.h:324
const char * glob
Definition dumpfile.h:302
const char * alt_filename
Definition dumpfile.h:306
dump_kind dkind
Definition dumpfile.h:312
int pstate
Definition dumpfile.h:320
FILE * pstream
Definition dumpfile.h:308
bool owns_strings
Definition dumpfile.h:327
const char * pfilename
Definition dumpfile.h:304
dump_flags_t pflags
Definition dumpfile.h:314
dump_flags_t alt_flags
Definition dumpfile.h:316
const char * swtch
Definition dumpfile.h:300
optgroup_flags_t optgroup_flags
Definition dumpfile.h:318
FILE * alt_stream
Definition dumpfile.h:310
const char * suffix
Definition dumpfile.h:298
int alt_state
Definition dumpfile.h:322
bool graph_dump_initialized
Definition dumpfile.h:330
Definition function.h:249
Definition coretypes.h:390
Definition profile-count.h:750
#define NULL
Definition system.h:50