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);
Definition dumpfile.h:617
~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:442
dump_user_location_t()
Definition dumpfile.h:343
profile_count m_count
Definition dumpfile.h:373
Definition dumpfile.h:666
FILE * dump_begin(int phase, dump_flags_t *flag_ptr, int part)
Definition dumpfile.cc:1577
int dump_phase_enabled_p(int phase) const
Definition dumpfile.cc:1608
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:295
int dump_switch_p_1(const char *arg, struct dump_file_info *dfi, bool doglob)
Definition dumpfile.cc:1886
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:1713
char * m_optinfo_filename
Definition dumpfile.h:759
bool update_dfi_for_opt_info(dump_file_info *dfi) const
Definition dumpfile.cc:1793
void register_dumps()
Definition dumpfile.cc:262
int opt_info_enable_passes(optgroup_flags_t optgroup_flags, dump_flags_t flags, const char *filename)
Definition dumpfile.cc:1769
void dump_finish(int phase)
Definition dumpfile.cc:1540
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:218
int dump_initialized_p(int phase) const
Definition dumpfile.cc:1632
const char * dump_flag_name(int phase) const
Definition dumpfile.cc:1648
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:183
struct dump_file_info * get_dump_file_info(int phase) const
Definition dumpfile.cc:280
size_t m_extra_dump_files_in_use
Definition dumpfile.h:752
void register_pass(opt_pass *pass)
Definition dumpfile.cc:1668
~dump_manager()
Definition dumpfile.cc:194
dump_flags_t m_optinfo_flags
Definition dumpfile.h:758
int dump_start(int phase, dump_flags_t *flag_ptr)
Definition dumpfile.cc:1493
void dump_switch_p(const char *arg)
Definition dumpfile.cc:1923
char * get_dump_file_name(int phase, int part=-1) const
Definition dumpfile.cc:313
Definition tree-pass.h:74
Definition poly-int.h:378
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 void dump_printf_loc(const dump_metadata_t &, const dump_user_location_t &, const char *,...) ATTRIBUTE_GCC_DUMP_PRINTF(3
void dump_hex(dump_flags_t, const poly_wide_int &)
Definition dumpfile.cc:1424
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 dump_symtab_node(const dump_metadata_t &, symtab_node *)
Definition dumpfile.cc:1448
void set_dump_file(FILE *new_dump_file)
Definition dumpfile.cc:75
dump_flags_t dump_flags
Definition dumpfile.cc:67
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:1570
void dump_generic_expr_loc(const dump_metadata_t &, const dump_user_location_t &, dump_flags_t, tree)
Definition dumpfile.cc:1356
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:1702
void dump_gimple_expr_loc(const dump_metadata_t &, const dump_user_location_t &, dump_flags_t, gimple *, int)
Definition dumpfile.cc:1332
void dumpfile_ensure_any_optinfo_are_flushed()
Definition dumpfile.cc:1440
const char * dump_file_name
Definition dumpfile.cc:66
dump_flags_t & operator&=(dump_flags_t &lhs, dump_flags_t rhs)
Definition dumpfile.h:240
void dump_gimple_expr(const dump_metadata_t &, dump_flags_t, gimple *, int)
Definition dumpfile.cc:1321
dump_flags_t & operator|=(dump_flags_t &lhs, dump_flags_t rhs)
Definition dumpfile.h:232
void dump_gimple_stmt_loc(const dump_metadata_t &, const dump_user_location_t &, dump_flags_t, gimple *, int)
Definition dumpfile.cc:1307
void dump_begin_scope(const char *name, const dump_user_location_t &user_location, const dump_impl_location_t &impl_location)
Definition dumpfile.cc:1470
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:725
void dump_gimple_stmt(const dump_metadata_t &, dump_flags_t, gimple *, int)
Definition dumpfile.cc:1297
bool enable_rtl_dump_file(void)
Definition dumpfile.cc:2106
unsigned int get_dump_scope_depth()
Definition dumpfile.cc:1458
void dump_printf(const dump_metadata_t &, const char *,...) ATTRIBUTE_GCC_DUMP_PRINTF(2
int opt_info_switch_p(const char *)
Definition dumpfile.cc:2043
const kv_pair< optgroup_flags_t > optgroup_options[]
Definition dumpfile.cc:172
bool dumps_are_enabled
Definition dumpfile.cc:68
#define ATTRIBUTE_GCC_DUMP_PRINTF(m, n)
Definition dumpfile.h:36
dump_flags_t parse_dump_option(const char *, const char **)
Definition dumpfile.cc:1819
FILE * dump_file
Definition dumpfile.cc:65
dump_flags_t operator~(dump_flags_t flags)
Definition dumpfile.h:226
void void void dump_function(int phase, tree fn)
Definition dumpfile.cc:2090
void dump_generic_expr(const dump_metadata_t &, dump_flags_t, tree)
Definition dumpfile.cc:1345
const char * dump_flag_name(int)
Definition dumpfile.cc:1641
void dump_basic_block(dump_flags_t, basic_block, int)
Definition dumpfile.cc:2077
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:300
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_dec(const dump_metadata_t &, const poly_int< N, C > &)
Definition dumpfile.cc:1396
void dump_end_scope()
Definition dumpfile.cc:1480
#define N
Definition gensupport.cc:202
signop
Definition signop.h:28
Definition basic-block.h:117
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