Add 'final' and 'override' to opt_pass vfunc impls

gcc/ChangeLog:
	* adjust-alignment.cc: Add "final" and "override" to opt_pass
	vfunc implementations, removing redundant "virtual" as
	appropriate.
	* asan.cc: Likewise.
	* auto-inc-dec.cc: Likewise.
	* auto-profile.cc: Likewise.
	* bb-reorder.cc: Likewise.
	* cfgcleanup.cc: Likewise.
	* cfgexpand.cc: Likewise.
	* cfgrtl.cc: Likewise.
	* cgraphbuild.cc: Likewise.
	* combine-stack-adj.cc: Likewise.
	* combine.cc: Likewise.
	* compare-elim.cc: Likewise.
	* config/i386/i386-features.cc: Likewise.
	* coroutine-passes.cc: Likewise.
	* cprop.cc: Likewise.
	* cse.cc: Likewise.
	* dce.cc: Likewise.
	* df-core.cc: Likewise.
	* dse.cc: Likewise.
	* dwarf2cfi.cc: Likewise.
	* early-remat.cc: Likewise.
	* except.cc: Likewise.
	* final.cc: Likewise.
	* function.cc: Likewise.
	* fwprop.cc: Likewise.
	* gcse.cc: Likewise.
	* gimple-harden-conditionals.cc: Likewise.
	* gimple-if-to-switch.cc: Likewise.
	* gimple-isel.cc: Likewise.
	* gimple-laddress.cc: Likewise.
	* gimple-loop-interchange.cc: Likewise.
	* gimple-loop-jam.cc: Likewise.
	* gimple-loop-versioning.cc: Likewise.
	* gimple-low.cc: Likewise.
	* gimple-ssa-backprop.cc: Likewise.
	* gimple-ssa-evrp.cc: Likewise.
	* gimple-ssa-isolate-paths.cc: Likewise.
	* gimple-ssa-nonnull-compare.cc: Likewise.
	* gimple-ssa-split-paths.cc: Likewise.
	* gimple-ssa-store-merging.cc: Likewise.
	* gimple-ssa-strength-reduction.cc: Likewise.
	* gimple-ssa-warn-access.cc: Likewise.
	* gimple-ssa-warn-alloca.cc: Likewise.
	* gimple-ssa-warn-restrict.cc: Likewise.
	* gimple-warn-recursion.cc: Likewise.
	* graphite.cc: Likewise.
	* ifcvt.cc: Likewise.
	* init-regs.cc: Likewise.
	* ipa-comdats.cc: Likewise.
	* ipa-cp.cc: Likewise.
	* ipa-devirt.cc: Likewise.
	* ipa-fnsummary.cc: Likewise.
	* ipa-free-lang-data.cc: Likewise.
	* ipa-icf.cc: Likewise.
	* ipa-inline.cc: Likewise.
	* ipa-modref.cc: Likewise.
	* ipa-profile.cc: Likewise.
	* ipa-pure-const.cc: Likewise.
	* ipa-reference.cc: Likewise.
	* ipa-split.cc: Likewise.
	* ipa-sra.cc: Likewise.
	* ipa-visibility.cc: Likewise.
	* ipa.cc: Likewise.
	* ira.cc: Likewise.
	* jump.cc: Likewise.
	* loop-init.cc: Likewise.
	* lower-subreg.cc: Likewise.
	* mode-switching.cc: Likewise.
	* modulo-sched.cc: Likewise.
	* multiple_target.cc: Likewise.
	* omp-expand.cc: Likewise.
	* omp-low.cc: Likewise.
	* omp-oacc-kernels-decompose.cc: Likewise.
	* omp-oacc-neuter-broadcast.cc: Likewise.
	* omp-offload.cc: Likewise.
	* omp-simd-clone.cc: Likewise.
	* passes.cc: Likewise.
	* postreload-gcse.cc: Likewise.
	* postreload.cc: Likewise.
	* predict.cc: Likewise.
	* recog.cc: Likewise.
	* ree.cc: Likewise.
	* reg-stack.cc: Likewise.
	* regcprop.cc: Likewise.
	* reginfo.cc: Likewise.
	* regrename.cc: Likewise.
	* reorg.cc: Likewise.
	* sancov.cc: Likewise.
	* sanopt.cc: Likewise.
	* sched-rgn.cc: Likewise.
	* stack-ptr-mod.cc: Likewise.
	* store-motion.cc: Likewise.
	* tracer.cc: Likewise.
	* trans-mem.cc: Likewise.
	* tree-call-cdce.cc: Likewise.
	* tree-cfg.cc: Likewise.
	* tree-cfgcleanup.cc: Likewise.
	* tree-complex.cc: Likewise.
	* tree-eh.cc: Likewise.
	* tree-emutls.cc: Likewise.
	* tree-if-conv.cc: Likewise.
	* tree-into-ssa.cc: Likewise.
	* tree-loop-distribution.cc: Likewise.
	* tree-nrv.cc: Likewise.
	* tree-object-size.cc: Likewise.
	* tree-parloops.cc: Likewise.
	* tree-predcom.cc: Likewise.
	* tree-profile.cc: Likewise.
	* tree-sra.cc: Likewise.
	* tree-ssa-ccp.cc: Likewise.
	* tree-ssa-copy.cc: Likewise.
	* tree-ssa-dce.cc: Likewise.
	* tree-ssa-dom.cc: Likewise.
	* tree-ssa-dse.cc: Likewise.
	* tree-ssa-forwprop.cc: Likewise.
	* tree-ssa-ifcombine.cc: Likewise.
	* tree-ssa-loop-ch.cc: Likewise.
	* tree-ssa-loop-im.cc: Likewise.
	* tree-ssa-loop-ivcanon.cc: Likewise.
	* tree-ssa-loop-prefetch.cc: Likewise.
	* tree-ssa-loop-split.cc: Likewise.
	* tree-ssa-loop-unswitch.cc: Likewise.
	* tree-ssa-loop.cc: Likewise.
	* tree-ssa-math-opts.cc: Likewise.
	* tree-ssa-phiopt.cc: Likewise.
	* tree-ssa-phiprop.cc: Likewise.
	* tree-ssa-pre.cc: Likewise.
	* tree-ssa-reassoc.cc: Likewise.
	* tree-ssa-sccvn.cc: Likewise.
	* tree-ssa-sink.cc: Likewise.
	* tree-ssa-strlen.cc: Likewise.
	* tree-ssa-structalias.cc: Likewise.
	* tree-ssa-uncprop.cc: Likewise.
	* tree-ssa-uninit.cc: Likewise.
	* tree-ssanames.cc: Likewise.
	* tree-stdarg.cc: Likewise.
	* tree-switch-conversion.cc: Likewise.
	* tree-tailcall.cc: Likewise.
	* tree-vect-generic.cc: Likewise.
	* tree-vectorizer.cc: Likewise.
	* tree-vrp.cc: Likewise.
	* tsan.cc: Likewise.
	* ubsan.cc: Likewise.
	* var-tracking.cc: Likewise.
	* vtable-verify.cc: Likewise.
	* web.cc: Likewise.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
This commit is contained in:
David Malcolm 2022-06-27 17:00:33 -04:00
parent 6ce49a6e69
commit 725793af78
146 changed files with 769 additions and 552 deletions

View file

@ -50,7 +50,7 @@ public:
: gimple_opt_pass (pass_data_adjust_alignment, ctxt)
{}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_adjust_alignment
} // anon namespace

View file

@ -4222,9 +4222,15 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_asan (m_ctxt); }
virtual bool gate (function *) { return gate_asan () || gate_hwasan (); }
virtual unsigned int execute (function *) { return asan_instrument (); }
opt_pass * clone () final override { return new pass_asan (m_ctxt); }
bool gate (function *) final override
{
return gate_asan () || gate_hwasan ();
}
unsigned int execute (function *) final override
{
return asan_instrument ();
}
}; // class pass_asan
@ -4259,11 +4265,14 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return !optimize && (gate_asan () || gate_hwasan ());
}
virtual unsigned int execute (function *) { return asan_instrument (); }
unsigned int execute (function *) final override
{
return asan_instrument ();
}
}; // class pass_asan_O0

View file

@ -1692,7 +1692,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
if (!AUTO_INC_DEC)
return false;
@ -1701,7 +1701,7 @@ public:
}
unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_inc_dec

View file

@ -1752,13 +1752,13 @@ public:
}
/* opt_pass methods: */
virtual bool
gate (function *)
bool
gate (function *) final override
{
return flag_auto_profile;
}
virtual unsigned int
execute (function *)
unsigned int
execute (function *) final override
{
return autofdo::auto_profile ();
}

View file

@ -2633,7 +2633,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
if (targetm.cannot_modify_jumps_p ())
return false;
@ -2641,7 +2641,7 @@ public:
&& (flag_reorder_blocks || flag_reorder_blocks_and_partition));
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_reorder_blocks
@ -2794,8 +2794,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *);
bool gate (function *) final override;
unsigned int execute (function *) final override;
}; // class pass_duplicate_computed_gotos
@ -2937,8 +2937,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *);
bool gate (function *) final override;
unsigned int execute (function *) final override;
}; // class pass_partition_blocks

View file

@ -3227,7 +3227,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_jump
@ -3274,11 +3274,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return flag_thread_jumps && flag_expensive_optimizations;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_jump_after_combine
@ -3322,7 +3322,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
cleanup_cfg (flag_crossjumping ? CLEANUP_CROSSJUMP : 0);
return 0;

View file

@ -6573,7 +6573,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_expand

View file

@ -483,7 +483,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_free_cfg
@ -3698,7 +3698,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
cfg_layout_initialize (0);
return 0;
@ -3737,7 +3737,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_outof_cfg_layout_mode

View file

@ -290,7 +290,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_build_cgraph_edges
@ -484,8 +484,11 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_rebuild_cgraph_edges (m_ctxt); }
virtual unsigned int execute (function *)
opt_pass * clone () final override
{
return new pass_rebuild_cgraph_edges (m_ctxt);
}
unsigned int execute (function *) final override
{
return cgraph_edge::rebuild_edges ();
}
@ -524,10 +527,10 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () {
opt_pass * clone () final override {
return new pass_remove_cgraph_callee_edges (m_ctxt);
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_remove_cgraph_callee_edges

View file

@ -823,8 +823,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return rest_of_handle_stack_adjustments ();
}

View file

@ -15015,8 +15015,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return (optimize > 0); }
virtual unsigned int execute (function *)
bool gate (function *) final override { return (optimize > 0); }
unsigned int execute (function *) final override
{
return rest_of_handle_combine ();
}

View file

@ -954,7 +954,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* Setting this target hook value is how a backend indicates the need. */
if (targetm.flags_regnum == INVALID_REGNUM)
@ -962,7 +962,7 @@ public:
return flag_compare_elim_after_reload;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return execute_compare_elim_after_reload ();
}

View file

@ -1880,13 +1880,13 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return TARGET_AVX && TARGET_VZEROUPPER
&& flag_expensive_optimizations && !optimize_size;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_insert_vzeroupper ();
}
@ -1915,23 +1915,23 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return ((!timode_p || TARGET_64BIT)
&& TARGET_STV && TARGET_SSE2 && optimize > 1);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return convert_scalars_to_vector (timode_p);
}
opt_pass *clone ()
opt_pass *clone () final override
{
return new pass_stv (m_ctxt);
}
void set_pass_param (unsigned int n, bool param)
void set_pass_param (unsigned int n, bool param) final override
{
gcc_assert (n == 0);
timode_p = param;
@ -2142,14 +2142,14 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
need_endbr = (flag_cf_protection & CF_BRANCH) != 0;
patchable_area_size = crtl->patch_area_size - crtl->patch_area_entry;
return need_endbr || patchable_area_size;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
timevar_push (TV_MACH_DEP);
rest_of_insert_endbr_and_patchable_area (need_endbr,
@ -2406,7 +2406,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (TARGET_AVX
&& TARGET_SSE_PARTIAL_REG_DEPENDENCY
@ -2415,7 +2415,7 @@ public:
&& optimize_function_for_speed_p (cfun));
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return remove_partial_avx_dependency ();
}

View file

@ -213,9 +213,9 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_coroutines; };
bool gate (function *) final override { return flag_coroutines; };
virtual unsigned int execute (function *f ATTRIBUTE_UNUSED)
unsigned int execute (function *f ATTRIBUTE_UNUSED) final override
{
return execute_lower_coro_builtins ();
}
@ -511,12 +511,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *f)
bool gate (function *f) final override
{
return flag_coroutines && f->coroutine_component;
}
virtual unsigned int execute (function *f ATTRIBUTE_UNUSED)
unsigned int execute (function *f ATTRIBUTE_UNUSED) final override
{
return execute_early_expand_coro_ifns ();
}

View file

@ -1953,15 +1953,18 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_rtl_cprop (m_ctxt); }
virtual bool gate (function *fun)
opt_pass * clone () final override { return new pass_rtl_cprop (m_ctxt); }
bool gate (function *fun) final override
{
return optimize > 0 && flag_gcse
&& !fun->calls_setjmp
&& dbg_cnt (cprop);
}
virtual unsigned int execute (function *) { return execute_rtl_cprop (); }
unsigned int execute (function *) final override
{
return execute_rtl_cprop ();
}
}; // class pass_rtl_cprop

View file

@ -7571,8 +7571,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return optimize > 0; }
virtual unsigned int execute (function *) { return rest_of_handle_cse (); }
bool gate (function *) final override { return optimize > 0; }
unsigned int execute (function *) final override
{
return rest_of_handle_cse ();
}
}; // class pass_cse
@ -7642,12 +7645,15 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 0 && flag_rerun_cse_after_loop;
}
virtual unsigned int execute (function *) { return rest_of_handle_cse2 (); }
unsigned int execute (function *) final override
{
return rest_of_handle_cse2 ();
}
}; // class pass_cse2
@ -7715,12 +7721,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 0 && flag_rerun_cse_after_global_opts;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_cse_after_global_opts ();
}

View file

@ -849,12 +849,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 1 && flag_dce && dbg_cnt (dce_ud);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_ud_dce ();
}
@ -1280,12 +1280,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 0 && flag_dce && dbg_cnt (dce_fast);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_fast_dce ();
}

View file

@ -741,8 +741,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return optimize > 0; }
virtual unsigned int execute (function *)
bool gate (function *) final override { return optimize > 0; }
unsigned int execute (function *) final override
{
return rest_of_handle_df_initialize ();
}
@ -781,8 +781,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return optimize == 0; }
virtual unsigned int execute (function *)
bool gate (function *) final override { return optimize == 0; }
unsigned int execute (function *) final override
{
return rest_of_handle_df_initialize ();
}
@ -848,7 +848,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_df_finish ();
}

View file

@ -3755,12 +3755,15 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 0 && flag_dse && dbg_cnt (dse1);
}
virtual unsigned int execute (function *) { return rest_of_handle_dse (); }
unsigned int execute (function *) final override
{
return rest_of_handle_dse ();
}
}; // class pass_rtl_dse1
@ -3795,12 +3798,15 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 0 && flag_dse && dbg_cnt (dse2);
}
virtual unsigned int execute (function *) { return rest_of_handle_dse (); }
unsigned int execute (function *) final override
{
return rest_of_handle_dse ();
}
}; // class pass_rtl_dse2

View file

@ -3788,8 +3788,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *) { return execute_dwarf2_frame (); }
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return execute_dwarf2_frame ();
}
}; // class pass_dwarf2_frame

View file

@ -2615,12 +2615,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 1 && NUM_POLY_INT_COEFFS > 1;
}
virtual unsigned int execute (function *f)
unsigned int execute (function *f) final override
{
auto_sbitmap selected_modes (NUM_MACHINE_MODES);
bitmap_clear (selected_modes);

View file

@ -2047,7 +2047,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return set_nothrow_function_flags ();
}
@ -2722,8 +2722,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
int ret = convert_to_eh_region_ranges ();
maybe_add_nop_after_section_switch ();

View file

@ -804,7 +804,10 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return compute_alignments (); }
unsigned int execute (function *) final override
{
return compute_alignments ();
}
}; // class pass_compute_alignments
@ -4356,7 +4359,10 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return rest_of_handle_final (); }
unsigned int execute (function *) final override
{
return rest_of_handle_final ();
}
}; // class pass_final
@ -4400,7 +4406,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_shorten_branches ();
}
@ -4575,7 +4581,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_clean_state ();
}

View file

@ -2029,7 +2029,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return instantiate_virtual_regs ();
}
@ -6516,7 +6516,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_check_leaf_regs ();
}
@ -6617,7 +6617,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_thread_prologue_and_epilogue ();
}
@ -6655,7 +6655,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_zero_call_used_regs
@ -6926,7 +6926,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_match_asm_constraints

View file

@ -1029,8 +1029,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return gate_fwprop (); }
virtual unsigned int execute (function *) { return fwprop (false); }
bool gate (function *) final override { return gate_fwprop (); }
unsigned int execute (function *) final override { return fwprop (false); }
}; // class pass_rtl_fwprop
@ -1065,8 +1065,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return gate_fwprop (); }
virtual unsigned int execute (function *) { return fwprop (true); }
bool gate (function *) final override { return gate_fwprop (); }
unsigned int execute (function *) final override { return fwprop (true); }
}; // class pass_rtl_fwprop_addr

View file

@ -4049,8 +4049,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *) { return execute_rtl_pre (); }
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return execute_rtl_pre ();
}
}; // class pass_rtl_pre
@ -4099,8 +4102,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *) { return execute_rtl_hoist (); }
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return execute_rtl_hoist ();
}
}; // class pass_rtl_hoist

View file

@ -71,11 +71,15 @@ public:
pass_harden_compares (gcc::context *ctxt)
: gimple_opt_pass (pass_data_harden_compares, ctxt)
{}
opt_pass *clone () { return new pass_harden_compares (m_ctxt); }
virtual bool gate (function *) {
opt_pass *clone () final override
{
return new pass_harden_compares (m_ctxt);
}
bool gate (function *) final override
{
return flag_harden_compares;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
};
/* Define a pass to harden conditionals in branches. This pass must
@ -102,11 +106,15 @@ public:
pass_harden_conditional_branches (gcc::context *ctxt)
: gimple_opt_pass (pass_data_harden_conditional_branches, ctxt)
{}
opt_pass *clone () { return new pass_harden_conditional_branches (m_ctxt); }
virtual bool gate (function *) {
opt_pass *clone () final override
{
return new pass_harden_conditional_branches (m_ctxt);
}
bool gate (function *) final override
{
return flag_harden_conditional_branches;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
};
}

View file

@ -480,13 +480,13 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (jump_table_cluster::is_enabled ()
|| bit_test_cluster::is_enabled ());
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_if_to_switch

View file

@ -355,12 +355,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return true;
}
virtual unsigned int execute (function *fun)
unsigned int execute (function *fun) final override
{
return gimple_expand_vec_exprs (fun);
}

View file

@ -66,9 +66,9 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_laddress (m_ctxt); }
virtual bool gate (function *) { return optimize != 0; }
virtual unsigned int execute (function *);
opt_pass * clone () final override { return new pass_laddress (m_ctxt); }
bool gate (function *) final override { return optimize != 0; }
unsigned int execute (function *) final override;
}; // class pass_laddress

View file

@ -1705,9 +1705,9 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_linterchange (m_ctxt); }
virtual bool gate (function *) { return flag_loop_interchange; }
virtual unsigned int execute (function *);
opt_pass * clone () final override { return new pass_linterchange (m_ctxt); }
bool gate (function *) final override { return flag_loop_interchange; }
unsigned int execute (function *) final override;
}; // class pass_linterchange

View file

@ -641,8 +641,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_unroll_jam != 0; }
virtual unsigned int execute (function *);
bool gate (function *) final override { return flag_unroll_jam != 0; }
unsigned int execute (function *) final override;
};

View file

@ -1782,8 +1782,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_version_loops_for_strides; }
virtual unsigned int execute (function *);
bool gate (function *) final override
{
return flag_version_loops_for_strides;
}
unsigned int execute (function *) final override;
};
unsigned int

View file

@ -192,7 +192,10 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return lower_function_body (); }
unsigned int execute (function *) final override
{
return lower_function_body ();
}
}; // class pass_lower_cf

View file

@ -945,9 +945,9 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_backprop (m_ctxt); }
virtual bool gate (function *) { return flag_ssa_backprop; }
virtual unsigned int execute (function *);
opt_pass * clone () final override { return new pass_backprop (m_ctxt); }
bool gate (function *) final override { return flag_ssa_backprop; }
unsigned int execute (function *) final override;
}; // class pass_backprop

View file

@ -377,12 +377,12 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_early_vrp (m_ctxt); }
virtual bool gate (function *)
opt_pass * clone () final override { return new pass_early_vrp (m_ctxt); }
bool gate (function *) final override
{
return flag_tree_vrp != 0;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{ return execute_early_vrp (); }
}; // class pass_vrp

View file

@ -969,8 +969,11 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_isolate_erroneous_paths (m_ctxt); }
virtual bool gate (function *)
opt_pass * clone () final override
{
return new pass_isolate_erroneous_paths (m_ctxt);
}
bool gate (function *) final override
{
/* If we do not have a suitable builtin function for the trap statement,
then do not perform the optimization. */
@ -979,7 +982,7 @@ public:
|| warn_null_dereference);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return gimple_ssa_isolate_erroneous_paths ();
}

View file

@ -126,9 +126,9 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return warn_nonnull_compare; }
bool gate (function *) final override { return warn_nonnull_compare; }
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_warn_nonnull_compare

View file

@ -579,9 +579,12 @@ class pass_split_paths : public gimple_opt_pass
: gimple_opt_pass (pass_data_split_paths, ctxt)
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_split_paths (m_ctxt); }
virtual bool gate (function *) { return gate_split_paths (); }
virtual unsigned int execute (function *) { return execute_split_paths (); }
opt_pass * clone () final override { return new pass_split_paths (m_ctxt); }
bool gate (function *) final override { return gate_split_paths (); }
unsigned int execute (function *) final override
{
return execute_split_paths ();
}
}; // class pass_split_paths

View file

@ -1037,12 +1037,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return flag_expensive_optimizations && optimize && BITS_PER_UNIT == 8;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_optimize_bswap
@ -2433,8 +2433,8 @@ public:
/* Pass not supported for PDP-endian, nor for insane hosts or
target character sizes where native_{encode,interpret}_expr
doesn't work properly. */
virtual bool
gate (function *)
bool
gate (function *) final override
{
return flag_store_merging
&& BYTES_BIG_ENDIAN == WORDS_BIG_ENDIAN
@ -2442,7 +2442,7 @@ public:
&& BITS_PER_UNIT == 8;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
private:
hash_map<tree_operand_hash, class imm_store_chain_info *> m_stores;

View file

@ -4002,8 +4002,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_tree_slsr; }
virtual unsigned int execute (function *);
bool gate (function *) final override { return flag_tree_slsr; }
unsigned int execute (function *) final override;
}; // class pass_strength_reduction

View file

@ -2075,13 +2075,13 @@ class pass_waccess : public gimple_opt_pass
~pass_waccess ();
opt_pass *clone ();
opt_pass *clone () final override;
virtual bool gate (function *);
bool gate (function *) final override;
void set_pass_param (unsigned, bool);
void set_pass_param (unsigned, bool) final override;
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
private:
/* Not copyable or assignable. */

View file

@ -58,8 +58,8 @@ public:
pass_walloca (gcc::context *ctxt)
: gimple_opt_pass(pass_data_walloca, ctxt), xlimit_certain_p (false)
{}
opt_pass *clone () { return new pass_walloca (m_ctxt); }
void set_pass_param (unsigned int n, bool param)
opt_pass *clone () final override { return new pass_walloca (m_ctxt); }
void set_pass_param (unsigned int n, bool param) final override
{
gcc_assert (n == 0);
// Set to true to enable only warnings for alloca calls that
@ -69,8 +69,8 @@ public:
// the "may be too large" kind.
xlimit_certain_p = param;
}
virtual bool gate (function *);
virtual unsigned int execute (function *);
bool gate (function *) final override;
unsigned int execute (function *) final override;
private:
// Set to TRUE the first time we run this pass on a function.

View file

@ -64,8 +64,8 @@ class pass_wrestrict : public gimple_opt_pass
public:
pass_wrestrict (gcc::context *);
virtual bool gate (function *);
virtual unsigned int execute (function *);
bool gate (function *) final override;
unsigned int execute (function *) final override;
void check_call (gimple *);

View file

@ -52,9 +52,9 @@ public:
pass_warn_recursion (gcc::context *);
private:
virtual bool gate (function *) { return warn_infinite_recursion; }
bool gate (function *) final override { return warn_infinite_recursion; }
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
bool find_function_exit (basic_block);

View file

@ -574,7 +574,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return gate_graphite_transforms (); }
bool gate (function *) final override { return gate_graphite_transforms (); }
}; // class pass_graphite
@ -609,8 +609,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return gate_graphite_transforms (); }
virtual unsigned int execute (function *fun) { return graphite_transforms (fun); }
bool gate (function *) final override { return gate_graphite_transforms (); }
unsigned int execute (function *fun) final override
{
return graphite_transforms (fun);
}
}; // class pass_graphite_transforms

View file

@ -5934,12 +5934,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (optimize > 0) && dbg_cnt (if_conversion);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_if_conversion ();
}
@ -5981,13 +5981,13 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 0 && flag_if_conversion
&& dbg_cnt (if_after_combine);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
if_convert (true);
return 0;
@ -6027,13 +6027,13 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return optimize > 0 && flag_if_conversion2
&& dbg_cnt (if_after_reload);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
if_convert (true);
return 0;

