#include <pass_manager.h>
Constructor & Destructor Documentation
pass_manager::pass_manager |
( |
context * |
ctxt | ) |
|
Member Function Documentation
void pass_manager::dump_passes |
( |
| ) |
const |
References all_late_ipa_passes, all_lowering_passes, all_lto_gen_passes, all_passes, all_regular_ipa_passes, all_small_ipa_passes, create_pass_tab(), symtab_node_base::decl, dump_pass_list(), pop_cfun(), push_cfun(), and cgraph_node::symbol.
Referenced by dump_passes().
void pass_manager::dump_profile_report |
( |
| ) |
const |
void pass_manager::execute_early_local_passes |
( |
| ) |
|
unsigned int pass_manager::execute_pass_mode_switching |
( |
| ) |
|
void pass_manager::finish_optimization_passes |
( |
| ) |
|
References dump_finish(), dump_initialized_p(), dump_start(), end_branch_prob(), finish_graph_dump_file(), free(), get_dump_file_info(), get_dump_file_name(), dump_file_info::pflags, print_combine_total_stats(), TDI_end, timevar_pop(), and timevar_push().
Referenced by finalize().
struct opt_pass * pass_manager::get_pass_for_id |
( |
int |
id | ) |
const |
|
read |
opt_pass* gcc::pass_manager::get_pass_mode_switching |
( |
| ) |
const |
|
inline |
opt_pass* gcc::pass_manager::get_pass_peephole2 |
( |
| ) |
const |
|
inline |
opt_pass* gcc::pass_manager::get_pass_split_all_insns |
( |
| ) |
const |
|
inline |
void * pass_manager::operator new |
( |
size_t |
sz | ) |
|
Construct the pass tree. The sequencing of passes is driven by
the cgraph routines:
finalize_compilation_unit ()
for each node N in the cgraph
cgraph_analyze_function (N)
cgraph_lower_function (N) -> all_lowering_passes
If we are optimizing, compile is then invoked:
compile ()
ipa_passes () -> all_small_ipa_passes
-> Analysis of all_regular_ipa_passes
* possible LTO streaming at copmilation time *
-> Execution of all_regular_ipa_passes
* possible LTO streaming at link time *
-> all_late_ipa_passes
expand_all_functions ()
for each node N in the cgraph
expand_function (N) -> Transformation of all_regular_ipa_passes
-> all_passes
void pass_manager::register_dump_files |
( |
struct opt_pass * |
pass, |
|
|
int |
properties |
|
) |
| |
|
private |
int pass_manager::register_dump_files_1 |
( |
struct opt_pass * |
pass, |
|
|
int |
properties |
|
) |
| |
|
private |
void pass_manager::register_one_dump_file |
( |
struct opt_pass * |
pass | ) |
|
References dump_register(), free(), full_name(), GIMPLE_PASS, IPA_PASS, pass_data::name, pass_data::optinfo_flags, register_pass_name(), set_pass_for_id(), SIMPLE_IPA_PASS, opt_pass::static_pass_number, and pass_data::type.
Referenced by register_dump_files_1(), register_one_dump_file(), and register_pass().
References added_pass_nodes, all_late_ipa_passes, all_lowering_passes, all_lto_gen_passes, all_passes, all_regular_ipa_passes, all_small_ipa_passes, fatal_error(), get_dump_file_info(), GIMPLE_PASS, IPA_PASS, pass_data::name, pass_list_node::next, register_pass_info::pass, pass_list_node::pass, position_pass(), dump_file_info::pstate, register_pass_info::ref_pass_instance_number, register_pass_info::reference_pass_name, register_one_dump_file(), SIMPLE_IPA_PASS, opt_pass::static_pass_number, TDI_ipa_all, TDI_rtl_all, TDI_tree_all, and pass_data::type.
Referenced by register_pass().
void pass_manager::set_pass_for_id |
( |
int |
id, |
|
|
opt_pass * |
pass |
|
) |
| |
|
private |
Field Documentation
opt_pass* gcc::pass_manager::all_late_ipa_passes |
opt_pass* gcc::pass_manager::all_lowering_passes |
opt_pass* gcc::pass_manager::all_lto_gen_passes |
opt_pass* gcc::pass_manager::all_regular_ipa_passes |
opt_pass* gcc::pass_manager::all_small_ipa_passes |
opt_pass** gcc::pass_manager::passes_by_id |
int gcc::pass_manager::passes_by_id_size |
The documentation for this class was generated from the following files: