22#ifndef GCC_TREE_PASS_H
23#define GCC_TREE_PASS_H 1
207#define PROP_gimple_any (1 << 0)
208#define PROP_gimple_lcf (1 << 1)
209#define PROP_gimple_leh (1 << 2)
210#define PROP_cfg (1 << 3)
211#define PROP_objsz (1 << 4)
212#define PROP_ssa (1 << 5)
213#define PROP_no_crit_edges (1 << 6)
214#define PROP_rtl (1 << 7)
215#define PROP_gimple_lomp (1 << 8)
216#define PROP_cfglayout (1 << 9)
217#define PROP_gimple_lcx (1 << 10)
218#define PROP_loops (1 << 11)
219#define PROP_gimple_lvec (1 << 12)
220#define PROP_gimple_eomp (1 << 13)
221#define PROP_gimple_lva (1 << 14)
222#define PROP_gimple_opt_math (1 << 15)
226#define PROP_gimple_lomp_dev (1 << 16)
227#define PROP_rtl_split_insns (1 << 17)
228#define PROP_loop_opts_done (1 << 18)
230#define PROP_assumptions_done (1 << 19)
232#define PROP_gimple_lbitint (1 << 20)
235 (PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh | PROP_gimple_lomp)
238#define TODO_do_not_ggc_collect (1 << 1)
239#define TODO_cleanup_cfg (1 << 5)
240#define TODO_verify_il (1 << 6)
241#define TODO_dump_symtab (1 << 7)
242#define TODO_remove_functions (1 << 8)
254#define TODO_update_ssa (1 << 11)
260#define TODO_update_ssa_no_phi (1 << 12)
271#define TODO_update_ssa_full_phi (1 << 13)
279#define TODO_update_ssa_only_virtuals (1 << 14)
284#define TODO_remove_unused_locals (1 << 15)
289#define TODO_df_finish (1 << 17)
292#define TODO_df_verify (1 << 18)
295#define TODO_mark_first_instance (1 << 19)
298#define TODO_rebuild_alias (1 << 20)
301#define TODO_update_address_taken (1 << 21)
304#define TODO_rebuild_cgraph_edges (1 << 22)
308#define TODO_discard_function (1 << 23)
311#define TODO_update_ssa_any \
313 | TODO_update_ssa_no_phi \
314 | TODO_update_ssa_full_phi \
315 | TODO_update_ssa_only_virtuals)
317#define TODO_verify_all TODO_verify_il
323#define PENDING_TODO_force_next_scalar_cleanup (1 << 1)
351 const char* ref_pass_name,
int ref_pass_inst_number);
Definition genoutput.cc:150
Definition tree-pass.h:117
gimple_opt_pass(const pass_data &data, gcc::context *ctxt)
Definition tree-pass.h:119
Definition tree-pass.h:142
void(* read_optimization_summary)(void)
Definition tree-pass.h:158
unsigned int(* function_transform)(struct cgraph_node *)
Definition tree-pass.h:167
ipa_opt_pass_d(const pass_data &data, gcc::context *ctxt, void(*generate_summary)(void), void(*write_summary)(void), void(*read_summary)(void), void(*write_optimization_summary)(void), void(*read_optimization_summary)(void), void(*stmt_fixup)(struct cgraph_node *, gimple **), unsigned int function_transform_todo_flags_start, unsigned int(*function_transform)(struct cgraph_node *), void(*variable_transform)(varpool_node *))
Definition tree-pass.h:171
void(* read_summary)(void)
Definition tree-pass.h:152
void(* variable_transform)(varpool_node *)
Definition tree-pass.h:168
unsigned int function_transform_todo_flags_start
Definition tree-pass.h:166
void(* generate_summary)(void)
Definition tree-pass.h:146
void(* stmt_fixup)(struct cgraph_node *, gimple **)
Definition tree-pass.h:162
void(* write_summary)(void)
Definition tree-pass.h:149
void(* write_optimization_summary)(void)
Definition tree-pass.h:155
Definition tree-pass.h:74
int static_pass_number
Definition tree-pass.h:109
virtual void set_pass_param(unsigned int, bool)
Definition passes.cc:88
opt_pass * next
Definition tree-pass.h:106
virtual opt_pass * clone()
Definition passes.cc:82
opt_pass(const pass_data &, gcc::context *)
Definition passes.cc:106
virtual bool gate(function *fun)
Definition passes.cc:95
virtual ~opt_pass()
Definition tree-pass.h:76
opt_pass * sub
Definition tree-pass.h:103
gcc::context * m_ctxt
Definition tree-pass.h:112
Definition tree-pass.h:127
rtl_opt_pass(const pass_data &data, gcc::context *ctxt)
Definition tree-pass.h:129
Definition tree-pass.h:198
simple_ipa_opt_pass(const pass_data &data, gcc::context *ctxt)
Definition tree-pass.h:200
enum optgroup_flag optgroup_flags_t
Definition dumpfile.h:277
static int execute(void)
Definition gcc.cc:3252
Definition function.h:249
Definition lto-streamer.h:470
Definition tree-pass.h:41
unsigned int properties_required
Definition tree-pass.h:57
timevar_id_t tv_id
Definition tree-pass.h:54
enum opt_pass_type type
Definition tree-pass.h:43
unsigned int properties_destroyed
Definition tree-pass.h:59
optgroup_flags_t optinfo_flags
Definition tree-pass.h:50
const char * name
Definition tree-pass.h:47
unsigned int todo_flags_finish
Definition tree-pass.h:63
unsigned int todo_flags_start
Definition tree-pass.h:62
unsigned int properties_provided
Definition tree-pass.h:58
Definition tree-pass.h:330
enum pass_positioning_ops pos_op
Definition tree-pass.h:337
int ref_pass_instance_number
Definition tree-pass.h:334
opt_pass * pass
Definition tree-pass.h:331
const char * reference_pass_name
Definition tree-pass.h:332
timevar_id_t
Definition timevar.h:67
rtl_opt_pass * make_pass_ira(gcc::context *ctxt)
Definition ira.cc:6131
rtl_opt_pass * make_pass_split_before_regstack(gcc::context *ctxt)
Definition recog.cc:4657
rtl_opt_pass * make_pass_rtl_dse1(gcc::context *ctxt)
Definition dse.cc:3807
gimple_opt_pass * make_pass_tree_no_loop(gcc::context *ctxt)
Definition tree-ssa-loop.cc:312
rtl_opt_pass * make_pass_ext_dce(gcc::context *ctxt)
Definition ext-dce.cc:1170
rtl_opt_pass * make_pass_late_combine(gcc::context *ctxt)
Definition late-combine.cc:769
gimple_opt_pass * make_pass_thread_jumps(gcc::context *ctxt)
Definition tree-ssa-threadbackward.cc:1066
simple_ipa_opt_pass * make_pass_ipa_tree_profile(gcc::context *ctxt)
Definition tree-profile.cc:2080
gimple_opt_pass * make_pass_reassoc(gcc::context *ctxt)
Definition tree-ssa-reassoc.cc:7552
gimple_opt_pass * make_pass_build_ssa(gcc::context *ctxt)
Definition tree-into-ssa.cc:2586
rtl_opt_pass * make_pass_jump_after_combine(gcc::context *ctxt)
Definition cfgcleanup.cc:3297
gimple_opt_pass * make_pass_optimize_widening_mul(gcc::context *ctxt)
Definition tree-ssa-math-opts.cc:6527
opt_pass_type
Definition tree-pass.h:32
@ RTL_PASS
Definition tree-pass.h:34
@ SIMPLE_IPA_PASS
Definition tree-pass.h:35
@ GIMPLE_PASS
Definition tree-pass.h:33
@ IPA_PASS
Definition tree-pass.h:36
rtl_opt_pass * make_pass_split_for_shorten_branches(gcc::context *ctxt)
Definition recog.cc:4707
ipa_opt_pass_d * make_pass_ipa_inline(gcc::context *ctxt)
Definition ipa-inline.cc:3283
gimple_opt_pass * make_pass_lower_omp(gcc::context *ctxt)
Definition omp-low.cc:14905
rtl_opt_pass * make_pass_rtl_dse3(gcc::context *ctxt)
void register_pass(register_pass_info *)
Definition passes.cc:1481
gimple_opt_pass * make_pass_gimple_isel(gcc::context *ctxt)
Definition gimple-isel.cc:430
gimple_opt_pass * make_pass_return_slot(gcc::context *ctxt)
Definition tree-nrv.cc:398
rtl_opt_pass * make_pass_rtl_doloop(gcc::context *ctxt)
Definition loop-init.cc:651
rtl_opt_pass * make_pass_mode_switching(gcc::context *ctxt)
Definition mode-switching.cc:1334
gimple_opt_pass * make_pass_asan(gcc::context *ctxt)
Definition asan.cc:4399
ipa_opt_pass_d * make_pass_ipa_whole_program_visibility(gcc::context *ctxt)
Definition ipa-visibility.cc:1003
rtl_opt_pass * make_pass_free_cfg(gcc::context *ctxt)
Definition cfgrtl.cc:510
rtl_opt_pass * make_pass_stack_ptr_mod(gcc::context *ctxt)
Definition stack-ptr-mod.cc:112
gimple_opt_pass * make_pass_nothrow(gcc::context *ctxt)
Definition ipa-pure-const.cc:2413
rtl_opt_pass * make_pass_zero_call_used_regs(gcc::context *ctxt)
Definition function.cc:6854
gimple_opt_pass * make_pass_if_conversion(gcc::context *ctxt)
Definition tree-if-conv.cc:4177
rtl_opt_pass * make_pass_clean_state(gcc::context *ctxt)
Definition final.cc:4548
rtl_opt_pass * make_pass_lower_subreg3(gcc::context *ctxt)
Definition lower-subreg.cc:1903
gimple_opt_pass * make_pass_laddress(gcc::context *ctxt)
Definition gimple-laddress.cc:135
gimple_opt_pass * make_pass_warn_recursion(gcc::context *ctxt)
Definition gimple-warn-recursion.cc:211
rtl_opt_pass * make_pass_if_after_reload(gcc::context *ctxt)
Definition ifcvt.cc:6282
gimple_opt_pass * make_pass_sancov(gcc::context *ctxt)
Definition sancov.cc:343
void do_per_function_toporder(void(*)(function *, void *), void *)
Definition passes.cc:1749
gimple_opt_pass * make_pass_warn_nonnull_compare(gcc::context *ctxt)
Definition gimple-ssa-nonnull-compare.cc:149
ipa_opt_pass_d * make_pass_ipa_icf(gcc::context *ctxt)
Definition ipa-icf.cc:3722
gimple_opt_pass * make_pass_lower_switch(gcc::context *ctxt)
Definition tree-switch-conversion.cc:3087
rtl_opt_pass * make_pass_into_cfg_layout_mode(gcc::context *ctxt)
Definition cfgrtl.cc:3757
gimple_opt_pass * make_pass_harden_control_flow_redundancy(gcc::context *ctxt)
Definition gimple-harden-control-flow.cc:1559
gimple_opt_pass * make_pass_tsan(gcc::context *ctxt)
Definition tsan.cc:929
gimple_opt_pass * make_pass_strength_reduction(gcc::context *ctxt)
Definition gimple-ssa-strength-reduction.cc:4092
ipa_opt_pass_d * make_pass_ipa_devirt(gcc::context *ctxt)
Definition ipa-devirt.cc:4020
gimple_opt_pass * make_pass_lower_bitint_O0(gcc::context *ctxt)
Definition gimple-lower-bitint.cc:7322
gimple_opt_pass * make_pass_sra(gcc::context *ctxt)
Definition tree-sra.cc:5250
bool execute_one_pass(opt_pass *)
Definition passes.cc:2588
rtl_opt_pass * make_pass_convert_to_eh_region_ranges(gcc::context *ctxt)
Definition except.cc:2778
gimple_opt_pass * make_pass_lower_complex(gcc::context *ctxt)
Definition tree-complex.cc:2065
gimple_opt_pass * make_pass_lower_vaarg(gcc::context *ctxt)
Definition tree-stdarg.cc:1207
gimple_opt_pass * make_pass_early_object_sizes(gcc::context *ctxt)
Definition tree-object-size.cc:2388
gimple_opt_pass * make_pass_store_merging(gcc::context *ctxt)
Definition gimple-ssa-store-merging.cc:5619
gimple_opt_pass * make_pass_warn_access(gcc::context *ctxt)
Definition gimple-ssa-warn-access.cc:4808
rtl_opt_pass * make_pass_live_range_shrinkage(gcc::context *ctxt)
Definition sched-rgn.cc:3808
gimple_opt_pass * make_pass_loop_split(gcc::context *ctxt)
Definition tree-ssa-loop-split.cc:1856
rtl_opt_pass * make_pass_ree(gcc::context *ctxt)
Definition ree.cc:1419
rtl_opt_pass * make_pass_compare_elim_after_reload(gcc::context *ctxt)
Definition compare-elim.cc:976
gimple_opt_pass * make_pass_split_paths(gcc::context *ctxt)
Definition gimple-ssa-split-paths.cc:538
gimple_opt_pass * make_pass_cse_sincos(gcc::context *ctxt)
Definition tree-ssa-math-opts.cc:2271
gimple_opt_pass * make_pass_parallelize_loops(gcc::context *ctxt)
Definition tree-parloops.cc:4255
void print_current_pass(FILE *)
Definition passes.cc:134
gimple_opt_pass * make_pass_build_cfg(gcc::context *ctxt)
Definition tree-cfg.cc:421
void dump_passes(void)
Definition passes.cc:1003
rtl_opt_pass * make_pass_regrename(gcc::context *ctxt)
Definition regrename.cc:2043
void emergency_dump_function(void)
Definition passes.cc:1840
gimple_opt_pass * make_pass_oacc_device_lower(gcc::context *ctxt)
Definition omp-offload.cc:2530
rtl_opt_pass * make_pass_if_after_combine(gcc::context *ctxt)
Definition ifcvt.cc:6236
simple_ipa_opt_pass * make_pass_ipa_function_and_variable_visibility(gcc::context *ctxt)
Definition ipa-visibility.cc:1025
gimple_opt_pass * make_pass_empty_loop(gcc::context *ctxt)
rtl_opt_pass * make_pass_initialize_regs(gcc::context *ctxt)
Definition init-regs.cc:168
gimple_opt_pass * make_pass_forwprop(gcc::context *ctxt)
Definition tree-ssa-forwprop.cc:4805
ipa_opt_pass_d * make_pass_ipa_comdats(gcc::context *ctxt)
Definition ipa-comdats.cc:437
gimple_opt_pass * make_pass_strip_predict_hints(gcc::context *ctxt)
Definition predict.cc:4421
rtl_opt_pass * make_pass_cprop_hardreg(gcc::context *ctxt)
Definition regcprop.cc:1469
rtl_opt_pass * make_pass_rtl_avoid_store_forwarding(gcc::context *ctxt)
Definition avoid-store-forwarding.cc:648
gimple_opt_pass * make_pass_tm_edges(gcc::context *ctxt)
Definition trans-mem.cc:3380
gimple_opt_pass * make_pass_vtable_verify(gcc::context *ctxt)
Definition vtable-verify.cc:837
gimple_opt_pass * make_pass_refactor_eh(gcc::context *ctxt)
Definition tree-eh.cc:3316
void debug_pass(void)
Definition passes.cc:146
gimple_opt_pass * make_pass_loop_versioning(gcc::context *ctxt)
Definition gimple-loop-versioning.cc:1804
unsigned int tail_merge_optimize(bool)
Definition tree-ssa-tail-merge.cc:1795
gimple_opt_pass * make_pass_sccopy(gcc::context *ctxt)
Definition gimple-ssa-sccopy.cc:688
gimple_opt_pass * make_pass_merge_phi(gcc::context *ctxt)
Definition tree-cfgcleanup.cc:1510
gimple_opt_pass * make_pass_phiopt(gcc::context *ctxt)
Definition tree-ssa-phiopt.cc:4425
rtl_opt_pass * make_pass_stack_regs_run(gcc::context *ctxt)
Definition reg-stack.cc:3537
gimple_opt_pass * make_pass_lower_bitint(gcc::context *ctxt)
Definition gimple-lower-bitint.cc:7276
ipa_opt_pass_d * make_pass_ipa_sra(gcc::context *ctxt)
Definition ipa-sra.cc:4707
gimple_opt_pass * make_pass_lim(gcc::context *ctxt)
Definition tree-ssa-loop-im.cc:3769
gimple_opt_pass * make_pass_rename_ssa_copies(gcc::context *ctxt)
gimple_opt_pass * make_pass_isolate_erroneous_paths(gcc::context *ctxt)
Definition gimple-ssa-isolate-paths.cc:1013
gimple_opt_pass * make_pass_sink_code(gcc::context *ctxt)
Definition tree-ssa-sink.cc:865
rtl_opt_pass * make_pass_rtl_loop_init(gcc::context *ctxt)
Definition loop-init.cc:439
gimple_opt_pass * make_pass_lower_eh_dispatch(gcc::context *ctxt)
Definition tree-eh.cc:4024
gimple_opt_pass * make_pass_dominator(gcc::context *ctxt)
Definition tree-ssa-dom.cc:1076
simple_ipa_opt_pass * make_pass_dispatcher_calls(gcc::context *ctxt)
gimple_opt_pass * make_pass_tm_init(gcc::context *ctxt)
Definition trans-mem.cc:2163
rtl_opt_pass * make_pass_rtl_dce(gcc::context *ctxt)
gimple_opt_pass * make_pass_ubsan(gcc::context *ctxt)
Definition ubsan.cc:2587
gimple_opt_pass * make_pass_sprintf_length(gcc::context *ctxt)
simple_ipa_opt_pass * make_pass_ipa_increase_alignment(gcc::context *ctxt)
Definition tree-vectorizer.cc:1749
gimple_opt_pass * make_pass_loop_distribution(gcc::context *ctxt)
Definition tree-loop-distribution.cc:4025
rtl_opt_pass * make_pass_fast_rtl_byte_dce(gcc::context *ctxt)
gimple_opt_pass * make_pass_tsan_O0(gcc::context *ctxt)
Definition tsan.cc:969
gimple_opt_pass * make_pass_modref(gcc::context *ctxt)
Definition ipa-modref.cc:4269
gimple_opt_pass * make_pass_musttail(gcc::context *ctxt)
Definition tree-tailcall.cc:1482
void execute_all_ipa_transforms(bool)
Definition passes.cc:2371
gimple_opt_pass * make_pass_phiprop(gcc::context *ctxt)
Definition tree-ssa-phiprop.cc:558
simple_ipa_opt_pass * make_pass_build_ssa_passes(gcc::context *ctxt)
Definition passes.cc:488
rtl_opt_pass * make_pass_split_all_insns(gcc::context *ctxt)
Definition recog.cc:4499
simple_ipa_opt_pass * make_pass_ipa_tm(gcc::context *ctxt)
Definition trans-mem.cc:5700
rtl_opt_pass * make_pass_reorder_blocks(gcc::context *ctxt)
Definition bb-reorder.cc:2694
void execute_ipa_pass_list(opt_pass *)
Definition passes.cc:3106
gimple_opt_pass * make_pass_vrp(gcc::context *ctxt)
Definition tree-vrp.cc:1358
ipa_opt_pass_d * make_pass_ipa_profile(gcc::context *ctxt)
Definition ipa-profile.cc:1066
gimple_opt_pass * make_pass_fre(gcc::context *ctxt)
Definition tree-ssa-sccvn.cc:8911
gimple_opt_pass * make_pass_oacc_loop_designation(gcc::context *ctxt)
Definition omp-offload.cc:2524
gimple_opt_pass * make_pass_simduid_cleanup(gcc::context *ctxt)
Definition tree-vectorizer.cc:1470
gimple_opt_pass * make_pass_fixup_cfg(gcc::context *ctxt)
Definition tree-cfg.cc:10206
rtl_opt_pass * make_pass_lower_subreg(gcc::context *ctxt)
Definition lower-subreg.cc:1816
void register_one_dump_file(opt_pass *)
Definition passes.cc:828
rtl_opt_pass * make_pass_rtl_cprop(gcc::context *ctxt)
Definition cprop.cc:1988
gimple_opt_pass * make_pass_build_alias(gcc::context *ctxt)
Definition tree-ssa-structalias.cc:8176
gimple_opt_pass * make_pass_sra_early(gcc::context *ctxt)
Definition tree-sra.cc:5214
gimple_opt_pass * make_pass_complete_unrolli(gcc::context *ctxt)
Definition tree-ssa-loop-ivcanon.cc:1767
rtl_opt_pass * make_pass_split_before_sched2(gcc::context *ctxt)
Definition recog.cc:4598
simple_ipa_opt_pass * make_pass_ipa_lower_emutls(gcc::context *ctxt)
Definition tree-emutls.cc:858
gimple_opt_pass * make_pass_tree_ifcombine(gcc::context *ctxt)
Definition tree-ssa-ifcombine.cc:1400
gimple_opt_pass * make_pass_harden_conditional_branches(gcc::context *ctxt)
Definition gimple-harden-conditionals.cc:382
gimple_opt_pass * make_pass_tree_loop_done(gcc::context *ctxt)
Definition tree-ssa-loop.cc:515
gimple_opt_pass * make_pass_stdarg(gcc::context *ctxt)
Definition tree-stdarg.cc:1160
rtl_opt_pass * make_pass_gcse2(gcc::context *ctxt)
Definition postreload-gcse.cc:1467
gimple_opt_pass * make_pass_strlen(gcc::context *ctxt)
Definition tree-ssa-strlen.cc:6109
rtl_opt_pass * make_pass_rtl_pre(gcc::context *ctxt)
Definition gcse.cc:4092
gimple_opt_pass * make_pass_dse(gcc::context *ctxt)
Definition tree-ssa-dse.cc:1800
gimple_opt_pass * make_pass_coroutine_lower_builtins(gcc::context *ctxt)
Definition coroutine-passes.cc:229
gimple_opt_pass * make_pass_feedback_split_functions(gcc::context *ctxt)
Definition ipa-split.cc:2007
gimple_opt_pass * make_pass_local_fn_summary(gcc::context *ctxt)
Definition ipa-fnsummary.cc:5166
rtl_opt_pass * make_pass_fold_mem_offsets(gcc::context *ctxt)
Definition fold-mem-offsets.cc:908
rtl_opt_pass * make_pass_delay_slots(gcc::context *ctxt)
Definition reorg.cc:3887
gimple_opt_pass * make_pass_loop_prefetch(gcc::context *ctxt)
Definition tree-ssa-loop-prefetch.cc:2119
ipa_opt_pass_d * make_pass_ipa_single_use(gcc::context *ctxt)
Definition ipa.cc:1580
gimple_opt_pass * make_pass_warn_function_return(gcc::context *ctxt)
Definition tree-cfg.cc:9890
rtl_opt_pass * make_pass_value_profile_transformations(gcc::context *ctxt)
gimple_opt_pass * make_pass_sancov_O0(gcc::context *ctxt)
Definition sancov.cc:349
rtl_opt_pass * make_pass_web(gcc::context *ctxt)
Definition web.cc:426
gimple_opt_pass * make_pass_release_ssa_names(gcc::context *ctxt)
Definition tree-ssanames.cc:964
gimple_opt_pass * make_pass_early_vrp(gcc::context *ctxt)
Definition tree-vrp.cc:1364
rtl_opt_pass * make_pass_jump(gcc::context *ctxt)
Definition cfgcleanup.cc:3249
simple_ipa_opt_pass * make_pass_ipa_pta(gcc::context *ctxt)
Definition tree-ssa-structalias.cc:8843
rtl_opt_pass * make_pass_sched(gcc::context *ctxt)
Definition sched-rgn.cc:3857
gimple_opt_pass * make_pass_late_warn_uninitialized(gcc::context *ctxt)
Definition tree-ssa-uninit.cc:1483
gimple_opt_pass * make_pass_tm_mark(gcc::context *ctxt)
Definition trans-mem.cc:3191
rtl_opt_pass * make_pass_shorten_branches(gcc::context *ctxt)
Definition final.cc:4373
gimple_opt_pass * make_pass_local_pure_const(gcc::context *ctxt)
Definition ipa-pure-const.cc:2259
ipa_opt_pass_d * make_pass_ipa_cdtor_merge(gcc::context *ctxt)
Definition ipa.cc:1367
rtl_opt_pass * make_pass_loop2(gcc::context *ctxt)
Definition loop-init.cc:387
rtl_opt_pass * make_pass_cleanup_barriers(gcc::context *ctxt)
Definition jump.cc:195
rtl_opt_pass * make_pass_sms(gcc::context *ctxt)
Definition modulo-sched.cc:3377
gimple_opt_pass * make_pass_harden_compares(gcc::context *ctxt)
Definition gimple-harden-conditionals.cc:642
rtl_opt_pass * make_pass_machine_reorg(gcc::context *ctxt)
Definition reorg.cc:3933
rtl_opt_pass * make_pass_combine(gcc::context *ctxt)
Definition combine.cc:15211
gimple_opt_pass * make_pass_walloca(gcc::context *ctxt)
Definition gimple-ssa-warn-alloca.cc:390
gimple_opt_pass * make_pass_convert_switch(gcc::context *ctxt)
Definition tree-switch-conversion.cc:2983
void pass_fini_dump_file(opt_pass *)
Definition passes.cc:2264
gimple_opt_pass * make_pass_update_address_taken(gcc::context *ctxt)
Definition tree-ssa.cc:2327
gimple_opt_pass * make_pass_ch(gcc::context *ctxt)
Definition tree-ssa-loop-ch.cc:1260
gimple_opt_pass * make_pass_dce(gcc::context *ctxt)
Definition tree-ssa-dce.cc:2157
gimple_opt_pass * make_pass_warn_unused_result(gcc::context *ctxt)
Definition tree-cfg.cc:9996
rtl_opt_pass * make_pass_stack_regs(gcc::context *ctxt)
Definition reg-stack.cc:3486
simple_ipa_opt_pass * make_pass_ipa_free_lang_data(gcc::context *ctxt)
Definition ipa-free-lang-data.cc:1183
rtl_opt_pass * make_pass_rtl_dse2(gcc::context *ctxt)
Definition dse.cc:3850
rtl_opt_pass * make_pass_ud_rtl_dce(gcc::context *ctxt)
Definition dce.cc:867
gimple_opt_pass * make_pass_asan_O0(gcc::context *ctxt)
Definition asan.cc:4441
gimple_opt_pass * make_pass_tracer(gcc::context *ctxt)
Definition tracer.cc:465
ipa_opt_pass_d * make_pass_ipa_odr(gcc::context *ctxt)
Definition ipa-devirt.cc:4407
rtl_opt_pass * make_pass_reload(gcc::context *ctxt)
Definition ira.cc:6174
rtl_opt_pass * make_pass_branch_prob(gcc::context *ctxt)
gimple_opt_pass * make_pass_tail_calls(gcc::context *ctxt)
Definition tree-tailcall.cc:1437
gimple_opt_pass * make_pass_early_warn_uninitialized(gcc::context *ctxt)
Definition tree-ssa-uninit.cc:1550
rtl_opt_pass * make_pass_rtl_seqabstr(gcc::context *ctxt)
gimple_opt_pass * make_pass_check_data_deps(gcc::context *ctxt)
gimple_opt_pass * make_pass_early_tree_profile(gcc::context *ctxt)
gimple_opt_pass * make_pass_pre_slp_scalar_cleanup(gcc::context *ctxt)
Definition passes.cc:790
rtl_opt_pass * make_pass_lower_subreg2(gcc::context *ctxt)
Definition lower-subreg.cc:1861
rtl_opt_pass * make_pass_duplicate_computed_gotos(gcc::context *ctxt)
Definition bb-reorder.cc:2844
void ipa_read_summaries(void)
Definition passes.cc:3043
simple_ipa_opt_pass * make_pass_ipa_oacc_kernels(gcc::context *ctxt)
Definition tree-ssa-loop.cc:275
rtl_opt_pass * make_pass_fast_rtl_dce(gcc::context *ctxt)
Definition dce.cc:1301
void execute_all_ipa_stmt_fixups(struct cgraph_node *, gimple **)
Definition passes.cc:3175
simple_ipa_opt_pass * make_pass_omp_simd_clone(gcc::context *ctxt)
Definition omp-simd-clone.cc:2157
gimple_opt_pass * make_pass_build_cgraph_edges(gcc::context *ctxt)
Definition cgraphbuild.cc:380
gimple_opt_pass * make_pass_warn_printf(gcc::context *ctxt)
Definition tree-ssa-strlen.cc:6103
rtl_opt_pass * make_pass_compute_alignments(gcc::context *ctxt)
Definition final.cc:802
rtl_opt_pass * make_pass_dwarf2_frame(gcc::context *ctxt)
Definition dwarf2cfi.cc:3821
gimple_opt_pass * make_pass_call_cdce(gcc::context *ctxt)
Definition tree-call-cdce.cc:1336
gimple_opt_pass * make_pass_vectorize(gcc::context *ctxt)
Definition tree-vectorizer.cc:1410
rtl_opt_pass * make_pass_reginfo_init(gcc::context *ctxt)
Definition reginfo.cc:978
gimple_opt_pass * make_pass_copy_prop(gcc::context *ctxt)
Definition tree-ssa-copy.cc:630
gimple_opt_pass * make_pass_rebuild_frequencies(gcc::context *ctxt)
Definition predict.cc:4587
gimple_opt_pass * make_pass_cleanup_cfg_post_optimizing(gcc::context *ctxt)
Definition tree-cfgcleanup.cc:1599
gimple_opt_pass * make_pass_complete_unroll(gcc::context *ctxt)
Definition tree-ssa-loop-ivcanon.cc:1712
ipa_opt_pass_d * make_pass_ipa_modref(gcc::context *ctxt)
Definition ipa-modref.cc:4275
rtl_opt_pass * make_pass_df_finish(gcc::context *ctxt)
Definition df-core.cc:857
gimple_opt_pass * make_pass_lower_cf(gcc::context *ctxt)
Definition gimple-low.cc:214
gimple_opt_pass * make_pass_expand_omp(gcc::context *ctxt)
Definition omp-expand.cc:10978
gimple_opt_pass * make_pass_predcom(gcc::context *ctxt)
Definition tree-predcom.cc:3592
ipa_opt_pass_d * make_pass_analyzer(gcc::context *ctxt)
Definition analyzer-pass.cc:99
rtl_opt_pass * make_pass_rtl_fwprop_addr(gcc::context *ctxt)
Definition fwprop.cc:1063
gimple_opt_pass * make_pass_lower_complex_O0(gcc::context *ctxt)
Definition tree-complex.cc:2111
gimple_opt_pass * make_pass_omp_oacc_neuter_broadcast(gcc::context *ctxt)
Definition omp-oacc-neuter-broadcast.cc:1974
rtl_opt_pass * make_pass_rtl_ifcvt(gcc::context *ctxt)
Definition ifcvt.cc:6187
gimple_opt_pass * make_pass_fold_builtins(gcc::context *ctxt)
Definition tree-ssa-ccp.cc:4510
rtl_opt_pass * make_pass_leaf_regs(gcc::context *ctxt)
Definition function.cc:6608
gimple_opt_pass * make_pass_build_ealias(gcc::context *ctxt)
Definition tree-ssa-structalias.cc:8214
gimple_opt_pass * make_pass_split_functions(gcc::context *ctxt)
Definition ipa-split.cc:1948
gimple_opt_pass * make_pass_cse_reciprocals(gcc::context *ctxt)
Definition tree-ssa-math-opts.cc:1110
gimple_opt_pass * make_pass_loop_jam(gcc::context *ctxt)
Definition gimple-loop-jam.cc:683
gimple_opt_pass * make_pass_tree_loop(gcc::context *ctxt)
Definition tree-ssa-loop.cc:143
ipa_opt_pass_d * make_pass_ipa_cp(gcc::context *ctxt)
Definition ipa-cp.cc:6489
gimple_opt_pass * make_pass_diagnose_omp_blocks(gcc::context *ctxt)
Definition omp-low.cc:15222
gimple_opt_pass * make_pass_post_ipa_warn(gcc::context *ctxt)
Definition tree-ssa-ccp.cc:4685
gimple_opt_pass * make_pass_pre(gcc::context *ctxt)
Definition tree-ssa-pre.cc:4574
gimple_opt_pass * make_pass_iv_optimize(gcc::context *ctxt)
Definition tree-ssa-loop.cc:466
rtl_opt_pass * make_pass_cse_after_global_opts(gcc::context *ctxt)
Definition cse.cc:7756
ipa_opt_pass_d * make_pass_ipa_reference(gcc::context *ctxt)
Definition ipa-reference.cc:1316
gimple_opt_pass * make_pass_adjust_alignment(gcc::context *ctxt)
Definition adjust-alignment.cc:82
gimple_opt_pass * make_pass_omp_device_lower(gcc::context *ctxt)
Definition omp-offload.cc:2844
void disable_pass(const char *)
Definition passes.cc:1244
rtl_opt_pass * make_pass_variable_tracking(gcc::context *ctxt)
Definition var-tracking.cc:10616
rtl_opt_pass * make_pass_rtl_store_motion(gcc::context *ctxt)
Definition store-motion.cc:1266
bool function_called_by_processed_nodes_p(void)
Definition passes.cc:3225
rtl_opt_pass * make_pass_set_nothrow_function_flags(gcc::context *ctxt)
Definition except.cc:2066
opt_pass * current_pass
Definition passes.cc:72
gimple_opt_pass * make_pass_ccp(gcc::context *ctxt)
Definition tree-ssa-ccp.cc:3077
gimple_opt_pass * make_pass_tree_unswitch(gcc::context *ctxt)
Definition tree-ssa-loop-unswitch.cc:1674
simple_ipa_opt_pass * make_pass_local_optimization_passes(gcc::context *ctxt)
Definition passes.cc:494
gimple_opt_pass * make_pass_lower_vector_ssa(gcc::context *ctxt)
Definition tree-vect-generic.cc:2376
gimple_opt_pass * make_pass_profile(gcc::context *ctxt)
Definition predict.cc:4286
gimple_opt_pass * make_pass_tail_recursion(gcc::context *ctxt)
Definition tree-tailcall.cc:1398
gimple_opt_pass * make_pass_omp_target_link(gcc::context *ctxt)
Definition omp-offload.cc:2946
rtl_opt_pass * make_pass_final(gcc::context *ctxt)
Definition final.cc:4326
rtl_opt_pass * make_pass_split_after_reload(gcc::context *ctxt)
Definition recog.cc:4544
gimple_opt_pass * make_pass_thread_jumps_full(gcc::context *ctxt)
Definition tree-ssa-threadbackward.cc:1072
gimple_opt_pass * make_pass_linterchange(gcc::context *ctxt)
Definition gimple-loop-interchange.cc:2122
gimple_opt_pass * make_pass_if_to_switch(gcc::context *ctxt)
Definition gimple-if-to-switch.cc:591
gimple_opt_pass * make_pass_uncprop(gcc::context *ctxt)
Definition tree-ssa-uncprop.cc:504
rtl_opt_pass * make_pass_late_thread_prologue_and_epilogue(gcc::context *ctxt)
Definition function.cc:6764
gimple_opt_pass * make_pass_lower_tm(gcc::context *ctxt)
Definition trans-mem.cc:1870
void execute_ipa_summary_passes(ipa_opt_pass_d *)
Definition passes.cc:2289
pass_positioning_ops
Definition tree-pass.h:323
@ PASS_POS_REPLACE
Definition tree-pass.h:326
@ PASS_POS_INSERT_BEFORE
Definition tree-pass.h:325
@ PASS_POS_INSERT_AFTER
Definition tree-pass.h:324
gimple_opt_pass * make_pass_tm_memopt(gcc::context *ctxt)
Definition trans-mem.cc:4118
gimple_opt_pass * make_pass_early_inline(gcc::context *ctxt)
Definition ipa-inline.cc:3239
gimple_opt_pass * make_pass_graphite_transforms(gcc::context *ctxt)
Definition graphite.cc:628
rtl_opt_pass * make_pass_stack_adjustments(gcc::context *ctxt)
Definition combine-stack-adj.cc:851
gimple_opt_pass * make_pass_scev_cprop(gcc::context *ctxt)
Definition tree-ssa-loop.cc:418
gimple_opt_pass * make_pass_warn_restrict(gcc::context *ctxt)
Definition gimple-ssa-warn-restrict.cc:2100
rtl_opt_pass * make_pass_rtl_move_loop_invariants(gcc::context *ctxt)
Definition loop-init.cc:539
simple_ipa_opt_pass * make_pass_ipa_oacc(gcc::context *ctxt)
Definition tree-ssa-loop.cc:241
simple_ipa_opt_pass * make_pass_ipa_remove_symbols(gcc::context *ctxt)
Definition passes.cc:500
gimple_opt_pass * make_pass_lower_switch_O0(gcc::context *ctxt)
Definition tree-switch-conversion.cc:3082
gimple_opt_pass * make_pass_early_thread_jumps(gcc::context *ctxt)
Definition tree-ssa-threadbackward.cc:1078
rtl_opt_pass * make_pass_inc_dec(gcc::context *ctxt)
Definition auto-inc-dec.cc:1749
rtl_opt_pass * make_pass_early_remat(gcc::context *ctxt)
Definition early-remat.cc:2635
rtl_opt_pass * make_pass_rtl_fwprop(gcc::context *ctxt)
Definition fwprop.cc:1027
gimple_opt_pass * make_pass_fix_loops(gcc::context *ctxt)
Definition tree-ssa-loop.cc:88
gimple_opt_pass * make_pass_lower_vector(gcc::context *ctxt)
Definition tree-vect-generic.cc:2333
gimple_opt_pass * make_pass_split_crit_edges(gcc::context *ctxt)
Definition tree-cfg.cc:9526
simple_ipa_opt_pass * make_pass_ipa_strub_mode(gcc::context *ctxt)
Definition ipa-strub.cc:2675
simple_ipa_opt_pass * make_pass_ipa_strub(gcc::context *ctxt)
Definition ipa-strub.cc:3624
void ipa_read_optimization_summaries(void)
Definition passes.cc:3097
simple_ipa_opt_pass * make_pass_ipa_auto_profile(gcc::context *ctxt)
Definition auto-profile.cc:1774
gimple_opt_pass * make_pass_backprop(gcc::context *ctxt)
Definition gimple-ssa-backprop.cc:975
void execute_pass_list(function *, opt_pass *)
Definition passes.cc:2776
rtl_opt_pass * make_pass_jump2(gcc::context *ctxt)
Definition cfgcleanup.cc:3336
rtl_opt_pass * make_pass_match_asm_constraints(gcc::context *ctxt)
Definition function.cc:7106
gimple_opt_pass * make_pass_graphite(gcc::context *ctxt)
Definition graphite.cc:589
simple_ipa_opt_pass * make_pass_target_clone(gcc::context *ctxt)
Definition multiple_target.cc:552
gimple_opt_pass * make_pass_lower_eh(gcc::context *ctxt)
Definition tree-eh.cc:2230
gimple_opt_pass * make_pass_warn_function_noreturn(gcc::context *ctxt)
Definition ipa-pure-const.cc:2306
gimple_opt_pass * make_pass_cd_dce(gcc::context *ctxt)
Definition tree-ssa-dce.cc:2196
gimple_opt_pass * make_pass_rebuild_cgraph_edges(gcc::context *ctxt)
Definition cgraphbuild.cc:513
gimple_opt_pass * make_pass_array_bounds(gcc::context *ctxt)
Definition gimple-array-bounds.cc:934
gimple_opt_pass * make_pass_omp_oacc_kernels_decompose(gcc::context *ctxt)
Definition omp-oacc-kernels-decompose.cc:1635
gimple_opt_pass * make_pass_cleanup_eh(gcc::context *ctxt)
Definition tree-eh.cc:4913
gimple_opt_pass * make_pass_ch_vect(gcc::context *ctxt)
Definition tree-ssa-loop-ch.cc:1254
rtl_opt_pass * make_pass_expand(gcc::context *ctxt)
Definition cfgexpand.cc:7148
gimple_opt_pass * make_pass_tree_loop_init(gcc::context *ctxt)
Definition tree-ssa-loop.cc:367
rtl_opt_pass * make_pass_cse2(gcc::context *ctxt)
Definition cse.cc:7680
rtl_opt_pass * make_pass_df_initialize_no_opt(gcc::context *ctxt)
Definition df-core.cc:790
rtl_opt_pass * make_pass_postreload_cse(gcc::context *ctxt)
Definition postreload.cc:2379
gimple_opt_pass * make_pass_fast_vrp(gcc::context *ctxt)
Definition tree-vrp.cc:1370
rtl_opt_pass * make_pass_sched2(gcc::context *ctxt)
Definition sched-rgn.cc:3907
ipa_opt_pass_d * make_pass_ipa_pure_const(gcc::context *ctxt)
Definition ipa-pure-const.cc:2138
rtl_opt_pass * make_pass_df_initialize_opt(gcc::context *ctxt)
Definition df-core.cc:750
rtl_opt_pass * make_pass_outof_cfg_layout_mode(gcc::context *ctxt)
Definition cfgrtl.cc:3806
gimple_opt_pass * make_pass_slp_vectorize(gcc::context *ctxt)
Definition tree-vectorizer.cc:1557
gimple_opt_pass * make_pass_object_sizes(gcc::context *ctxt)
Definition tree-object-size.cc:2349
simple_ipa_opt_pass * make_pass_ipa_free_fn_summary(gcc::context *ctxt)
Definition ipa-fnsummary.cc:5225
rtl_opt_pass * make_pass_rtl_loop_done(gcc::context *ctxt)
Definition loop-init.cc:495
rtl_opt_pass * make_pass_partition_blocks(gcc::context *ctxt)
Definition bb-reorder.cc:3072
gimple_opt_pass * make_pass_iv_canon(gcc::context *ctxt)
Definition tree-ssa-loop-ivcanon.cc:1655
void ipa_write_summaries(void)
Definition passes.cc:2868
gimple_opt_pass * make_pass_diagnose_tm_blocks(gcc::context *ctxt)
Definition trans-mem.cc:881
rtl_opt_pass * make_pass_peephole2(gcc::context *ctxt)
Definition recog.cc:4454
bool pass_init_dump_file(opt_pass *)
Definition passes.cc:2230
gimple_opt_pass * make_pass_lower_resx(gcc::context *ctxt)
Definition tree-eh.cc:3557
rtl_opt_pass * make_pass_cse(gcc::context *ctxt)
Definition cse.cc:7602
gimple_opt_pass * make_pass_optimize_bswap(gcc::context *ctxt)
Definition gimple-ssa-store-merging.cc:1690
gimple_opt_pass * make_pass_cselim(gcc::context *ctxt)
Definition tree-ssa-phiopt.cc:4616
rtl_opt_pass * make_pass_rtl_unroll_loops(gcc::context *ctxt)
Definition loop-init.cc:600
rtl_opt_pass * make_pass_rtl_hoist(gcc::context *ctxt)
Definition gcse.cc:4143
gimple_opt_pass * make_pass_expand_omp_ssa(gcc::context *ctxt)
Definition omp-expand.cc:11024
void ipa_write_optimization_summaries(struct lto_symtab_encoder_d *, bool)
gimple_opt_pass * make_pass_sanopt(gcc::context *ctxt)
Definition sanopt.cc:1433
ipa_opt_pass_d * make_pass_ipa_fn_summary(gcc::context *ctxt)
Definition ipa-fnsummary.cc:5269
rtl_opt_pass * make_pass_instantiate_virtual_regs(gcc::context *ctxt)
Definition function.cc:2049
gimple_opt_pass * make_pass_assumptions(gcc::context *ctxt)
Definition tree-assume.cc:461
gimple_opt_pass * make_pass_coroutine_early_expand_ifns(gcc::context *ctxt)
Definition coroutine-passes.cc:513
rtl_opt_pass * make_pass_thread_prologue_and_epilogue(gcc::context *ctxt)
Definition function.cc:6758
gimple_opt_pass * make_pass_oacc_kernels(gcc::context *ctxt)
Definition tree-ssa-loop.cc:198
gimple_opt_pass * make_pass_nrv(gcc::context *ctxt)
Definition tree-nrv.cc:292
void enable_pass(const char *)
Definition passes.cc:1236
rtl_opt_pass * make_pass_sched_fusion(gcc::context *ctxt)
Definition sched-rgn.cc:3959
gimple_opt_pass * make_pass_expand_pow(gcc::context *ctxt)
Definition tree-ssa-math-opts.cc:2424
gimple_opt_pass * make_pass_remove_cgraph_callee_edges(gcc::context *ctxt)
Definition cgraphbuild.cc:561