View file

@ -153,8 +153,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return optimize > 0; }
virtual unsigned int execute (function *)
bool gate (function *) final override { return optimize > 0; }
unsigned int execute (function *) final override
{
initialize_uninitialized_regs ();
return 0;

View file

@ -420,8 +420,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *) { return ipa_comdats (); }
bool gate (function *) final override;
unsigned int execute (function *) final override { return ipa_comdats (); }
}; // class pass_ipa_comdats

View file

@ -6657,14 +6657,14 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* FIXME: We should remove the optimize check after we ensure we never run
IPA passes when not optimizing. */
return (flag_ipa_cp && optimize) || in_lto_p;
}
virtual unsigned int execute (function *) { return ipcp_driver (); }
unsigned int execute (function *) final override { return ipcp_driver (); }
}; // class pass_ipa_cp

View file

@ -3969,7 +3969,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* In LTO, always run the IPA passes and decide on function basis if the
pass is enabled. */
@ -3982,7 +3982,7 @@ public:
&& optimize);
}
virtual unsigned int execute (function *) { return ipa_devirt (); }
unsigned int execute (function *) final override { return ipa_devirt (); }
}; // class pass_ipa_devirt
@ -4361,12 +4361,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (in_lto_p || flag_lto);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return 0;
}

View file

@ -4846,8 +4846,11 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_local_fn_summary (m_ctxt); }
virtual unsigned int execute (function *)
opt_pass * clone () final override
{
return new pass_local_fn_summary (m_ctxt);
}
unsigned int execute (function *) final override
{
return compute_fn_summary_for_current ();
}
@ -4889,14 +4892,17 @@ public:
{}
/* opt_pass methods: */
opt_pass *clone () { return new pass_ipa_free_fn_summary (m_ctxt); }
void set_pass_param (unsigned int n, bool param)
opt_pass *clone () final override
{
return new pass_ipa_free_fn_summary (m_ctxt);
}
void set_pass_param (unsigned int n, bool param) final override
{
gcc_assert (n == 0);
small_p = param;
}
virtual bool gate (function *) { return true; }
virtual unsigned int execute (function *)
bool gate (function *) final override { return true; }
unsigned int execute (function *) final override
{
ipa_free_fn_summary ();
/* Free ipa-prop structures if they are no longer needed. */
@ -4950,7 +4956,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return 0; }
unsigned int execute (function *) final override { return 0; }
}; // class pass_ipa_fn_summary

View file

@ -1173,7 +1173,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return free_lang_data (); }
unsigned int execute (function *) final override { return free_lang_data (); }
}; // class pass_ipa_free_lang_data

View file

@ -3638,12 +3638,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return in_lto_p || flag_ipa_icf_variables || flag_ipa_icf_functions;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return ipa_icf_driver();
}

View file

@ -3100,7 +3100,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_early_inline
@ -3150,7 +3150,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return ipa_inline (); }
unsigned int execute (function *) final override { return ipa_inline (); }
}; // class pass_ipa_inline

View file

@ -3508,15 +3508,15 @@ class pass_modref : public gimple_opt_pass
: gimple_opt_pass (pass_data_modref, ctxt) {}
/* opt_pass methods: */
opt_pass *clone ()
opt_pass *clone () final override
{
return new pass_modref (m_ctxt);
}
virtual bool gate (function *)
bool gate (function *) final override
{
return flag_ipa_modref;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
};
/* Encode TT to the output block OB using the summary streaming API. */
@ -4170,12 +4170,12 @@ public:
{}
/* opt_pass methods: */
opt_pass *clone () { return new pass_ipa_modref (m_ctxt); }
virtual bool gate (function *)
opt_pass *clone () final override { return new pass_ipa_modref (m_ctxt); }
bool gate (function *) final override
{
return true;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
};

View file

@ -1053,8 +1053,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_ipa_profile || in_lto_p; }
virtual unsigned int execute (function *) { return ipa_profile (); }
bool gate (function *) final override { return flag_ipa_profile || in_lto_p; }
unsigned int execute (function *) final override { return ipa_profile (); }
}; // class pass_ipa_profile

View file

@ -168,8 +168,8 @@ public:
pass_ipa_pure_const(gcc::context *ctxt);
/* opt_pass methods: */
bool gate (function *) { return gate_pure_const (); }
unsigned int execute (function *fun);
bool gate (function *) final override { return gate_pure_const (); }
unsigned int execute (function *fun) final override;
void register_hooks (void);
@ -2154,9 +2154,12 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_local_pure_const (m_ctxt); }
virtual bool gate (function *) { return gate_pure_const (); }
virtual unsigned int execute (function *);
opt_pass * clone () final override
{
return new pass_local_pure_const (m_ctxt);
}
bool gate (function *) final override { return gate_pure_const (); }
unsigned int execute (function *) final override;
}; // class pass_local_pure_const
@ -2270,8 +2273,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return warn_suggest_attribute_noreturn; }
virtual unsigned int execute (function *fun)
bool gate (function *) final override
{
return warn_suggest_attribute_noreturn;
}
unsigned int execute (function *fun) final override
{
if (!TREE_THIS_VOLATILE (current_function_decl)
&& EDGE_COUNT (EXIT_BLOCK_PTR_FOR_FN (fun)->preds) == 0)
@ -2316,9 +2322,9 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_nothrow (m_ctxt); }
virtual bool gate (function *) { return optimize; }
virtual unsigned int execute (function *);
opt_pass * clone () final override { return new pass_nothrow (m_ctxt); }
bool gate (function *) final override { return optimize; }
unsigned int execute (function *) final override;
}; // class pass_nothrow

View file

@ -1299,14 +1299,14 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return ((in_lto_p || flag_ipa_reference)
/* Don't bother doing anything if the program has errors. */
&& !seen_error ());
}
virtual unsigned int execute (function *) { return propagate (); }
unsigned int execute (function *) final override { return propagate (); }
}; // class pass_ipa_reference

View file

@ -1915,8 +1915,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return execute_split_functions ();
}
@ -1974,8 +1974,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return execute_feedback_split_functions ();
}

View file

@ -4049,14 +4049,17 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* TODO: We should remove the optimize check after we ensure we never run
IPA passes when not optimizing. */
return (flag_ipa_sra && optimize);
}
virtual unsigned int execute (function *) { return ipa_sra_analysis (); }
unsigned int execute (function *) final override
{
return ipa_sra_analysis ();
}
}; // class pass_ipa_sra

View file

