20#ifndef GCC_PASS_MANAGER_H
21#define GCC_PASS_MANAGER_H
28#define GCC_PASS_LISTS \
29 DEF_PASS_LIST (all_lowering_passes) \
30 DEF_PASS_LIST (all_small_ipa_passes) \
31 DEF_PASS_LIST (all_regular_ipa_passes) \
32 DEF_PASS_LIST (all_late_ipa_passes) \
33 DEF_PASS_LIST (all_passes)
35#define DEF_PASS_LIST(LIST) PASS_LIST_NO_##LIST,
128#define INSERT_PASSES_AFTER(PASS)
129#define PUSH_INSERT_PASSES_WITHIN(PASS)
130#define POP_INSERT_PASSES()
131#define NEXT_PASS(PASS, NUM) opt_pass *PASS ## _ ## NUM
132#define NEXT_PASS_WITH_ARG(PASS, NUM, ARG) NEXT_PASS (PASS, NUM)
133#define TERMINATE_PASS_LIST(PASS)
135#include "pass-instances.def"
137#undef INSERT_PASSES_AFTER
138#undef PUSH_INSERT_PASSES_WITHIN
139#undef POP_INSERT_PASSES
141#undef NEXT_PASS_WITH_ARG
142#undef TERMINATE_PASS_LIST
Definition pass_manager.h:48
void register_one_dump_file(opt_pass *pass)
Definition passes.cc:822
void dump_profile_report() const
Definition passes.cc:1929
opt_pass ** pass_lists[PASS_LIST_NUM]
Definition pass_manager.h:100
pass_manager(context *ctxt)
Definition passes.cc:1566
opt_pass * get_clean_slate() const
Definition pass_manager.h:86
hash_map< free_string_hash, opt_pass * > * m_name_to_pass_map
Definition pass_manager.h:109
unsigned int execute_pass_mode_switching()
Definition passes.cc:124
opt_pass * get_pass_peephole2() const
Definition pass_manager.h:75
void create_pass_tab() const
Definition passes.cc:937
void dump_passes() const
Definition passes.cc:997
void set_pass_for_id(int id, opt_pass *pass)
Definition passes.cc:788
void finish_optimization_passes()
Definition passes.cc:347
void register_pass_name(opt_pass *pass, const char *name)
Definition passes.cc:903
opt_pass * all_regular_ipa_passes
Definition pass_manager.h:93
opt_pass * get_pass_split_all_insns() const
Definition pass_manager.h:69
opt_pass * get_pass_for_id(int id) const
Definition passes.cc:804
opt_pass * all_small_ipa_passes
Definition pass_manager.h:91
~pass_manager()
Definition passes.cc:1667
opt_pass * get_pass_profile() const
Definition pass_manager.h:76
opt_pass * all_lowering_passes
Definition pass_manager.h:92
context * m_ctxt
Definition pass_manager.h:108
opt_pass ** passes_by_id
Definition pass_manager.h:97
void register_dump_files(opt_pass *pass)
Definition passes.cc:885
opt_pass * get_pass_by_name(const char *name)
Definition passes.cc:1017
void execute_early_local_passes()
Definition passes.cc:117
opt_pass * get_rest_of_compilation() const
Definition pass_manager.h:82
opt_pass * all_late_ipa_passes
Definition pass_manager.h:94
opt_pass * all_passes
Definition pass_manager.h:90
void register_pass(struct register_pass_info *pass_info)
Definition passes.cc:1488
opt_pass * get_pass_mode_switching() const
Definition pass_manager.h:72
int passes_by_id_size
Definition pass_manager.h:98
Definition tree-pass.h:74
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
#define GCC_PASS_LISTS
Definition pass_manager.h:28
pass_list
Definition pass_manager.h:37
@ PASS_LIST_NUM
Definition pass_manager.h:39
Definition tree-pass.h:330