@ -959,12 +959,12 @@ public:
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* Do not re-run on ltrans stage. */
return !flag_ltrans;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return whole_program_function_and_variable_visibility ();
}
@ -988,7 +988,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return function_and_variable_visibility (flag_whole_program && !flag_lto);
}

View file

@ -1342,8 +1342,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *) { return ipa_cdtor_merge (); }
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return ipa_cdtor_merge ();
}
}; // class pass_ipa_cdtor_merge
@ -1565,7 +1568,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return ipa_single_use (); }
unsigned int execute (function *) final override { return ipa_single_use (); }
}; // class pass_ipa_single_use

View file

@ -6074,11 +6074,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return !targetm.no_register_allocation;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
ira (dump_file);
return 0;
@ -6117,11 +6117,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return !targetm.no_register_allocation;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
do_reload ();
return 0;

View file

@ -182,7 +182,10 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return cleanup_barriers (); }
unsigned int execute (function *) final override
{
return cleanup_barriers ();
}
}; // class pass_cleanup_barriers

View file

@ -357,7 +357,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
bool gate (function *) final override;
}; // class pass_loop2
@ -429,7 +429,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return rtl_loop_init (); }
unsigned int execute (function *) final override { return rtl_loop_init (); }
}; // class pass_rtl_loop_init
@ -467,7 +467,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_rtl_loop_done
@ -523,8 +523,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_move_loop_invariants; }
virtual unsigned int execute (function *fun)
bool gate (function *) final override { return flag_move_loop_invariants; }
unsigned int execute (function *fun) final override
{
if (number_of_loops (fun) > 1)
move_loop_invariants ();
@ -565,12 +565,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (flag_unroll_loops || flag_unroll_all_loops || cfun->has_unroll);
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_rtl_unroll_loops
@ -625,8 +625,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *);
bool gate (function *) final override;
unsigned int execute (function *) final override;
}; // class pass_rtl_doloop

View file

@ -1769,8 +1769,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_split_wide_types != 0; }
virtual unsigned int execute (function *)
bool gate (function *) final override { return flag_split_wide_types != 0; }
unsigned int execute (function *) final override
{
decompose_multiword_subregs (false);
return 0;
@ -1811,9 +1811,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_split_wide_types
&& flag_split_wide_types_early; }
virtual unsigned int execute (function *)
bool gate (function *) final override
{
return flag_split_wide_types && flag_split_wide_types_early;
}
unsigned int execute (function *) final override
{
decompose_multiword_subregs (true);
return 0;
@ -1854,8 +1856,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_split_wide_types; }
virtual unsigned int execute (function *)
bool gate (function *) final override { return flag_split_wide_types; }
unsigned int execute (function *) final override
{
decompose_multiword_subregs (true);
return 0;

View file

@ -893,8 +893,8 @@ public:
/* opt_pass methods: */
/* The epiphany backend creates a second instance of this pass, so we need
a clone method. */
opt_pass * clone () { return new pass_mode_switching (m_ctxt); }
virtual bool gate (function *)
opt_pass * clone () final override { return new pass_mode_switching (m_ctxt); }
bool gate (function *) final override
{
#ifdef OPTIMIZE_MODE_SWITCHING
return true;
@ -903,7 +903,7 @@ public:
#endif
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
#ifdef OPTIMIZE_MODE_SWITCHING
optimize_mode_switching ();

View file

@ -3338,12 +3338,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (optimize > 0 && flag_modulo_sched);
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_sms

View file

@ -526,8 +526,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *) { return ipa_target_clone (); }
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return ipa_target_clone ();
}
};
bool

View file

@ -10625,7 +10625,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
bool gate = ((flag_openacc != 0 || flag_openmp != 0
|| flag_openmp_simd != 0)
@ -10672,12 +10672,18 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *fun)
bool gate (function *fun) final override
{
return !(fun->curr_properties & PROP_gimple_eomp);
}
virtual unsigned int execute (function *) { return execute_expand_omp (); }
opt_pass * clone () { return new pass_expand_omp_ssa (m_ctxt); }
unsigned int execute (function *) final override
{
return execute_expand_omp ();
}
opt_pass * clone () final override
{
return new pass_expand_omp_ssa (m_ctxt);
}
}; // class pass_expand_omp_ssa

View file

@ -14697,7 +14697,10 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return execute_lower_omp (); }
unsigned int execute (function *) final override
{
return execute_lower_omp ();
}
}; // class pass_lower_omp
@ -15005,11 +15008,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return flag_openacc || flag_openmp || flag_openmp_simd;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return diagnose_omp_structured_block_errors ();
}

View file

@ -1615,12 +1615,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (flag_openacc
&& param_openacc_kernels == OPENACC_KERNELS_DECOMPOSE);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return omp_oacc_kernels_decompose ();
}

View file

@ -1945,7 +1945,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *fun)
bool gate (function *fun) final override
{
if (!flag_openacc)
return false;
@ -1961,7 +1961,7 @@ public:
return true;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return execute_omp_oacc_neuter_broadcast ();
}

View file

@ -2450,9 +2450,9 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_openacc; };
bool gate (function *) final override { return flag_openacc; };
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return execute_oacc_loop_designation ();
}
@ -2480,9 +2480,9 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_openacc; };
bool gate (function *) final override { return flag_openacc; };
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return execute_oacc_device_lower ();
}
@ -2714,13 +2714,13 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *fun)
bool gate (function *fun) final override
{
return (!(fun->curr_properties & PROP_gimple_lomp_dev)
|| (flag_openmp
&& cgraph_node::get (fun->decl)->calls_declare_variant_alt));
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return execute_omp_device_lower ();
}
@ -2760,7 +2760,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *fun)
bool gate (function *fun) final override
{
#ifdef ACCEL_COMPILER
return offloading_function_p (fun->decl);
@ -2770,7 +2770,7 @@ public:
#endif
}
virtual unsigned execute (function *);
unsigned execute (function *) final override;
};
/* Callback for walk_gimple_stmt used to scan for link var operands. */

View file

@ -1819,8 +1819,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *) { return ipa_omp_simd_clone (); }
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return ipa_omp_simd_clone ();
}
};
bool

View file

@ -417,13 +417,13 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* Don't bother doing anything if the program has errors. */
return (!seen_error () && !in_lto_p);
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return execute_build_ssa_passes ();
}
@ -451,7 +451,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* Don't bother doing anything if the program has errors. */
return (!seen_error () && !in_lto_p);
@ -480,7 +480,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* Don't bother doing anything if the program has errors. */
return (!seen_error () && !in_lto_p);
@ -531,7 +531,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (optimize >= 1
/* Don't bother doing anything if the program has errors. */
@ -571,7 +571,10 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return optimize >= 1 && !optimize_debug; }
bool gate (function *) final override
{
return optimize >= 1 && !optimize_debug;
}
}; // class pass_all_optimizations
@ -606,7 +609,10 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return optimize >= 1 && optimize_debug; }
bool gate (function *) final override
{
return optimize >= 1 && optimize_debug;
}
}; // class pass_all_optimizations_g
@ -641,7 +647,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* Early return if there were errors. We can run afoul of our
consistency checks, and there's not really much point in fixing them. */
@ -681,7 +687,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return reload_completed; }
bool gate (function *) final override { return reload_completed; }
}; // class pass_postreload
@ -716,7 +722,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return reload_completed || targetm.no_register_allocation;
}
@ -756,15 +762,15 @@ public:
{
}
virtual bool
gate (function *fun)
bool
gate (function *fun) final override
{
return flag_tree_slp_vectorize
&& (fun->pending_TODOs & PENDING_TODO_force_next_scalar_cleanup);
}
virtual unsigned int
execute (function *fun)
unsigned int
execute (function *fun) final override
{
fun->pending_TODOs &= ~PENDING_TODO_force_next_scalar_cleanup;
return 0;

View file

@ -1447,13 +1447,16 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *fun)
bool gate (function *fun) final override
{
return (optimize > 0 && flag_gcse_after_reload
&& optimize_function_for_speed_p (fun));
}
virtual unsigned int execute (function *) { return rest_of_handle_gcse2 (); }
unsigned int execute (function *) final override
{
return rest_of_handle_gcse2 ();
}
}; // class pass_gcse2

View file

@ -2339,9 +2339,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return (optimize > 0 && reload_completed); }
bool gate (function *) final override
{
return (optimize > 0 && reload_completed);
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_postreload_cse

View file

@ -4078,8 +4078,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_guess_branch_prob; }
virtual unsigned int execute (function *);
bool gate (function *) final override { return flag_guess_branch_prob; }
unsigned int execute (function *) final override;
}; // class pass_profile
@ -4232,14 +4232,17 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_strip_predict_hints (m_ctxt); }
void set_pass_param (unsigned int n, bool param)
opt_pass * clone () final override
{
return new pass_strip_predict_hints (m_ctxt);
}
void set_pass_param (unsigned int n, bool param) final override
{
gcc_assert (n == 0);
early_p = param;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
private:
bool early_p;

View file

@ -4358,9 +4358,12 @@ public:
/* opt_pass methods: */
/* The epiphany backend creates a second instance of this pass, so we need
a clone method. */
opt_pass * clone () { return new pass_peephole2 (m_ctxt); }
virtual bool gate (function *) { return (optimize > 0 && flag_peephole2); }
virtual unsigned int execute (function *)
opt_pass * clone () final override { return new pass_peephole2 (m_ctxt); }
bool gate (function *) final override
{
return (optimize > 0 && flag_peephole2);
}
unsigned int execute (function *) final override
{
return rest_of_handle_peephole2 ();
}
@ -4400,8 +4403,11 @@ public:
/* opt_pass methods: */
/* The epiphany backend creates a second instance of this pass, so
we need a clone method. */
opt_pass * clone () { return new pass_split_all_insns (m_ctxt); }
virtual unsigned int execute (function *)
opt_pass * clone () final override
{
return new pass_split_all_insns (m_ctxt);
}
unsigned int execute (function *) final override
{
split_all_insns ();
return 0;
@ -4440,13 +4446,13 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* If optimizing, then go ahead and split insns now. */
return optimize > 0;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
split_all_insns ();
return 0;
@ -4495,12 +4501,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return enable_split_before_sched2 ();
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
split_all_insns ();
return 0;
@ -4539,8 +4545,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
split_all_insns ();
return 0;
@ -4598,7 +4604,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* The placement of the splitting that we do for shorten_branches
depends on whether regstack is used by the target or not. */
@ -4609,7 +4615,7 @@ public:
#endif
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return split_all_insns_noflow ();
}

View file

@ -1403,8 +1403,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return (optimize > 0 && flag_ree); }
virtual unsigned int execute (function *) { return rest_of_handle_ree (); }
bool gate (function *) final override { return (optimize > 0 && flag_ree); }
unsigned int execute (function *) final override
{
return rest_of_handle_ree ();
}
}; // class pass_ree

View file

@ -3413,7 +3413,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
#ifdef STACK_REGS
return true;
@ -3468,7 +3468,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_stack_regs ();
}

View file

@ -1293,12 +1293,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (optimize > 0 && (flag_cprop_registers));
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_cprop_hardreg

View file

@ -953,7 +953,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return reginfo_init (); }
unsigned int execute (function *) final override { return reginfo_init (); }
}; // class pass_reginfo_init

View file

@ -2012,12 +2012,15 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (optimize > 0 && (flag_rename_registers));
}
virtual unsigned int execute (function *) { return regrename_optimize (); }
unsigned int execute (function *) final override
{
return regrename_optimize ();
}
}; // class pass_regrename

View file

@ -3866,8 +3866,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return rest_of_handle_delay_slots ();
}
@ -3917,12 +3917,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return targetm.machine_dependent_reorg != 0;
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
targetm.machine_dependent_reorg ();
return 0;

View file

@ -308,17 +308,17 @@ public:
static const pass_data data;
opt_pass *
clone ()
clone () final override
{
return new pass_sancov<O0> (m_ctxt);
}
virtual bool
gate (function *fun)
bool
gate (function *fun) final override
{
return sanitize_coverage_p (fun->decl) && (!O0 || !optimize);
}
virtual unsigned int
execute (function *fun)
unsigned int
execute (function *fun) final override
{
return sancov_pass (fun);
}

View file

@ -942,7 +942,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* SANITIZE_RETURN is handled in the front-end. When trapping,
SANITIZE_UNREACHABLE is handled by builtin_decl_unreachable. */
@ -951,7 +951,7 @@ public:
mask |= SANITIZE_UNREACHABLE;
return flag_sanitize & ~mask;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_sanopt

View file

@ -3779,7 +3779,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
#ifdef INSN_SCHEDULING
return flag_live_range_shrinkage;
@ -3788,7 +3788,7 @@ public:
#endif
}
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return rest_of_handle_live_range_shrinkage ();
}
@ -3826,8 +3826,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *) { return rest_of_handle_sched (); }
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return rest_of_handle_sched ();
}
}; // class pass_sched
@ -3872,8 +3875,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return rest_of_handle_sched2 ();
}
@ -3922,8 +3925,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return rest_of_handle_sched_fusion ();
}

View file

@ -71,7 +71,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_stack_ptr_mod

View file

@ -1243,8 +1243,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *);
virtual unsigned int execute (function *)
bool gate (function *) final override;
unsigned int execute (function *) final override
{
return execute_rtl_store_motion ();
}

View file

@ -424,12 +424,12 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
return (optimize > 0 && flag_tracer && flag_reorder_blocks);
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_tracer

View file

@ -864,8 +864,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_tm; }
virtual unsigned int execute (function *) { return diagnose_tm_blocks (); }
bool gate (function *) final override { return flag_tm; }
unsigned int execute (function *) final override
{
return diagnose_tm_blocks ();
}
}; // class pass_diagnose_tm_blocks
@ -1850,8 +1853,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_tm; }
virtual unsigned int execute (function *) { return execute_lower_tm (); }
bool gate (function *) final override { return flag_tm; }
unsigned int execute (function *) final override
{
return execute_lower_tm ();
}
}; // class pass_lower_tm
@ -2144,7 +2150,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return gate_tm_init (); }
bool gate (function *) final override { return gate_tm_init (); }
}; // class pass_tm_init
@ -3162,7 +3168,10 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return execute_tm_mark (); }
unsigned int execute (function *) final override
{
return execute_tm_mark ();
}
}; // class pass_tm_mark
@ -3324,7 +3333,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_tm_edges
@ -4085,8 +4094,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_tm && optimize > 0; }
virtual unsigned int execute (function *) { return execute_tm_memopt (); }
bool gate (function *) final override { return flag_tm && optimize > 0; }
unsigned int execute (function *) final override
{
return execute_tm_memopt ();
}
}; // class pass_tm_memopt
@ -5667,8 +5679,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_tm; }
virtual unsigned int execute (function *) { return ipa_tm_execute (); }
bool gate (function *) final override { return flag_tm; }
unsigned int execute (function *) final override { return ipa_tm_execute (); }
}; // class pass_ipa_tm

View file

@ -1171,7 +1171,7 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* The limit constants used in the implementation
assume IEEE floating point format. Other formats
@ -1179,7 +1179,7 @@ public:
return flag_tree_builtin_call_dce != 0;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_call_cdce

View file

@ -407,7 +407,10 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return execute_build_cfg (); }
unsigned int execute (function *) final override
{
return execute_build_cfg ();
}
}; // class pass_build_cfg
@ -9209,9 +9212,15 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *) { return split_critical_edges (); }
unsigned int execute (function *) final override
{
return split_critical_edges ();
}
opt_pass * clone () { return new pass_split_crit_edges (m_ctxt); }
opt_pass * clone () final override
{
return new pass_split_crit_edges (m_ctxt);
}
}; // class pass_split_crit_edges
} // anon namespace
@ -9468,7 +9477,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_warn_function_return
@ -9674,8 +9683,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_warn_unused_result; }
virtual unsigned int execute (function *)
bool gate (function *) final override { return flag_warn_unused_result; }
unsigned int execute (function *) final override
{
do_warn_unused_result (gimple_body (current_function_decl));
return 0;
@ -9884,8 +9893,11 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_fixup_cfg (m_ctxt); }
virtual unsigned int execute (function *) { return execute_fixup_cfg (); }
opt_pass * clone () final override { return new pass_fixup_cfg (m_ctxt); }
unsigned int execute (function *) final override
{
return execute_fixup_cfg ();
}
}; // class pass_fixup_cfg

View file

@ -1406,8 +1406,8 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_merge_phi (m_ctxt); }
virtual unsigned int execute (function *);
opt_pass * clone () final override { return new pass_merge_phi (m_ctxt); }
unsigned int execute (function *) final override;
}; // class pass_merge_phi
@ -1584,7 +1584,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *)
unsigned int execute (function *) final override
{
return execute_cleanup_cfg_post_optimizing ();
}

View file

@ -1915,8 +1915,11 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_lower_complex (m_ctxt); }
virtual unsigned int execute (function *) { return tree_lower_complex (); }
opt_pass * clone () final override { return new pass_lower_complex (m_ctxt); }
unsigned int execute (function *) final override
{
return tree_lower_complex ();
}
}; // class pass_lower_complex
@ -1952,14 +1955,17 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *fun)
bool gate (function *fun) final override
{
/* With errors, normal optimization passes are not run. If we don't
lower complex operations at all, rtl expansion will abort. */
return !(fun->curr_properties & PROP_gimple_lcx);
}
virtual unsigned int execute (function *) { return tree_lower_complex (); }
unsigned int execute (function *) final override
{
return tree_lower_complex ();
}
}; // class pass_lower_complex_O0

View file

@ -2176,7 +2176,7 @@ public:
{}
/* opt_pass methods: */
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_lower_eh
@ -3295,8 +3295,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_exceptions != 0; }
virtual unsigned int execute (function *)
bool gate (function *) final override { return flag_exceptions != 0; }
unsigned int execute (function *) final override
{
refactor_eh_r (gimple_body (current_function_decl));
return 0;
@ -3497,8 +3497,8 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_exceptions != 0; }
virtual unsigned int execute (function *);
bool gate (function *) final override { return flag_exceptions != 0; }
unsigned int execute (function *) final override;
}; // class pass_lower_resx
@ -3922,8 +3922,11 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *fun) { return fun->eh->region_tree != NULL; }
virtual unsigned int execute (function *);
bool gate (function *fun) final override
{
return fun->eh->region_tree != NULL;
}
unsigned int execute (function *) final override;
}; // class pass_lower_eh_dispatch
@ -4859,13 +4862,13 @@ public:
{}
/* opt_pass methods: */
opt_pass * clone () { return new pass_cleanup_eh (m_ctxt); }
virtual bool gate (function *fun)
opt_pass * clone () final override { return new pass_cleanup_eh (m_ctxt); }
bool gate (function *fun) final override
{
return fun->eh != NULL && fun->eh->region_tree != NULL;
}
virtual unsigned int execute (function *);
unsigned int execute (function *) final override;
}; // class pass_cleanup_eh

View file

@ -838,13 +838,16 @@ public:
{}
/* opt_pass methods: */
virtual bool gate (function *)
bool gate (function *) final override
{
/* If the target supports TLS natively, we need do nothing here. */
return !targetm.have_tls;
}
virtual unsigned int execute (function *) { return ipa_lower_emutls (); }
unsigned int execute (function *) final override
{
return ipa_lower_emutls ();
}
}; // class pass_ipa_lower_emutls

Some files were not shown because too many files have changed in this diff Show more