diff mbox

[3/6] remove has_gate

Message ID 1397723842-29147-3-git-send-email-tsaunders@mozilla.com
State New
Headers show

Commit Message

Trevor Saunders April 17, 2014, 8:37 a.m. UTC
From: Trevor Saunders <tsaunders@mozilla.com>


2014-03-19  Trevor Saunders  <tsaunders@mozilla.com>

gcc/
	* pass_manager.h (pass_manager::register_dump_files_1): Remove declaration.
	* passes.c (pass_manager::register_dump_files_1): Merge into
	(pass_manager::register_dump_files): this, and remove its handling of
	properties since the pass always has the properties anyway.
	(pass_manager::pass_manager): Adjust.

2014-03-19  Trevor Saunders  <tsaunders@mozilla.com>
	
gcc/
	* passes.c (dump_one_pass): don't check pass->has_gate.
	(execute_ipa_summary_passes): Likewise.
	(execute_one_pass): Likewise.
	(ipa_write_summaries_2): Likewise.
	(ipa_write_optimization_summaries_1): Likewise.
	(ipa_read_optimization_summaries_1): Likewise.
	(execute_ipa_stmt_fixups): Likewise.
	* tree-pass.h (pass_data::has_gate): Remove.
	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
	config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
	config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
	dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
	gimple-low.c, gimple-ssa-isolate-paths.c,
	gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
	ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
	ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
	ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
	modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
	recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
	reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
	trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
	tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
	tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
	tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
	tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
	tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
	tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
	tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
	Adjust.

gcc/testsuite/
	* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfassign.c,
	gcc/plugin/one_time_plugin.c, gcc.dg/plugin/selfassign.c: Adjust.

Comments

Richard Biener April 17, 2014, 8:54 a.m. UTC | #1
On Thu, Apr 17, 2014 at 10:37 AM,  <tsaunders@mozilla.com> wrote:
> From: Trevor Saunders <tsaunders@mozilla.com>
>
>
> 2014-03-19  Trevor Saunders  <tsaunders@mozilla.com>
>
> gcc/
>         * pass_manager.h (pass_manager::register_dump_files_1): Remove declaration.
>         * passes.c (pass_manager::register_dump_files_1): Merge into
>         (pass_manager::register_dump_files): this, and remove its handling of
>         properties since the pass always has the properties anyway.
>         (pass_manager::pass_manager): Adjust.
>
> 2014-03-19  Trevor Saunders  <tsaunders@mozilla.com>
>
> gcc/
>         * passes.c (dump_one_pass): don't check pass->has_gate.
>         (execute_ipa_summary_passes): Likewise.
>         (execute_one_pass): Likewise.
>         (ipa_write_summaries_2): Likewise.
>         (ipa_write_optimization_summaries_1): Likewise.
>         (ipa_read_optimization_summaries_1): Likewise.
>         (execute_ipa_stmt_fixups): Likewise.
>         * tree-pass.h (pass_data::has_gate): Remove.
>         * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
>         cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
>         compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
>         config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
>         config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
>         config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
>         config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
>         dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
>         gimple-low.c, gimple-ssa-isolate-paths.c,
>         gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
>         ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
>         ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
>         ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
>         modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
>         recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
>         reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
>         trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
>         tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
>         tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
>         tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
>         tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
>         tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
>         tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
>         tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
>         tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
>         tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
>         tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
>         tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
>         tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
>         tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
>         tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
>         Adjust.
>
> gcc/testsuite/
>         * g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfassign.c,
>         gcc/plugin/one_time_plugin.c, gcc.dg/plugin/selfassign.c: Adjust.

Ok.

Thanks,
Richard.

> diff --git a/gcc/asan.c b/gcc/asan.c
> index 53992a8..e26ce41 100644
> --- a/gcc/asan.c
> +++ b/gcc/asan.c
> @@ -2485,7 +2485,6 @@ const pass_data pass_data_asan =
>    GIMPLE_PASS, /* type */
>    "asan", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_ssa | PROP_cfg | PROP_gimple_leh ), /* properties_required */
> @@ -2531,7 +2530,6 @@ const pass_data pass_data_asan_O0 =
>    GIMPLE_PASS, /* type */
>    "asan0", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_ssa | PROP_cfg | PROP_gimple_leh ), /* properties_required */
> @@ -2614,7 +2612,6 @@ const pass_data pass_data_sanopt =
>    GIMPLE_PASS, /* type */
>    "sanopt", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_ssa | PROP_cfg | PROP_gimple_leh ), /* properties_required */
> diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c
> index 47f516d..4346e85 100644
> --- a/gcc/auto-inc-dec.c
> +++ b/gcc/auto-inc-dec.c
> @@ -1513,7 +1513,6 @@ const pass_data pass_data_inc_dec =
>    RTL_PASS, /* type */
>    "auto_inc_dec", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_AUTO_INC_DEC, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
> index fa6f62f..6ac0242 100644
> --- a/gcc/bb-reorder.c
> +++ b/gcc/bb-reorder.c
> @@ -2338,7 +2338,6 @@ const pass_data pass_data_reorder_blocks =
>    RTL_PASS, /* type */
>    "bbro", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_REORDER_BLOCKS, /* tv_id */
>    0, /* properties_required */
> @@ -2511,7 +2510,6 @@ const pass_data pass_data_duplicate_computed_gotos =
>    RTL_PASS, /* type */
>    "compgotos", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_REORDER_BLOCKS, /* tv_id */
>    0, /* properties_required */
> @@ -2735,7 +2733,6 @@ const pass_data pass_data_partition_blocks =
>    RTL_PASS, /* type */
>    "bbpart", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_REORDER_BLOCKS, /* tv_id */
>    PROP_cfglayout, /* properties_required */
> diff --git a/gcc/bt-load.c b/gcc/bt-load.c
> index 4fa68f1..d44917f 100644
> --- a/gcc/bt-load.c
> +++ b/gcc/bt-load.c
> @@ -1515,7 +1515,6 @@ const pass_data pass_data_branch_target_load_optimize1 =
>    RTL_PASS, /* type */
>    "btl1", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -1584,7 +1583,6 @@ const pass_data pass_data_branch_target_load_optimize2 =
>    RTL_PASS, /* type */
>    "btl2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
> index 77196ee..d5d68bf 100644
> --- a/gcc/cfgcleanup.c
> +++ b/gcc/cfgcleanup.c
> @@ -3096,7 +3096,6 @@ const pass_data pass_data_jump =
>    RTL_PASS, /* type */
>    "jump", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_JUMP, /* tv_id */
>    0, /* properties_required */
> @@ -3140,7 +3139,6 @@ const pass_data pass_data_jump2 =
>    RTL_PASS, /* type */
>    "jump2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_JUMP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
> index b7f6360..c60703f 100644
> --- a/gcc/cfgexpand.c
> +++ b/gcc/cfgexpand.c
> @@ -5923,7 +5923,6 @@ const pass_data pass_data_expand =
>    RTL_PASS, /* type */
>    "expand", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_EXPAND, /* tv_id */
>    ( PROP_ssa | PROP_gimple_leh | PROP_cfg
> diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
> index 60b0c06..0404d08 100644
> --- a/gcc/cfgrtl.c
> +++ b/gcc/cfgrtl.c
> @@ -469,7 +469,6 @@ const pass_data pass_data_free_cfg =
>    RTL_PASS, /* type */
>    "*free_cfg", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -3495,7 +3494,6 @@ const pass_data pass_data_into_cfg_layout_mode =
>    RTL_PASS, /* type */
>    "into_cfglayout", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_CFG, /* tv_id */
>    0, /* properties_required */
> @@ -3532,7 +3530,6 @@ const pass_data pass_data_outof_cfg_layout_mode =
>    RTL_PASS, /* type */
>    "outof_cfglayout", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_CFG, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/cgraphbuild.c b/gcc/cgraphbuild.c
> index 19961e2..9c6d46d 100644
> --- a/gcc/cgraphbuild.c
> +++ b/gcc/cgraphbuild.c
> @@ -388,7 +388,6 @@ const pass_data pass_data_build_cgraph_edges =
>    GIMPLE_PASS, /* type */
>    "*build_cgraph_edges", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -522,7 +521,6 @@ const pass_data pass_data_rebuild_cgraph_edges =
>    GIMPLE_PASS, /* type */
>    "*rebuild_cgraph_edges", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_CGRAPH, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -570,7 +568,6 @@ const pass_data pass_data_remove_cgraph_callee_edges =
>    GIMPLE_PASS, /* type */
>    "*remove_cgraph_callee_edges", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/combine-stack-adj.c b/gcc/combine-stack-adj.c
> index 69fd5ea..ec22ab3 100644
> --- a/gcc/combine-stack-adj.c
> +++ b/gcc/combine-stack-adj.c
> @@ -650,7 +650,6 @@ const pass_data pass_data_stack_adjustments =
>    RTL_PASS, /* type */
>    "csa", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_COMBINE_STACK_ADJUST, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/combine.c b/gcc/combine.c
> index f7a279e..63933c0 100644
> --- a/gcc/combine.c
> +++ b/gcc/combine.c
> @@ -13897,7 +13897,6 @@ const pass_data pass_data_combine =
>    RTL_PASS, /* type */
>    "combine", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_COMBINE, /* tv_id */
>    PROP_cfglayout, /* properties_required */
> diff --git a/gcc/compare-elim.c b/gcc/compare-elim.c
> index 3fbe140..e66b1c6 100644
> --- a/gcc/compare-elim.c
> +++ b/gcc/compare-elim.c
> @@ -659,7 +659,6 @@ const pass_data pass_data_compare_elim_after_reload =
>    RTL_PASS, /* type */
>    "cmpelim", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
> index 604a2ec..eddc55e 100644
> --- a/gcc/config/arc/arc.c
> +++ b/gcc/config/arc/arc.c
> @@ -605,7 +605,6 @@ const pass_data pass_data_arc_ifcvt =
>    RTL_PASS,
>    "arc_ifcvt",                         /* name */
>    OPTGROUP_NONE,                       /* optinfo_flags */
> -  false,                               /* has_gate */
>    true,                                        /* has_execute */
>    TV_IFCVT2,                           /* tv_id */
>    0,                                   /* properties_required */
> @@ -644,7 +643,6 @@ const pass_data pass_data_arc_predicate_delay_insns =
>    RTL_PASS,
>    "arc_predicate_delay_insns",         /* name */
>    OPTGROUP_NONE,                       /* optinfo_flags */
> -  false,                               /* has_gate */
>    true,                                        /* has_execute */
>    TV_IFCVT2,                           /* tv_id */
>    0,                                   /* properties_required */
> diff --git a/gcc/config/epiphany/mode-switch-use.c b/gcc/config/epiphany/mode-switch-use.c
> index a0aa249..d893934 100644
> --- a/gcc/config/epiphany/mode-switch-use.c
> +++ b/gcc/config/epiphany/mode-switch-use.c
> @@ -78,7 +78,6 @@ const pass_data pass_data_mode_switch_use =
>    RTL_PASS, /* type */
>    "mode_switch_use", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/config/epiphany/resolve-sw-modes.c b/gcc/config/epiphany/resolve-sw-modes.c
> index 1684918..486330c 100644
> --- a/gcc/config/epiphany/resolve-sw-modes.c
> +++ b/gcc/config/epiphany/resolve-sw-modes.c
> @@ -168,7 +168,6 @@ const pass_data pass_data_resolve_sw_modes =
>    RTL_PASS, /* type */
>    "resolve_sw_modes", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_MODE_SWITCH, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
> index f2e6957..6dd1bbe 100644
> --- a/gcc/config/i386/i386.c
> +++ b/gcc/config/i386/i386.c
> @@ -2525,7 +2525,6 @@ const pass_data pass_data_insert_vzeroupper =
>    RTL_PASS, /* type */
>    "vzeroupper", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
> index 83fe55b..6c0b3c2 100644
> --- a/gcc/config/mips/mips.c
> +++ b/gcc/config/mips/mips.c
> @@ -16533,7 +16533,6 @@ const pass_data pass_data_mips_machine_reorg2 =
>    RTL_PASS, /* type */
>    "mach2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_MACH_DEP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
> index b5cd2ad..88b030f 100644
> --- a/gcc/config/rl78/rl78.c
> +++ b/gcc/config/rl78/rl78.c
> @@ -142,7 +142,6 @@ const pass_data pass_data_rl78_devirt =
>    RTL_PASS, /* type */
>    "devirt", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_MACH_DEP, /* tv_id */
>    0, /* properties_required */
> @@ -226,7 +225,6 @@ const pass_data pass_data_rl78_move_elim =
>    RTL_PASS, /* type */
>    "move_elim", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_MACH_DEP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
> index aac8de8..77e163f 100644
> --- a/gcc/config/s390/s390.c
> +++ b/gcc/config/s390/s390.c
> @@ -8665,7 +8665,6 @@ const pass_data pass_data_s390_early_mach =
>    RTL_PASS, /* type */
>    "early_mach", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_MACH_DEP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/config/sh/sh_optimize_sett_clrt.cc b/gcc/config/sh/sh_optimize_sett_clrt.cc
> index 313e5b5..85cb6a1 100644
> --- a/gcc/config/sh/sh_optimize_sett_clrt.cc
> +++ b/gcc/config/sh/sh_optimize_sett_clrt.cc
> @@ -138,7 +138,6 @@ const pass_data sh_optimize_sett_clrt::default_pass_data =
>    RTL_PASS,            // type
>    "",                  // name (overwritten by the constructor)
>    OPTGROUP_NONE,       // optinfo_flags
> -  true,                        // has_gate
>    true,                        // has_execute
>    TV_OPTIMIZE,         // tv_id
>    0,                   // properties_required
> diff --git a/gcc/config/sh/sh_treg_combine.cc b/gcc/config/sh/sh_treg_combine.cc
> index e736040..1285ba2 100644
> --- a/gcc/config/sh/sh_treg_combine.cc
> +++ b/gcc/config/sh/sh_treg_combine.cc
> @@ -593,7 +593,6 @@ const pass_data sh_treg_combine::default_pass_data =
>    RTL_PASS,            // type
>    "",                  // name (overwritten by the constructor)
>    OPTGROUP_NONE,       // optinfo_flags
> -  true,                        // has_gate
>    true,                        // has_execute
>    TV_OPTIMIZE,         // tv_id
>    0,                   // properties_required
> diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
> index f52b976..a63e813 100644
> --- a/gcc/config/sparc/sparc.c
> +++ b/gcc/config/sparc/sparc.c
> @@ -1129,7 +1129,6 @@ const pass_data pass_data_work_around_errata =
>    RTL_PASS, /* type */
>    "errata", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_MACH_DEP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/cprop.c b/gcc/cprop.c
> index c3acb05..f22cde7 100644
> --- a/gcc/cprop.c
> +++ b/gcc/cprop.c
> @@ -1925,7 +1925,6 @@ const pass_data pass_data_rtl_cprop =
>    RTL_PASS, /* type */
>    "cprop", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_CPROP, /* tv_id */
>    PROP_cfglayout, /* properties_required */
> diff --git a/gcc/cse.c b/gcc/cse.c
> index b8223f7..6edea01 100644
> --- a/gcc/cse.c
> +++ b/gcc/cse.c
> @@ -7497,7 +7497,6 @@ const pass_data pass_data_cse =
>    RTL_PASS, /* type */
>    "cse1", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_CSE, /* tv_id */
>    0, /* properties_required */
> @@ -7577,7 +7576,6 @@ const pass_data pass_data_cse2 =
>    RTL_PASS, /* type */
>    "cse2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_CSE2, /* tv_id */
>    0, /* properties_required */
> @@ -7655,7 +7653,6 @@ const pass_data pass_data_cse_after_global_opts =
>    RTL_PASS, /* type */
>    "cse_local", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_CSE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/dce.c b/gcc/dce.c
> index 07592f4..33cdefd 100644
> --- a/gcc/dce.c
> +++ b/gcc/dce.c
> @@ -793,7 +793,6 @@ const pass_data pass_data_ud_rtl_dce =
>    RTL_PASS, /* type */
>    "ud_dce", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_DCE, /* tv_id */
>    0, /* properties_required */
> @@ -1226,7 +1225,6 @@ const pass_data pass_data_fast_rtl_dce =
>    RTL_PASS, /* type */
>    "rtl_dce", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_DCE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/df-core.c b/gcc/df-core.c
> index edb3b25..9909ac3 100644
> --- a/gcc/df-core.c
> +++ b/gcc/df-core.c
> @@ -754,7 +754,6 @@ const pass_data pass_data_df_initialize_opt =
>    RTL_PASS, /* type */
>    "dfinit", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_DF_SCAN, /* tv_id */
>    0, /* properties_required */
> @@ -800,7 +799,6 @@ const pass_data pass_data_df_initialize_no_opt =
>    RTL_PASS, /* type */
>    "no-opt dfinit", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_DF_SCAN, /* tv_id */
>    0, /* properties_required */
> @@ -866,7 +864,6 @@ const pass_data pass_data_df_finish =
>    RTL_PASS, /* type */
>    "dfinish", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/dse.c b/gcc/dse.c
> index 09dc5df..a3a66b1 100644
> --- a/gcc/dse.c
> +++ b/gcc/dse.c
> @@ -3733,7 +3733,6 @@ const pass_data pass_data_rtl_dse1 =
>    RTL_PASS, /* type */
>    "dse1", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_DSE1, /* tv_id */
>    0, /* properties_required */
> @@ -3771,7 +3770,6 @@ const pass_data pass_data_rtl_dse2 =
>    RTL_PASS, /* type */
>    "dse2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_DSE2, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
> index abcdeb3..d278a27 100644
> --- a/gcc/dwarf2cfi.c
> +++ b/gcc/dwarf2cfi.c
> @@ -3399,7 +3399,6 @@ const pass_data pass_data_dwarf2_frame =
>    RTL_PASS, /* type */
>    "dwarf2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_FINAL, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/except.c b/gcc/except.c
> index 908954c..cf3cd5f 100644
> --- a/gcc/except.c
> +++ b/gcc/except.c
> @@ -2008,7 +2008,6 @@ const pass_data pass_data_set_nothrow_function_flags =
>    RTL_PASS, /* type */
>    "nothrow", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -2639,7 +2638,6 @@ const pass_data pass_data_convert_to_eh_region_ranges =
>    RTL_PASS, /* type */
>    "eh_ranges", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/final.c b/gcc/final.c
> index 83abee2..91b8ccc 100644
> --- a/gcc/final.c
> +++ b/gcc/final.c
> @@ -852,7 +852,6 @@ const pass_data pass_data_compute_alignments =
>    RTL_PASS, /* type */
>    "alignments", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -4481,7 +4480,6 @@ const pass_data pass_data_final =
>    RTL_PASS, /* type */
>    "final", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_FINAL, /* tv_id */
>    0, /* properties_required */
> @@ -4527,7 +4525,6 @@ const pass_data pass_data_shorten_branches =
>    RTL_PASS, /* type */
>    "shorten", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_SHORTEN_BRANCH, /* tv_id */
>    0, /* properties_required */
> @@ -4691,7 +4688,6 @@ const pass_data pass_data_clean_state =
>    RTL_PASS, /* type */
>    "*clean_state", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_FINAL, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/function.c b/gcc/function.c
> index a61e475..cf07255 100644
> --- a/gcc/function.c
> +++ b/gcc/function.c
> @@ -1950,7 +1950,6 @@ const pass_data pass_data_instantiate_virtual_regs =
>    RTL_PASS, /* type */
>    "vregs", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -6949,7 +6948,6 @@ const pass_data pass_data_leaf_regs =
>    RTL_PASS, /* type */
>    "*leaf_regs", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -7009,7 +7007,6 @@ const pass_data pass_data_thread_prologue_and_epilogue =
>    RTL_PASS, /* type */
>    "pro_and_epilogue", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_THREAD_PROLOGUE_AND_EPILOGUE, /* tv_id */
>    0, /* properties_required */
> @@ -7229,7 +7226,6 @@ const pass_data pass_data_match_asm_constraints =
>    RTL_PASS, /* type */
>    "asmcons", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/fwprop.c b/gcc/fwprop.c
> index 4317f51..061d533 100644
> --- a/gcc/fwprop.c
> +++ b/gcc/fwprop.c
> @@ -1490,7 +1490,6 @@ const pass_data pass_data_rtl_fwprop =
>    RTL_PASS, /* type */
>    "fwprop1", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_FWPROP, /* tv_id */
>    0, /* properties_required */
> @@ -1557,7 +1556,6 @@ const pass_data pass_data_rtl_fwprop_addr =
>    RTL_PASS, /* type */
>    "fwprop2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_FWPROP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/gcse.c b/gcc/gcse.c
> index b852aa1..6797b08 100644
> --- a/gcc/gcse.c
> +++ b/gcc/gcse.c
> @@ -4220,7 +4220,6 @@ const pass_data pass_data_rtl_pre =
>    RTL_PASS, /* type */
>    "rtl pre", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_PRE, /* tv_id */
>    PROP_cfglayout, /* properties_required */
> @@ -4259,7 +4258,6 @@ const pass_data pass_data_rtl_hoist =
>    RTL_PASS, /* type */
>    "hoist", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_HOIST, /* tv_id */
>    PROP_cfglayout, /* properties_required */
> diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
> index da3fb9f..66ea322 100644
> --- a/gcc/gimple-low.c
> +++ b/gcc/gimple-low.c
> @@ -163,7 +163,6 @@ const pass_data pass_data_lower_cf =
>    GIMPLE_PASS, /* type */
>    "lower", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_gimple_any, /* properties_required */
> diff --git a/gcc/gimple-ssa-isolate-paths.c b/gcc/gimple-ssa-isolate-paths.c
> index 56fcfc8..e0ce2ec 100644
> --- a/gcc/gimple-ssa-isolate-paths.c
> +++ b/gcc/gimple-ssa-isolate-paths.c
> @@ -429,7 +429,6 @@ const pass_data pass_data_isolate_erroneous_paths =
>    GIMPLE_PASS, /* type */
>    "isolate-paths", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_ISOLATE_ERRONEOUS_PATHS, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c
> index 9ad1b4f..8d19031 100644
> --- a/gcc/gimple-ssa-strength-reduction.c
> +++ b/gcc/gimple-ssa-strength-reduction.c
> @@ -3659,7 +3659,6 @@ const pass_data pass_data_strength_reduction =
>    GIMPLE_PASS, /* type */
>    "slsr", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_GIMPLE_SLSR, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/graphite.c b/gcc/graphite.c
> index 311b7e3..03a7161 100644
> --- a/gcc/graphite.c
> +++ b/gcc/graphite.c
> @@ -357,7 +357,6 @@ const pass_data pass_data_graphite =
>    GIMPLE_PASS, /* type */
>    "graphite0", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_GRAPHITE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -394,7 +393,6 @@ const pass_data pass_data_graphite_transforms =
>    GIMPLE_PASS, /* type */
>    "graphite", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_GRAPHITE_TRANSFORMS, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
> index 0d1adce..5c0843d 100644
> --- a/gcc/ifcvt.c
> +++ b/gcc/ifcvt.c
> @@ -4545,7 +4545,6 @@ const pass_data pass_data_rtl_ifcvt =
>    RTL_PASS, /* type */
>    "ce1", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IFCVT, /* tv_id */
>    0, /* properties_required */
> @@ -4600,7 +4599,6 @@ const pass_data pass_data_if_after_combine =
>    RTL_PASS, /* type */
>    "ce2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IFCVT, /* tv_id */
>    0, /* properties_required */
> @@ -4654,7 +4652,6 @@ const pass_data pass_data_if_after_reload =
>    RTL_PASS, /* type */
>    "ce3", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IFCVT2, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/init-regs.c b/gcc/init-regs.c
> index fcc6e2c..265fed7 100644
> --- a/gcc/init-regs.c
> +++ b/gcc/init-regs.c
> @@ -145,7 +145,6 @@ const pass_data pass_data_initialize_regs =
>    RTL_PASS, /* type */
>    "init-regs", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
> index 689378a..1f28b69 100644
> --- a/gcc/ipa-cp.c
> +++ b/gcc/ipa-cp.c
> @@ -3779,7 +3779,6 @@ const pass_data pass_data_ipa_cp =
>    IPA_PASS, /* type */
>    "cp", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_CONSTANT_PROP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
> index 3a5432e..19369c6 100644
> --- a/gcc/ipa-devirt.c
> +++ b/gcc/ipa-devirt.c
> @@ -1928,7 +1928,6 @@ const pass_data pass_data_ipa_devirt =
>    IPA_PASS, /* type */
>    "devirt", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_DEVIRT, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
> index 8e0f5dd..8783caa 100644
> --- a/gcc/ipa-inline-analysis.c
> +++ b/gcc/ipa-inline-analysis.c
> @@ -2920,7 +2920,6 @@ const pass_data pass_data_inline_parameters =
>    GIMPLE_PASS, /* type */
>    "inline_param", /* name */
>    OPTGROUP_INLINE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_INLINE_PARAMETERS, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
> index 4051819..da02afc 100644
> --- a/gcc/ipa-inline.c
> +++ b/gcc/ipa-inline.c
> @@ -2340,7 +2340,6 @@ const pass_data pass_data_early_inline =
>    GIMPLE_PASS, /* type */
>    "einline", /* name */
>    OPTGROUP_INLINE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_EARLY_INLINING, /* tv_id */
>    PROP_ssa, /* properties_required */
> @@ -2377,7 +2376,6 @@ const pass_data pass_data_ipa_inline =
>    IPA_PASS, /* type */
>    "inline", /* name */
>    OPTGROUP_INLINE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_INLINING, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c
> index 17de687..f2a72de 100644
> --- a/gcc/ipa-profile.c
> +++ b/gcc/ipa-profile.c
> @@ -724,7 +724,6 @@ const pass_data pass_data_ipa_profile =
>    IPA_PASS, /* type */
>    "profile_estimate", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_PROFILE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
> index 7d35880..eac3636 100644
> --- a/gcc/ipa-pure-const.c
> +++ b/gcc/ipa-pure-const.c
> @@ -1515,7 +1515,6 @@ const pass_data pass_data_ipa_pure_const =
>    IPA_PASS, /* type */
>    "pure-const", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_PURE_CONST, /* tv_id */
>    0, /* properties_required */
> @@ -1699,7 +1698,6 @@ const pass_data pass_data_local_pure_const =
>    GIMPLE_PASS, /* type */
>    "local-pure-const", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_PURE_CONST, /* tv_id */
>    0, /* properties_required */
> @@ -1755,7 +1753,6 @@ const pass_data pass_data_warn_function_noreturn =
>    GIMPLE_PASS, /* type */
>    "*warn_function_noreturn", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c
> index dbe32e4..126948e 100644
> --- a/gcc/ipa-reference.c
> +++ b/gcc/ipa-reference.c
> @@ -1163,7 +1163,6 @@ const pass_data pass_data_ipa_reference =
>    IPA_PASS, /* type */
>    "static-var", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_REFERENCE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
> index 38bd883..ebb9197 100644
> --- a/gcc/ipa-split.c
> +++ b/gcc/ipa-split.c
> @@ -1664,7 +1664,6 @@ const pass_data pass_data_split_functions =
>    GIMPLE_PASS, /* type */
>    "fnsplit", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_FNSPLIT, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -1724,7 +1723,6 @@ const pass_data pass_data_feedback_split_functions =
>    GIMPLE_PASS, /* type */
>    "feedback_fnsplit", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_FNSPLIT, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/ipa.c b/gcc/ipa.c
> index 26e9b03..5e06509 100644
> --- a/gcc/ipa.c
> +++ b/gcc/ipa.c
> @@ -1195,7 +1195,6 @@ const pass_data pass_data_ipa_function_and_variable_visibility =
>    SIMPLE_IPA_PASS, /* type */
>    "visibility", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_CGRAPHOPT, /* tv_id */
>    0, /* properties_required */
> @@ -1244,7 +1243,6 @@ const pass_data pass_data_ipa_free_inline_summary =
>    SIMPLE_IPA_PASS, /* type */
>    "*free_inline_summary", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_FREE_INLINE_SUMMARY, /* tv_id */
>    0, /* properties_required */
> @@ -1300,7 +1298,6 @@ const pass_data pass_data_ipa_whole_program_visibility =
>    IPA_PASS, /* type */
>    "whole-program", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_CGRAPHOPT, /* tv_id */
>    0, /* properties_required */
> @@ -1633,7 +1630,6 @@ const pass_data pass_data_ipa_cdtor_merge =
>    IPA_PASS, /* type */
>    "cdtor", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_CGRAPHOPT, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ira.c b/gcc/ira.c
> index 4d91d21..da0f453 100644
> --- a/gcc/ira.c
> +++ b/gcc/ira.c
> @@ -5562,7 +5562,6 @@ const pass_data pass_data_ira =
>    RTL_PASS, /* type */
>    "ira", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_IRA, /* tv_id */
>    0, /* properties_required */
> @@ -5606,7 +5605,6 @@ const pass_data pass_data_reload =
>    RTL_PASS, /* type */
>    "reload", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_RELOAD, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/jump.c b/gcc/jump.c
> index e6dabd0..7361101 100644
> --- a/gcc/jump.c
> +++ b/gcc/jump.c
> @@ -146,7 +146,6 @@ const pass_data pass_data_cleanup_barriers =
>    RTL_PASS, /* type */
>    "barriers", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/loop-init.c b/gcc/loop-init.c
> index 2c2c269..d0bd4ec 100644
> --- a/gcc/loop-init.c
> +++ b/gcc/loop-init.c
> @@ -320,7 +320,6 @@ const pass_data pass_data_loop2 =
>    RTL_PASS, /* type */
>    "loop2", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_LOOP, /* tv_id */
>    0, /* properties_required */
> @@ -374,7 +373,6 @@ const pass_data pass_data_rtl_loop_init =
>    RTL_PASS, /* type */
>    "loop2_init", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_LOOP, /* tv_id */
>    0, /* properties_required */
> @@ -432,7 +430,6 @@ const pass_data pass_data_rtl_loop_done =
>    RTL_PASS, /* type */
>    "loop2_done", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_LOOP, /* tv_id */
>    0, /* properties_required */
> @@ -485,7 +482,6 @@ const pass_data pass_data_rtl_move_loop_invariants =
>    RTL_PASS, /* type */
>    "loop2_invariant", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LOOP_MOVE_INVARIANTS, /* tv_id */
>    0, /* properties_required */
> @@ -540,7 +536,6 @@ const pass_data pass_data_rtl_unswitch =
>    RTL_PASS, /* type */
>    "loop2_unswitch", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LOOP_UNSWITCH, /* tv_id */
>    0, /* properties_required */
> @@ -607,7 +602,6 @@ const pass_data pass_data_rtl_unroll_and_peel_loops =
>    RTL_PASS, /* type */
>    "loop2_unroll", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LOOP_UNROLL, /* tv_id */
>    0, /* properties_required */
> @@ -667,7 +661,6 @@ const pass_data pass_data_rtl_doloop =
>    RTL_PASS, /* type */
>    "loop2_doloop", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LOOP_DOLOOP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
> index a1331c0..53ef1d9 100644
> --- a/gcc/lower-subreg.c
> +++ b/gcc/lower-subreg.c
> @@ -1720,7 +1720,6 @@ const pass_data pass_data_lower_subreg =
>    RTL_PASS, /* type */
>    "subreg1", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LOWER_SUBREG, /* tv_id */
>    0, /* properties_required */
> @@ -1758,7 +1757,6 @@ const pass_data pass_data_lower_subreg2 =
>    RTL_PASS, /* type */
>    "subreg2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LOWER_SUBREG, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
> index 2848da3..d73135a 100644
> --- a/gcc/mode-switching.c
> +++ b/gcc/mode-switching.c
> @@ -816,7 +816,6 @@ const pass_data pass_data_mode_switching =
>    RTL_PASS, /* type */
>    "mode_sw", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_MODE_SWITCH, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
> index 7ba3ddb..a097df3 100644
> --- a/gcc/modulo-sched.c
> +++ b/gcc/modulo-sched.c
> @@ -3362,7 +3362,6 @@ const pass_data pass_data_sms =
>    RTL_PASS, /* type */
>    "sms", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_SMS, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/omp-low.c b/gcc/omp-low.c
> index ed4e218..cadec81 100644
> --- a/gcc/omp-low.c
> +++ b/gcc/omp-low.c
> @@ -8340,7 +8340,6 @@ const pass_data pass_data_expand_omp =
>    GIMPLE_PASS, /* type */
>    "ompexp", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_gimple_any, /* properties_required */
> @@ -10201,7 +10200,6 @@ const pass_data pass_data_lower_omp =
>    GIMPLE_PASS, /* type */
>    "omplower", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_gimple_any, /* properties_required */
> @@ -10632,7 +10630,6 @@ const pass_data pass_data_diagnose_omp_blocks =
>    GIMPLE_PASS, /* type */
>    "*diagnose_omp_blocks", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_gimple_any, /* properties_required */
> @@ -11797,7 +11794,6 @@ const pass_data pass_data_omp_simd_clone =
>    SIMPLE_IPA_PASS,             /* type */
>    "simdclone",                 /* name */
>    OPTGROUP_NONE,               /* optinfo_flags */
> -  true,                                /* has_gate */
>    true,                                /* has_execute */
>    TV_NONE,                     /* tv_id */
>    ( PROP_ssa | PROP_cfg ),     /* properties_required */
> diff --git a/gcc/passes.c b/gcc/passes.c
> index 7508771..5d5a94c 100644
> --- a/gcc/passes.c
> +++ b/gcc/passes.c
> @@ -353,7 +353,6 @@ const pass_data pass_data_early_local_passes =
>    SIMPLE_IPA_PASS, /* type */
>    "early_local_cleanups", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_EARLY_LOCAL, /* tv_id */
>    0, /* properties_required */
> @@ -401,7 +400,6 @@ const pass_data pass_data_all_early_optimizations =
>    GIMPLE_PASS, /* type */
>    "early_optimizations", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -446,7 +444,6 @@ const pass_data pass_data_all_optimizations =
>    GIMPLE_PASS, /* type */
>    "*all_optimizations", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_OPTIMIZE, /* tv_id */
>    0, /* properties_required */
> @@ -491,7 +488,6 @@ const pass_data pass_data_all_optimizations_g =
>    GIMPLE_PASS, /* type */
>    "*all_optimizations_g", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_OPTIMIZE, /* tv_id */
>    0, /* properties_required */
> @@ -536,7 +532,6 @@ const pass_data pass_data_rest_of_compilation =
>    RTL_PASS, /* type */
>    "*rest_of_compilation", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_REST_OF_COMPILATION, /* tv_id */
>    PROP_rtl, /* properties_required */
> @@ -579,7 +574,6 @@ const pass_data pass_data_postreload =
>    RTL_PASS, /* type */
>    "*all-postreload", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_POSTRELOAD, /* tv_id */
>    PROP_rtl, /* properties_required */
> @@ -829,7 +823,7 @@ dump_one_pass (opt_pass *pass, int pass_indent)
>    const char *pn;
>    bool is_on, is_really_on;
>
> -  is_on = pass->has_gate ? pass->gate () : true;
> +  is_on = pass->gate ();
>    is_really_on = override_gate_status (pass, current_function_decl, is_on);
>
>    if (pass->static_pass_number <= 0)
> @@ -1982,7 +1976,7 @@ execute_ipa_summary_passes (ipa_opt_pass_d *ipa_pass)
>
>        /* Execute all of the IPA_PASSes in the list.  */
>        if (ipa_pass->type == IPA_PASS
> -         && ((!pass->has_gate) || pass->gate ())
> +         && pass->gate ()
>           && ipa_pass->generate_summary)
>         {
>           pass_init_dump_file (pass);
> @@ -2134,7 +2128,7 @@ execute_one_pass (opt_pass *pass)
>
>    /* Check whether gate check should be avoided.
>       User controls the value of the gate through the parameter "gate_status". */
> -  gate_status = pass->has_gate ? pass->gate () : true;
> +  gate_status = pass->gate ();
>    gate_status = override_gate_status (pass, current_function_decl, gate_status);
>
>    /* Override gate with plugin.  */
> @@ -2280,7 +2274,7 @@ ipa_write_summaries_2 (opt_pass *pass, struct lto_out_decl_state *state)
>        gcc_assert (pass->type == SIMPLE_IPA_PASS || pass->type == IPA_PASS);
>        if (pass->type == IPA_PASS
>           && ipa_pass->write_summary
> -         && ((!pass->has_gate) || pass->gate ()))
> +         && pass->gate ())
>         {
>           /* If a timevar is present, start it.  */
>           if (pass->tv_id)
> @@ -2398,7 +2392,7 @@ ipa_write_optimization_summaries_1 (opt_pass *pass,
>        gcc_assert (pass->type == SIMPLE_IPA_PASS || pass->type == IPA_PASS);
>        if (pass->type == IPA_PASS
>           && ipa_pass->write_optimization_summary
> -         && ((!pass->has_gate) || pass->gate ()))
> +         && pass->gate ())
>         {
>           /* If a timevar is present, start it.  */
>           if (pass->tv_id)
> @@ -2476,7 +2470,7 @@ ipa_read_summaries_1 (opt_pass *pass)
>        gcc_assert (!cfun);
>        gcc_assert (pass->type == SIMPLE_IPA_PASS || pass->type == IPA_PASS);
>
> -      if ((!pass->has_gate) || pass->gate ())
> +      if (pass->gate ())
>         {
>           if (pass->type == IPA_PASS && ipa_pass->read_summary)
>             {
> @@ -2526,7 +2520,7 @@ ipa_read_optimization_summaries_1 (opt_pass *pass)
>        gcc_assert (!cfun);
>        gcc_assert (pass->type == SIMPLE_IPA_PASS || pass->type == IPA_PASS);
>
> -      if ((!pass->has_gate) || pass->gate ())
> +      if (pass->gate ())
>         {
>           if (pass->type == IPA_PASS && ipa_pass->read_optimization_summary)
>             {
> @@ -2603,7 +2597,7 @@ execute_ipa_stmt_fixups (opt_pass *pass,
>      {
>        /* Execute all of the IPA_PASSes in the list.  */
>        if (pass->type == IPA_PASS
> -         && ((!pass->has_gate) || pass->gate ()))
> +         && pass->gate ())
>         {
>           ipa_opt_pass_d *ipa_pass = (ipa_opt_pass_d *) pass;
>
> diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
> index 5555794..264bd9a 100644
> --- a/gcc/postreload-gcse.c
> +++ b/gcc/postreload-gcse.c
> @@ -1331,7 +1331,6 @@ const pass_data pass_data_gcse2 =
>    RTL_PASS, /* type */
>    "gcse2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_GCSE_AFTER_RELOAD, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/postreload.c b/gcc/postreload.c
> index 9bfffe5..0870183 100644
> --- a/gcc/postreload.c
> +++ b/gcc/postreload.c
> @@ -2346,7 +2346,6 @@ const pass_data pass_data_postreload_cse =
>    RTL_PASS, /* type */
>    "postreload", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_RELOAD_CSE_REGS, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/predict.c b/gcc/predict.c
> index 249433f..dccde72 100644
> --- a/gcc/predict.c
> +++ b/gcc/predict.c
> @@ -3160,7 +3160,6 @@ const pass_data pass_data_profile =
>    GIMPLE_PASS, /* type */
>    "profile_estimate", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_BRANCH_PROB, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -3198,7 +3197,6 @@ const pass_data pass_data_strip_predict_hints =
>    GIMPLE_PASS, /* type */
>    "*strip_predict_hints", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_BRANCH_PROB, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/recog.c b/gcc/recog.c
> index f2647e3..b7113aa 100644
> --- a/gcc/recog.c
> +++ b/gcc/recog.c
> @@ -3832,7 +3832,6 @@ const pass_data pass_data_peephole2 =
>    RTL_PASS, /* type */
>    "peephole2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_PEEPHOLE2, /* tv_id */
>    0, /* properties_required */
> @@ -3880,7 +3879,6 @@ const pass_data pass_data_split_all_insns =
>    RTL_PASS, /* type */
>    "split1", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -3931,7 +3929,6 @@ const pass_data pass_data_split_after_reload =
>    RTL_PASS, /* type */
>    "split2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -3993,7 +3990,6 @@ const pass_data pass_data_split_before_regstack =
>    RTL_PASS, /* type */
>    "split3", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -4052,7 +4048,6 @@ const pass_data pass_data_split_before_sched2 =
>    RTL_PASS, /* type */
>    "split4", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> @@ -4102,7 +4097,6 @@ const pass_data pass_data_split_for_shorten_branches =
>    RTL_PASS, /* type */
>    "split5", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/ree.c b/gcc/ree.c
> index fcde9a0..09dfa61 100644
> --- a/gcc/ree.c
> +++ b/gcc/ree.c
> @@ -1108,7 +1108,6 @@ const pass_data pass_data_ree =
>    RTL_PASS, /* type */
>    "ree", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_REE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
> index a92830b..02e3e09 100644
> --- a/gcc/reg-stack.c
> +++ b/gcc/reg-stack.c
> @@ -3302,7 +3302,6 @@ const pass_data pass_data_stack_regs =
>    RTL_PASS, /* type */
>    "*stack_regs", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_REG_STACK, /* tv_id */
>    0, /* properties_required */
> @@ -3351,7 +3350,6 @@ const pass_data pass_data_stack_regs_run =
>    RTL_PASS, /* type */
>    "stack", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_REG_STACK, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/regcprop.c b/gcc/regcprop.c
> index 101de76..a7dbbc3 100644
> --- a/gcc/regcprop.c
> +++ b/gcc/regcprop.c
> @@ -1261,7 +1261,6 @@ const pass_data pass_data_cprop_hardreg =
>    RTL_PASS, /* type */
>    "cprop_hardreg", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_CPROP_REGISTERS, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/reginfo.c b/gcc/reginfo.c
> index bdb980d..82b6081 100644
> --- a/gcc/reginfo.c
> +++ b/gcc/reginfo.c
> @@ -968,7 +968,6 @@ const pass_data pass_data_reginfo_init =
>    RTL_PASS, /* type */
>    "reginfo", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/regrename.c b/gcc/regrename.c
> index 6517f4e..30f7abc 100644
> --- a/gcc/regrename.c
> +++ b/gcc/regrename.c
> @@ -1849,7 +1849,6 @@ const pass_data pass_data_regrename =
>    RTL_PASS, /* type */
>    "rnreg", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_RENAME_REGISTERS, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/reorg.c b/gcc/reorg.c
> index 054304a..fff342f 100644
> --- a/gcc/reorg.c
> +++ b/gcc/reorg.c
> @@ -3891,7 +3891,6 @@ const pass_data pass_data_delay_slots =
>    RTL_PASS, /* type */
>    "dbr", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_DBR_SCHED, /* tv_id */
>    0, /* properties_required */
> @@ -3944,7 +3943,6 @@ const pass_data pass_data_machine_reorg =
>    RTL_PASS, /* type */
>    "mach", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_MACH_DEP, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
> index dc6fa16..18b50a4 100644
> --- a/gcc/sched-rgn.c
> +++ b/gcc/sched-rgn.c
> @@ -3681,7 +3681,6 @@ const pass_data pass_data_live_range_shrinkage =
>    RTL_PASS, /* type */
>    "lr_shrinkage", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LIVE_RANGE_SHRINKAGE, /* tv_id */
>    0, /* properties_required */
> @@ -3720,7 +3719,6 @@ const pass_data pass_data_sched =
>    RTL_PASS, /* type */
>    "sched1", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_SCHED, /* tv_id */
>    0, /* properties_required */
> @@ -3759,7 +3757,6 @@ const pass_data pass_data_sched2 =
>    RTL_PASS, /* type */
>    "sched2", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_SCHED2, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/stack-ptr-mod.c b/gcc/stack-ptr-mod.c
> index 6b78085..d1375a4 100644
> --- a/gcc/stack-ptr-mod.c
> +++ b/gcc/stack-ptr-mod.c
> @@ -97,7 +97,6 @@ const pass_data pass_data_stack_ptr_mod =
>    RTL_PASS, /* type */
>    "*stack_ptr_mod", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/store-motion.c b/gcc/store-motion.c
> index f383ca5..5aacaad 100644
> --- a/gcc/store-motion.c
> +++ b/gcc/store-motion.c
> @@ -1248,7 +1248,6 @@ const pass_data pass_data_rtl_store_motion =
>    RTL_PASS, /* type */
>    "store_motion", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LSM, /* tv_id */
>    PROP_cfglayout, /* properties_required */
> diff --git a/gcc/testsuite/g++.dg/plugin/dumb_plugin.c b/gcc/testsuite/g++.dg/plugin/dumb_plugin.c
> index e197d66..d73bea8 100644
> --- a/gcc/testsuite/g++.dg/plugin/dumb_plugin.c
> +++ b/gcc/testsuite/g++.dg/plugin/dumb_plugin.c
> @@ -65,7 +65,6 @@ const pass_data pass_data_dumb_plugin_example =
>    GIMPLE_PASS, /* type */
>    "dumb_plugin_example", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/testsuite/g++.dg/plugin/selfassign.c b/gcc/testsuite/g++.dg/plugin/selfassign.c
> index 041f25d..8df8579 100644
> --- a/gcc/testsuite/g++.dg/plugin/selfassign.c
> +++ b/gcc/testsuite/g++.dg/plugin/selfassign.c
> @@ -285,7 +285,6 @@ const pass_data pass_data_warn_self_assign =
>    GIMPLE_PASS, /* type */
>    "warn_self_assign", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> diff --git a/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c b/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c
> index f80719a..33106ad 100644
> --- a/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c
> +++ b/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c
> @@ -31,7 +31,6 @@ const pass_data pass_data_one_pass =
>    GIMPLE_PASS, /* type */
>    "cfg", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_gimple_any, /* properties_required */
> diff --git a/gcc/testsuite/gcc.dg/plugin/selfassign.c b/gcc/testsuite/gcc.dg/plugin/selfassign.c
> index 041f25d..8df8579 100644
> --- a/gcc/testsuite/gcc.dg/plugin/selfassign.c
> +++ b/gcc/testsuite/gcc.dg/plugin/selfassign.c
> @@ -285,7 +285,6 @@ const pass_data pass_data_warn_self_assign =
>    GIMPLE_PASS, /* type */
>    "warn_self_assign", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> diff --git a/gcc/tracer.c b/gcc/tracer.c
> index f036c19..73e3209 100644
> --- a/gcc/tracer.c
> +++ b/gcc/tracer.c
> @@ -411,7 +411,6 @@ const pass_data pass_data_tracer =
>    GIMPLE_PASS, /* type */
>    "tracer", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TRACER, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
> index fe6dc28..a259b77 100644
> --- a/gcc/trans-mem.c
> +++ b/gcc/trans-mem.c
> @@ -846,7 +846,6 @@ const pass_data pass_data_diagnose_tm_blocks =
>    GIMPLE_PASS, /* type */
>    "*diagnose_tm_blocks", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TRANS_MEM, /* tv_id */
>    PROP_gimple_any, /* properties_required */
> @@ -1769,7 +1768,6 @@ const pass_data pass_data_lower_tm =
>    GIMPLE_PASS, /* type */
>    "tmlower", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TRANS_MEM, /* tv_id */
>    PROP_gimple_lcf, /* properties_required */
> @@ -2047,7 +2045,6 @@ const pass_data pass_data_tm_init =
>    GIMPLE_PASS, /* type */
>    "*tminit", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_TRANS_MEM, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> @@ -3023,7 +3020,6 @@ const pass_data pass_data_tm_mark =
>    GIMPLE_PASS, /* type */
>    "tmmark", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_TRANS_MEM, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> @@ -3206,7 +3202,6 @@ const pass_data pass_data_tm_edges =
>    GIMPLE_PASS, /* type */
>    "tmedge", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_TRANS_MEM, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> @@ -3947,7 +3942,6 @@ const pass_data pass_data_tm_memopt =
>    GIMPLE_PASS, /* type */
>    "tmmemopt", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TRANS_MEM, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> @@ -5583,7 +5577,6 @@ const pass_data pass_data_ipa_tm =
>    SIMPLE_IPA_PASS, /* type */
>    "tmipa", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TRANS_MEM, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c
> index 4b2ad87..3293493 100644
> --- a/gcc/tree-call-cdce.c
> +++ b/gcc/tree-call-cdce.c
> @@ -933,7 +933,6 @@ const pass_data pass_data_call_cdce =
>    GIMPLE_PASS, /* type */
>    "cdce", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_CALL_CDCE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
> index cd35d55..739ca54 100644
> --- a/gcc/tree-cfg.c
> +++ b/gcc/tree-cfg.c
> @@ -351,7 +351,6 @@ const pass_data pass_data_build_cfg =
>    GIMPLE_PASS, /* type */
>    "cfg", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_CFG, /* tv_id */
>    PROP_gimple_leh, /* properties_required */
> @@ -8084,7 +8083,6 @@ const pass_data pass_data_split_crit_edges =
>    GIMPLE_PASS, /* type */
>    "crited", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SPLIT_EDGES, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -8256,7 +8254,6 @@ const pass_data pass_data_warn_function_return =
>    GIMPLE_PASS, /* type */
>    "*warn_function_return", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -8371,7 +8368,6 @@ const pass_data pass_data_warn_unused_result =
>    GIMPLE_PASS, /* type */
>    "*warn_unused_result", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_gimple_any, /* properties_required */
> @@ -8514,7 +8510,6 @@ const pass_data pass_data_fixup_cfg =
>    GIMPLE_PASS, /* type */
>    "*free_cfg_annotations", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
> index b7882cf..914523d 100644
> --- a/gcc/tree-cfgcleanup.c
> +++ b/gcc/tree-cfgcleanup.c
> @@ -1048,7 +1048,6 @@ const pass_data pass_data_merge_phi =
>    GIMPLE_PASS, /* type */
>    "mergephi", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_MERGE_PHI, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -1133,7 +1132,6 @@ const pass_data pass_data_cleanup_cfg_post_optimizing =
>    GIMPLE_PASS, /* type */
>    "optimized", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_CLEANUP_CFG, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
> index 4a657c0..283c827 100644
> --- a/gcc/tree-complex.c
> +++ b/gcc/tree-complex.c
> @@ -1662,7 +1662,6 @@ const pass_data pass_data_lower_complex =
>    GIMPLE_PASS, /* type */
>    "cplxlower", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> @@ -1709,7 +1708,6 @@ const pass_data pass_data_lower_complex_O0 =
>    GIMPLE_PASS, /* type */
>    "cplxlower0", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
> index 14ed52a..f51f18c 100644
> --- a/gcc/tree-eh.c
> +++ b/gcc/tree-eh.c
> @@ -2170,7 +2170,6 @@ const pass_data pass_data_lower_eh =
>    GIMPLE_PASS, /* type */
>    "eh", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_EH, /* tv_id */
>    PROP_gimple_lcf, /* properties_required */
> @@ -3129,7 +3128,6 @@ const pass_data pass_data_refactor_eh =
>    GIMPLE_PASS, /* type */
>    "ehopt", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_EH, /* tv_id */
>    PROP_gimple_lcf, /* properties_required */
> @@ -3356,7 +3354,6 @@ const pass_data pass_data_lower_resx =
>    GIMPLE_PASS, /* type */
>    "resx", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_EH, /* tv_id */
>    PROP_gimple_lcf, /* properties_required */
> @@ -3765,7 +3762,6 @@ const pass_data pass_data_lower_eh_dispatch =
>    GIMPLE_PASS, /* type */
>    "ehdisp", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_EH, /* tv_id */
>    PROP_gimple_lcf, /* properties_required */
> @@ -4613,7 +4609,6 @@ const pass_data pass_data_cleanup_eh =
>    GIMPLE_PASS, /* type */
>    "ehcleanup", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_EH, /* tv_id */
>    PROP_gimple_lcf, /* properties_required */
> diff --git a/gcc/tree-emutls.c b/gcc/tree-emutls.c
> index 3391cc3..84aa008 100644
> --- a/gcc/tree-emutls.c
> +++ b/gcc/tree-emutls.c
> @@ -831,7 +831,6 @@ const pass_data pass_data_ipa_lower_emutls =
>    SIMPLE_IPA_PASS, /* type */
>    "emutls", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_OPT, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
> index 7ff2132..b87c476 100644
> --- a/gcc/tree-if-conv.c
> +++ b/gcc/tree-if-conv.c
> @@ -2031,7 +2031,6 @@ const pass_data pass_data_if_conversion =
>    GIMPLE_PASS, /* type */
>    "ifcvt", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
> index 3ca2bd1..dec5a5b 100644
> --- a/gcc/tree-into-ssa.c
> +++ b/gcc/tree-into-ssa.c
> @@ -2381,7 +2381,6 @@ const pass_data pass_data_build_ssa =
>    GIMPLE_PASS, /* type */
>    "ssa", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SSA_OTHER, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
> index 9db92db..dcc61c7 100644
> --- a/gcc/tree-loop-distribution.c
> +++ b/gcc/tree-loop-distribution.c
> @@ -1804,7 +1804,6 @@ const pass_data pass_data_loop_distribution =
>    GIMPLE_PASS, /* type */
>    "ldist", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_LOOP_DISTRIBUTION, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-nrv.c b/gcc/tree-nrv.c
> index b443388..a39bc5e 100644
> --- a/gcc/tree-nrv.c
> +++ b/gcc/tree-nrv.c
> @@ -285,7 +285,6 @@ const pass_data pass_data_nrv =
>    GIMPLE_PASS, /* type */
>    "nrv", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_NRV, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> @@ -389,7 +388,6 @@ const pass_data pass_data_return_slot =
>    GIMPLE_PASS, /* type */
>    "retslot", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c
> index 994845b..23f7250 100644
> --- a/gcc/tree-object-size.c
> +++ b/gcc/tree-object-size.c
> @@ -1288,7 +1288,6 @@ const pass_data pass_data_object_sizes =
>    GIMPLE_PASS, /* type */
>    "objsz", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
> index 47179a9..e346074 100644
> --- a/gcc/tree-parloops.c
> +++ b/gcc/tree-parloops.c
> @@ -2277,7 +2277,6 @@ const pass_data pass_data_parallelize_loops =
>    GIMPLE_PASS, /* type */
>    "parloops", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_PARALLELIZE_LOOPS, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
> index 3b86770..9bb6455 100644
> --- a/gcc/tree-pass.h
> +++ b/gcc/tree-pass.h
> @@ -47,10 +47,6 @@ struct pass_data
>    /* The -fopt-info optimization group flags as defined in dumpfile.h. */
>    unsigned int optinfo_flags;
>
> -  /* If true, this pass has its own implementation of the opt_pass::gate
> -     method.  */
> -  bool has_gate;
> -
>    /* If true, this pass has its own implementation of the opt_pass::execute
>       method.  */
>    bool has_execute;
> @@ -90,9 +86,8 @@ public:
>       The default implementation prints an error message and aborts.  */
>    virtual opt_pass *clone ();
>
> -  /* If has_gate is set, this pass and all sub-passes are executed only if
> -     the function returns true.
> -     The default implementation returns true.  */
> +  /* This pass and all sub-passes are executed only if the function returns
> +     true.  The default implementation returns true.  */
>    virtual bool gate ();
>
>    /* This is the code to run.  If has_execute is false, then there should
> diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
> index 730bad4..859a112 100644
> --- a/gcc/tree-predcom.c
> +++ b/gcc/tree-predcom.c
> @@ -2586,7 +2586,6 @@ const pass_data pass_data_predcom =
>    GIMPLE_PASS, /* type */
>    "pcom", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_PREDCOM, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
> index 02e9ff2..0372c92 100644
> --- a/gcc/tree-profile.c
> +++ b/gcc/tree-profile.c
> @@ -680,7 +680,6 @@ const pass_data pass_data_ipa_tree_profile =
>    SIMPLE_IPA_PASS, /* type */
>    "profile", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_PROFILE, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
> index 91286b4..acca2a7 100644
> --- a/gcc/tree-sra.c
> +++ b/gcc/tree-sra.c
> @@ -3507,7 +3507,6 @@ const pass_data pass_data_sra_early =
>    GIMPLE_PASS, /* type */
>    "esra", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SRA, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -3545,7 +3544,6 @@ const pass_data pass_data_sra =
>    GIMPLE_PASS, /* type */
>    "sra", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SRA, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -5067,7 +5065,6 @@ const pass_data pass_data_early_ipa_sra =
>    GIMPLE_PASS, /* type */
>    "eipa_sra", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_SRA, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
> index eeefeaf..c7a7e89 100644
> --- a/gcc/tree-ssa-ccp.c
> +++ b/gcc/tree-ssa-ccp.c
> @@ -2301,7 +2301,6 @@ const pass_data pass_data_ccp =
>    GIMPLE_PASS, /* type */
>    "ccp", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_CCP, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -2719,7 +2718,6 @@ const pass_data pass_data_fold_builtins =
>    GIMPLE_PASS, /* type */
>    "fab", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c
> index 02f4743..fc26d03 100644
> --- a/gcc/tree-ssa-copy.c
> +++ b/gcc/tree-ssa-copy.c
> @@ -657,7 +657,6 @@ const pass_data pass_data_copy_prop =
>    GIMPLE_PASS, /* type */
>    "copyprop", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_COPY_PROP, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> diff --git a/gcc/tree-ssa-copyrename.c b/gcc/tree-ssa-copyrename.c
> index bc947b6..0da3d82 100644
> --- a/gcc/tree-ssa-copyrename.c
> +++ b/gcc/tree-ssa-copyrename.c
> @@ -450,7 +450,6 @@ const pass_data pass_data_rename_ssa_copies =
>    GIMPLE_PASS, /* type */
>    "copyrename", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_COPY_RENAME, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
> index 13a71ce..8db149e 100644
> --- a/gcc/tree-ssa-dce.c
> +++ b/gcc/tree-ssa-dce.c
> @@ -1517,7 +1517,6 @@ const pass_data pass_data_dce =
>    GIMPLE_PASS, /* type */
>    "dce", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_DCE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -1556,7 +1555,6 @@ const pass_data pass_data_dce_loop =
>    GIMPLE_PASS, /* type */
>    "dceloop", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_DCE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -1595,7 +1593,6 @@ const pass_data pass_data_cd_dce =
>    GIMPLE_PASS, /* type */
>    "cddce", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_CD_DCE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
> index 91253dc..8101a54 100644
> --- a/gcc/tree-ssa-dom.c
> +++ b/gcc/tree-ssa-dom.c
> @@ -965,7 +965,6 @@ const pass_data pass_data_dominator =
>    GIMPLE_PASS, /* type */
>    "dom", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SSA_DOMINATOR_OPTS, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -3123,7 +3122,6 @@ const pass_data pass_data_phi_only_cprop =
>    GIMPLE_PASS, /* type */
>    "phicprop", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_PHI_CPROP, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
> index 2c2f3f7..0096b4c 100644
> --- a/gcc/tree-ssa-dse.c
> +++ b/gcc/tree-ssa-dse.c
> @@ -376,7 +376,6 @@ const pass_data pass_data_dse =
>    GIMPLE_PASS, /* type */
>    "dse", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_DSE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
> index b6bedfe..66ae113 100644
> --- a/gcc/tree-ssa-forwprop.c
> +++ b/gcc/tree-ssa-forwprop.c
> @@ -3845,7 +3845,6 @@ const pass_data pass_data_forwprop =
>    GIMPLE_PASS, /* type */
>    "forwprop", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_FORWPROP, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
> index be28fb0..ef0c0c4 100644
> --- a/gcc/tree-ssa-ifcombine.c
> +++ b/gcc/tree-ssa-ifcombine.c
> @@ -769,7 +769,6 @@ const pass_data pass_data_tree_ifcombine =
>    GIMPLE_PASS, /* type */
>    "ifcombine", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_IFCOMBINE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c
> index 0a6b1c1..99cc39c 100644
> --- a/gcc/tree-ssa-loop-ch.c
> +++ b/gcc/tree-ssa-loop-ch.c
> @@ -270,7 +270,6 @@ const pass_data pass_data_ch =
>    GIMPLE_PASS, /* type */
>    "ch", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_CH, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
> index c75f257..aab521e 100644
> --- a/gcc/tree-ssa-loop-im.c
> +++ b/gcc/tree-ssa-loop-im.c
> @@ -2551,7 +2551,6 @@ const pass_data pass_data_lim =
>    GIMPLE_PASS, /* type */
>    "lim", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_LIM, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
> index cdf1559..177666d 100644
> --- a/gcc/tree-ssa-loop-ivcanon.c
> +++ b/gcc/tree-ssa-loop-ivcanon.c
> @@ -1278,7 +1278,6 @@ const pass_data pass_data_iv_canon =
>    GIMPLE_PASS, /* type */
>    "ivcanon", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_LOOP_IVCANON, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -1335,7 +1334,6 @@ const pass_data pass_data_complete_unroll =
>    GIMPLE_PASS, /* type */
>    "cunroll", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_COMPLETE_UNROLL, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -1400,7 +1398,6 @@ const pass_data pass_data_complete_unrolli =
>    GIMPLE_PASS, /* type */
>    "cunrolli", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_COMPLETE_UNROLL, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
> index c0968c8..dd52703 100644
> --- a/gcc/tree-ssa-loop-prefetch.c
> +++ b/gcc/tree-ssa-loop-prefetch.c
> @@ -2026,7 +2026,6 @@ const pass_data pass_data_loop_prefetch =
>    GIMPLE_PASS, /* type */
>    "aprefetch", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_PREFETCH, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c
> index 5031378..e755b62 100644
> --- a/gcc/tree-ssa-loop-unswitch.c
> +++ b/gcc/tree-ssa-loop-unswitch.c
> @@ -424,7 +424,6 @@ const pass_data pass_data_tree_unswitch =
>    GIMPLE_PASS, /* type */
>    "unswitch", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_LOOP_UNSWITCH, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
> index 4008b2b..84e24a1 100644
> --- a/gcc/tree-ssa-loop.c
> +++ b/gcc/tree-ssa-loop.c
> @@ -57,7 +57,6 @@ const pass_data pass_data_tree_loop =
>    GIMPLE_PASS, /* type */
>    "loop", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_TREE_LOOP, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -113,7 +112,6 @@ const pass_data pass_data_tree_loop_init =
>    GIMPLE_PASS, /* type */
>    "loopinit", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -167,7 +165,6 @@ const pass_data pass_data_vectorize =
>    GIMPLE_PASS, /* type */
>    "vect", /* name */
>    OPTGROUP_LOOP | OPTGROUP_VEC, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_VECTORIZATION, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -223,7 +220,6 @@ const pass_data pass_data_check_data_deps =
>    GIMPLE_PASS, /* type */
>    "ckdd", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_CHECK_DATA_DEPS, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -269,7 +265,6 @@ const pass_data pass_data_scev_cprop =
>    GIMPLE_PASS, /* type */
>    "sccp", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_SCEV_CONST, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -321,7 +316,6 @@ const pass_data pass_data_record_bounds =
>    GIMPLE_PASS, /* type */
>    "*record_bounds", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_LOOP_BOUNDS, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -376,7 +370,6 @@ const pass_data pass_data_iv_optimize =
>    GIMPLE_PASS, /* type */
>    "ivopts", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_LOOP_IVOPTS, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -425,7 +418,6 @@ const pass_data pass_data_tree_loop_done =
>    GIMPLE_PASS, /* type */
>    "loopdone", /* name */
>    OPTGROUP_LOOP, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c
> index 63aba8e..f63c75d 100644
> --- a/gcc/tree-ssa-math-opts.c
> +++ b/gcc/tree-ssa-math-opts.c
> @@ -660,7 +660,6 @@ const pass_data pass_data_cse_reciprocals =
>    GIMPLE_PASS, /* type */
>    "recip", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> @@ -1578,7 +1577,6 @@ const pass_data pass_data_cse_sincos =
>    GIMPLE_PASS, /* type */
>    "sincos", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> @@ -2080,7 +2078,6 @@ const pass_data pass_data_optimize_bswap =
>    GIMPLE_PASS, /* type */
>    "bswap", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> @@ -2890,7 +2887,6 @@ const pass_data pass_data_optimize_widening_mul =
>    GIMPLE_PASS, /* type */
>    "widening_mul", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
> index f1aa14d..3892317 100644
> --- a/gcc/tree-ssa-phiopt.c
> +++ b/gcc/tree-ssa-phiopt.c
> @@ -2215,7 +2215,6 @@ const pass_data pass_data_phiopt =
>    GIMPLE_PASS, /* type */
>    "phiopt", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_PHIOPT, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -2261,7 +2260,6 @@ const pass_data pass_data_cselim =
>    GIMPLE_PASS, /* type */
>    "cselim", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_PHIOPT, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c
> index 4d66c12..d67f488 100644
> --- a/gcc/tree-ssa-phiprop.c
> +++ b/gcc/tree-ssa-phiprop.c
> @@ -422,7 +422,6 @@ const pass_data pass_data_phiprop =
>    GIMPLE_PASS, /* type */
>    "phiprop", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_PHIPROP, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
> index df9ff23..1329fe2 100644
> --- a/gcc/tree-ssa-pre.c
> +++ b/gcc/tree-ssa-pre.c
> @@ -4784,7 +4784,6 @@ const pass_data pass_data_pre =
>    GIMPLE_PASS, /* type */
>    "pre", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_PRE, /* tv_id */
>    /* PROP_no_crit_edges is ensured by placing pass_split_crit_edges before
> @@ -4856,7 +4855,6 @@ const pass_data pass_data_fre =
>    GIMPLE_PASS, /* type */
>    "fre", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_FRE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
> index e9e29e5..0b37b7b 100644
> --- a/gcc/tree-ssa-reassoc.c
> +++ b/gcc/tree-ssa-reassoc.c
> @@ -4678,7 +4678,6 @@ const pass_data pass_data_reassoc =
>    GIMPLE_PASS, /* type */
>    "reassoc", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_REASSOC, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c
> index 6d02975..4a7410d 100644
> --- a/gcc/tree-ssa-sink.c
> +++ b/gcc/tree-ssa-sink.c
> @@ -601,7 +601,6 @@ const pass_data pass_data_sink_code =
>    GIMPLE_PASS, /* type */
>    "sink", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SINK, /* tv_id */
>    /* PROP_no_crit_edges is ensured by running split_critical_edges in
> diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
> index f55b7ee..aa6b6b9 100644
> --- a/gcc/tree-ssa-strlen.c
> +++ b/gcc/tree-ssa-strlen.c
> @@ -2102,7 +2102,6 @@ const pass_data pass_data_strlen =
>    GIMPLE_PASS, /* type */
>    "strlen", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_STRLEN, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
> index 70133cf..9e1cdbc 100644
> --- a/gcc/tree-ssa-structalias.c
> +++ b/gcc/tree-ssa-structalias.c
> @@ -7005,7 +7005,6 @@ const pass_data pass_data_build_alias =
>    GIMPLE_PASS, /* type */
>    "alias", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -7045,7 +7044,6 @@ const pass_data pass_data_build_ealias =
>    GIMPLE_PASS, /* type */
>    "ealias", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    false, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -7437,7 +7435,6 @@ const pass_data pass_data_ipa_pta =
>    SIMPLE_IPA_PASS, /* type */
>    "pta", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_PTA, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c
> index a43dd1a..41f4bd8 100644
> --- a/gcc/tree-ssa-uncprop.c
> +++ b/gcc/tree-ssa-uncprop.c
> @@ -594,7 +594,6 @@ const pass_data pass_data_uncprop =
>    GIMPLE_PASS, /* type */
>    "uncprop", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SSA_UNCPROP, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c
> index eee83f7..86d84a1 100644
> --- a/gcc/tree-ssa-uninit.c
> +++ b/gcc/tree-ssa-uninit.c
> @@ -2365,7 +2365,6 @@ const pass_data pass_data_late_warn_uninitialized =
>    GIMPLE_PASS, /* type */
>    "uninit", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_ssa, /* properties_required */
> @@ -2425,7 +2424,6 @@ const pass_data pass_data_early_warn_uninitialized =
>    GIMPLE_PASS, /* type */
>    "*early_warn_uninitialized", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_UNINIT, /* tv_id */
>    PROP_ssa, /* properties_required */
> diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
> index 20f061f..ecc8da3 100644
> --- a/gcc/tree-ssa.c
> +++ b/gcc/tree-ssa.c
> @@ -1155,7 +1155,6 @@ const pass_data pass_data_init_datastructures =
>    GIMPLE_PASS, /* type */
>    "*init_datastructures", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -1686,7 +1685,6 @@ const pass_data pass_data_update_address_taken =
>    GIMPLE_PASS, /* type */
>    "addressables", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    false, /* has_execute */
>    TV_ADDRESS_TAKEN, /* tv_id */
>    PROP_ssa, /* properties_required */
> diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c
> index 2b535a1..b18b688 100644
> --- a/gcc/tree-ssanames.c
> +++ b/gcc/tree-ssanames.c
> @@ -610,7 +610,6 @@ const pass_data pass_data_release_ssa_names =
>    GIMPLE_PASS, /* type */
>    "release_ssa", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SSA_OTHER, /* tv_id */
>    PROP_ssa, /* properties_required */
> diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c
> index feb6ece..7da36c4 100644
> --- a/gcc/tree-stdarg.c
> +++ b/gcc/tree-stdarg.c
> @@ -1006,7 +1006,6 @@ const pass_data pass_data_stdarg =
>    GIMPLE_PASS, /* type */
>    "stdarg", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
> index 5540ed3..cf2e763 100644
> --- a/gcc/tree-switch-conversion.c
> +++ b/gcc/tree-switch-conversion.c
> @@ -1480,7 +1480,6 @@ const pass_data pass_data_convert_switch =
>    GIMPLE_PASS, /* type */
>    "switchconv", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SWITCH_CONVERSION, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
> index 3488c2f..b3a6256 100644
> --- a/gcc/tree-tailcall.c
> +++ b/gcc/tree-tailcall.c
> @@ -1090,7 +1090,6 @@ const pass_data pass_data_tail_recursion =
>    GIMPLE_PASS, /* type */
>    "tailr", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> @@ -1129,7 +1128,6 @@ const pass_data pass_data_tail_calls =
>    GIMPLE_PASS, /* type */
>    "tailc", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
> index d00a4b4..035c143 100644
> --- a/gcc/tree-vect-generic.c
> +++ b/gcc/tree-vect-generic.c
> @@ -1566,7 +1566,6 @@ const pass_data pass_data_lower_vector =
>    GIMPLE_PASS, /* type */
>    "veclower", /* name */
>    OPTGROUP_VEC, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> @@ -1607,7 +1606,6 @@ const pass_data pass_data_lower_vector_ssa =
>    GIMPLE_PASS, /* type */
>    "veclower2", /* name */
>    OPTGROUP_VEC, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    PROP_cfg, /* properties_required */
> diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
> index 765e38f..17be3aa 100644
> --- a/gcc/tree-vectorizer.c
> +++ b/gcc/tree-vectorizer.c
> @@ -626,7 +626,6 @@ const pass_data pass_data_slp_vectorize =
>    GIMPLE_PASS, /* type */
>    "slp", /* name */
>    OPTGROUP_LOOP | OPTGROUP_VEC, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_SLP_VECTORIZATION, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> @@ -717,7 +716,6 @@ const pass_data pass_data_ipa_increase_alignment =
>    SIMPLE_IPA_PASS, /* type */
>    "increase_alignment", /* name */
>    OPTGROUP_LOOP | OPTGROUP_VEC, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_OPT, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
> index 14f1526..4ccb90b 100644
> --- a/gcc/tree-vrp.c
> +++ b/gcc/tree-vrp.c
> @@ -9907,7 +9907,6 @@ const pass_data pass_data_vrp =
>    GIMPLE_PASS, /* type */
>    "vrp", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_VRP, /* tv_id */
>    PROP_ssa, /* properties_required */
> diff --git a/gcc/tree.c b/gcc/tree.c
> index d829faa..b897988 100644
> --- a/gcc/tree.c
> +++ b/gcc/tree.c
> @@ -5625,7 +5625,6 @@ const pass_data pass_data_ipa_free_lang_data =
>    SIMPLE_IPA_PASS, /* type */
>    "*free_lang_data", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  false, /* has_gate */
>    true, /* has_execute */
>    TV_IPA_FREE_LANG_DATA, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/tsan.c b/gcc/tsan.c
> index 2e32cd2..f30cf57 100644
> --- a/gcc/tsan.c
> +++ b/gcc/tsan.c
> @@ -747,7 +747,6 @@ const pass_data pass_data_tsan =
>    GIMPLE_PASS, /* type */
>    "tsan", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> @@ -792,7 +791,6 @@ const pass_data pass_data_tsan_O0 =
>    GIMPLE_PASS, /* type */
>    "tsan0", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_NONE, /* tv_id */
>    ( PROP_ssa | PROP_cfg ), /* properties_required */
> diff --git a/gcc/ubsan.c b/gcc/ubsan.c
> index ac40c85..c205e6b 100644
> --- a/gcc/ubsan.c
> +++ b/gcc/ubsan.c
> @@ -916,7 +916,6 @@ const pass_data pass_data_ubsan =
>    GIMPLE_PASS, /* type */
>    "ubsan", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_TREE_UBSAN, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
> index 65d8285..e6ca3af 100644
> --- a/gcc/var-tracking.c
> +++ b/gcc/var-tracking.c
> @@ -10359,7 +10359,6 @@ const pass_data pass_data_variable_tracking =
>    RTL_PASS, /* type */
>    "vartrack", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_VAR_TRACKING, /* tv_id */
>    0, /* properties_required */
> diff --git a/gcc/vtable-verify.c b/gcc/vtable-verify.c
> index 4e4c21a..99caa88 100644
> --- a/gcc/vtable-verify.c
> +++ b/gcc/vtable-verify.c
> @@ -757,7 +757,6 @@ const pass_data pass_data_vtable_verify =
>    GIMPLE_PASS, /* type */
>    "vtable-verify", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_VTABLE_VERIFICATION, /* tv_id */
>    ( PROP_cfg | PROP_ssa ), /* properties_required */
> diff --git a/gcc/web.c b/gcc/web.c
> index d67151c..ba4172e 100644
> --- a/gcc/web.c
> +++ b/gcc/web.c
> @@ -456,7 +456,6 @@ const pass_data pass_data_web =
>    RTL_PASS, /* type */
>    "web", /* name */
>    OPTGROUP_NONE, /* optinfo_flags */
> -  true, /* has_gate */
>    true, /* has_execute */
>    TV_WEB, /* tv_id */
>    0, /* properties_required */
> --
> 1.9.2
>
diff mbox

Patch

diff --git a/gcc/asan.c b/gcc/asan.c
index 53992a8..e26ce41 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -2485,7 +2485,6 @@  const pass_data pass_data_asan =
   GIMPLE_PASS, /* type */
   "asan", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_ssa | PROP_cfg | PROP_gimple_leh ), /* properties_required */
@@ -2531,7 +2530,6 @@  const pass_data pass_data_asan_O0 =
   GIMPLE_PASS, /* type */
   "asan0", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_ssa | PROP_cfg | PROP_gimple_leh ), /* properties_required */
@@ -2614,7 +2612,6 @@  const pass_data pass_data_sanopt =
   GIMPLE_PASS, /* type */
   "sanopt", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_ssa | PROP_cfg | PROP_gimple_leh ), /* properties_required */
diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c
index 47f516d..4346e85 100644
--- a/gcc/auto-inc-dec.c
+++ b/gcc/auto-inc-dec.c
@@ -1513,7 +1513,6 @@  const pass_data pass_data_inc_dec =
   RTL_PASS, /* type */
   "auto_inc_dec", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_AUTO_INC_DEC, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index fa6f62f..6ac0242 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -2338,7 +2338,6 @@  const pass_data pass_data_reorder_blocks =
   RTL_PASS, /* type */
   "bbro", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_REORDER_BLOCKS, /* tv_id */
   0, /* properties_required */
@@ -2511,7 +2510,6 @@  const pass_data pass_data_duplicate_computed_gotos =
   RTL_PASS, /* type */
   "compgotos", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_REORDER_BLOCKS, /* tv_id */
   0, /* properties_required */
@@ -2735,7 +2733,6 @@  const pass_data pass_data_partition_blocks =
   RTL_PASS, /* type */
   "bbpart", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_REORDER_BLOCKS, /* tv_id */
   PROP_cfglayout, /* properties_required */
diff --git a/gcc/bt-load.c b/gcc/bt-load.c
index 4fa68f1..d44917f 100644
--- a/gcc/bt-load.c
+++ b/gcc/bt-load.c
@@ -1515,7 +1515,6 @@  const pass_data pass_data_branch_target_load_optimize1 =
   RTL_PASS, /* type */
   "btl1", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -1584,7 +1583,6 @@  const pass_data pass_data_branch_target_load_optimize2 =
   RTL_PASS, /* type */
   "btl2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 77196ee..d5d68bf 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -3096,7 +3096,6 @@  const pass_data pass_data_jump =
   RTL_PASS, /* type */
   "jump", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_JUMP, /* tv_id */
   0, /* properties_required */
@@ -3140,7 +3139,6 @@  const pass_data pass_data_jump2 =
   RTL_PASS, /* type */
   "jump2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_JUMP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index b7f6360..c60703f 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -5923,7 +5923,6 @@  const pass_data pass_data_expand =
   RTL_PASS, /* type */
   "expand", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_EXPAND, /* tv_id */
   ( PROP_ssa | PROP_gimple_leh | PROP_cfg
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 60b0c06..0404d08 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -469,7 +469,6 @@  const pass_data pass_data_free_cfg =
   RTL_PASS, /* type */
   "*free_cfg", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -3495,7 +3494,6 @@  const pass_data pass_data_into_cfg_layout_mode =
   RTL_PASS, /* type */
   "into_cfglayout", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_CFG, /* tv_id */
   0, /* properties_required */
@@ -3532,7 +3530,6 @@  const pass_data pass_data_outof_cfg_layout_mode =
   RTL_PASS, /* type */
   "outof_cfglayout", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_CFG, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/cgraphbuild.c b/gcc/cgraphbuild.c
index 19961e2..9c6d46d 100644
--- a/gcc/cgraphbuild.c
+++ b/gcc/cgraphbuild.c
@@ -388,7 +388,6 @@  const pass_data pass_data_build_cgraph_edges =
   GIMPLE_PASS, /* type */
   "*build_cgraph_edges", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -522,7 +521,6 @@  const pass_data pass_data_rebuild_cgraph_edges =
   GIMPLE_PASS, /* type */
   "*rebuild_cgraph_edges", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_CGRAPH, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -570,7 +568,6 @@  const pass_data pass_data_remove_cgraph_callee_edges =
   GIMPLE_PASS, /* type */
   "*remove_cgraph_callee_edges", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/combine-stack-adj.c b/gcc/combine-stack-adj.c
index 69fd5ea..ec22ab3 100644
--- a/gcc/combine-stack-adj.c
+++ b/gcc/combine-stack-adj.c
@@ -650,7 +650,6 @@  const pass_data pass_data_stack_adjustments =
   RTL_PASS, /* type */
   "csa", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_COMBINE_STACK_ADJUST, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/combine.c b/gcc/combine.c
index f7a279e..63933c0 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -13897,7 +13897,6 @@  const pass_data pass_data_combine =
   RTL_PASS, /* type */
   "combine", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_COMBINE, /* tv_id */
   PROP_cfglayout, /* properties_required */
diff --git a/gcc/compare-elim.c b/gcc/compare-elim.c
index 3fbe140..e66b1c6 100644
--- a/gcc/compare-elim.c
+++ b/gcc/compare-elim.c
@@ -659,7 +659,6 @@  const pass_data pass_data_compare_elim_after_reload =
   RTL_PASS, /* type */
   "cmpelim", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 604a2ec..eddc55e 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -605,7 +605,6 @@  const pass_data pass_data_arc_ifcvt =
   RTL_PASS,
   "arc_ifcvt",				/* name */
   OPTGROUP_NONE,			/* optinfo_flags */
-  false,				/* has_gate */
   true,					/* has_execute */
   TV_IFCVT2,				/* tv_id */
   0,					/* properties_required */
@@ -644,7 +643,6 @@  const pass_data pass_data_arc_predicate_delay_insns =
   RTL_PASS,
   "arc_predicate_delay_insns",		/* name */
   OPTGROUP_NONE,			/* optinfo_flags */
-  false,				/* has_gate */
   true,					/* has_execute */
   TV_IFCVT2,				/* tv_id */
   0,					/* properties_required */
diff --git a/gcc/config/epiphany/mode-switch-use.c b/gcc/config/epiphany/mode-switch-use.c
index a0aa249..d893934 100644
--- a/gcc/config/epiphany/mode-switch-use.c
+++ b/gcc/config/epiphany/mode-switch-use.c
@@ -78,7 +78,6 @@  const pass_data pass_data_mode_switch_use =
   RTL_PASS, /* type */
   "mode_switch_use", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/config/epiphany/resolve-sw-modes.c b/gcc/config/epiphany/resolve-sw-modes.c
index 1684918..486330c 100644
--- a/gcc/config/epiphany/resolve-sw-modes.c
+++ b/gcc/config/epiphany/resolve-sw-modes.c
@@ -168,7 +168,6 @@  const pass_data pass_data_resolve_sw_modes =
   RTL_PASS, /* type */
   "resolve_sw_modes", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_MODE_SWITCH, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f2e6957..6dd1bbe 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2525,7 +2525,6 @@  const pass_data pass_data_insert_vzeroupper =
   RTL_PASS, /* type */
   "vzeroupper", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 83fe55b..6c0b3c2 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -16533,7 +16533,6 @@  const pass_data pass_data_mips_machine_reorg2 =
   RTL_PASS, /* type */
   "mach2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_MACH_DEP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
index b5cd2ad..88b030f 100644
--- a/gcc/config/rl78/rl78.c
+++ b/gcc/config/rl78/rl78.c
@@ -142,7 +142,6 @@  const pass_data pass_data_rl78_devirt =
   RTL_PASS, /* type */
   "devirt", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_MACH_DEP, /* tv_id */
   0, /* properties_required */
@@ -226,7 +225,6 @@  const pass_data pass_data_rl78_move_elim =
   RTL_PASS, /* type */
   "move_elim", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_MACH_DEP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index aac8de8..77e163f 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -8665,7 +8665,6 @@  const pass_data pass_data_s390_early_mach =
   RTL_PASS, /* type */
   "early_mach", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_MACH_DEP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/config/sh/sh_optimize_sett_clrt.cc b/gcc/config/sh/sh_optimize_sett_clrt.cc
index 313e5b5..85cb6a1 100644
--- a/gcc/config/sh/sh_optimize_sett_clrt.cc
+++ b/gcc/config/sh/sh_optimize_sett_clrt.cc
@@ -138,7 +138,6 @@  const pass_data sh_optimize_sett_clrt::default_pass_data =
   RTL_PASS,		// type
   "",			// name (overwritten by the constructor)
   OPTGROUP_NONE,	// optinfo_flags
-  true,			// has_gate
   true,			// has_execute
   TV_OPTIMIZE,		// tv_id
   0,			// properties_required
diff --git a/gcc/config/sh/sh_treg_combine.cc b/gcc/config/sh/sh_treg_combine.cc
index e736040..1285ba2 100644
--- a/gcc/config/sh/sh_treg_combine.cc
+++ b/gcc/config/sh/sh_treg_combine.cc
@@ -593,7 +593,6 @@  const pass_data sh_treg_combine::default_pass_data =
   RTL_PASS,		// type
   "",			// name (overwritten by the constructor)
   OPTGROUP_NONE,	// optinfo_flags
-  true,			// has_gate
   true,			// has_execute
   TV_OPTIMIZE,		// tv_id
   0,			// properties_required
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index f52b976..a63e813 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -1129,7 +1129,6 @@  const pass_data pass_data_work_around_errata =
   RTL_PASS, /* type */
   "errata", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_MACH_DEP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/cprop.c b/gcc/cprop.c
index c3acb05..f22cde7 100644
--- a/gcc/cprop.c
+++ b/gcc/cprop.c
@@ -1925,7 +1925,6 @@  const pass_data pass_data_rtl_cprop =
   RTL_PASS, /* type */
   "cprop", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_CPROP, /* tv_id */
   PROP_cfglayout, /* properties_required */
diff --git a/gcc/cse.c b/gcc/cse.c
index b8223f7..6edea01 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7497,7 +7497,6 @@  const pass_data pass_data_cse =
   RTL_PASS, /* type */
   "cse1", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_CSE, /* tv_id */
   0, /* properties_required */
@@ -7577,7 +7576,6 @@  const pass_data pass_data_cse2 =
   RTL_PASS, /* type */
   "cse2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_CSE2, /* tv_id */
   0, /* properties_required */
@@ -7655,7 +7653,6 @@  const pass_data pass_data_cse_after_global_opts =
   RTL_PASS, /* type */
   "cse_local", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_CSE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/dce.c b/gcc/dce.c
index 07592f4..33cdefd 100644
--- a/gcc/dce.c
+++ b/gcc/dce.c
@@ -793,7 +793,6 @@  const pass_data pass_data_ud_rtl_dce =
   RTL_PASS, /* type */
   "ud_dce", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_DCE, /* tv_id */
   0, /* properties_required */
@@ -1226,7 +1225,6 @@  const pass_data pass_data_fast_rtl_dce =
   RTL_PASS, /* type */
   "rtl_dce", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_DCE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/df-core.c b/gcc/df-core.c
index edb3b25..9909ac3 100644
--- a/gcc/df-core.c
+++ b/gcc/df-core.c
@@ -754,7 +754,6 @@  const pass_data pass_data_df_initialize_opt =
   RTL_PASS, /* type */
   "dfinit", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_DF_SCAN, /* tv_id */
   0, /* properties_required */
@@ -800,7 +799,6 @@  const pass_data pass_data_df_initialize_no_opt =
   RTL_PASS, /* type */
   "no-opt dfinit", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_DF_SCAN, /* tv_id */
   0, /* properties_required */
@@ -866,7 +864,6 @@  const pass_data pass_data_df_finish =
   RTL_PASS, /* type */
   "dfinish", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/dse.c b/gcc/dse.c
index 09dc5df..a3a66b1 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -3733,7 +3733,6 @@  const pass_data pass_data_rtl_dse1 =
   RTL_PASS, /* type */
   "dse1", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_DSE1, /* tv_id */
   0, /* properties_required */
@@ -3771,7 +3770,6 @@  const pass_data pass_data_rtl_dse2 =
   RTL_PASS, /* type */
   "dse2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_DSE2, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
index abcdeb3..d278a27 100644
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -3399,7 +3399,6 @@  const pass_data pass_data_dwarf2_frame =
   RTL_PASS, /* type */
   "dwarf2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_FINAL, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/except.c b/gcc/except.c
index 908954c..cf3cd5f 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -2008,7 +2008,6 @@  const pass_data pass_data_set_nothrow_function_flags =
   RTL_PASS, /* type */
   "nothrow", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -2639,7 +2638,6 @@  const pass_data pass_data_convert_to_eh_region_ranges =
   RTL_PASS, /* type */
   "eh_ranges", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/final.c b/gcc/final.c
index 83abee2..91b8ccc 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -852,7 +852,6 @@  const pass_data pass_data_compute_alignments =
   RTL_PASS, /* type */
   "alignments", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -4481,7 +4480,6 @@  const pass_data pass_data_final =
   RTL_PASS, /* type */
   "final", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_FINAL, /* tv_id */
   0, /* properties_required */
@@ -4527,7 +4525,6 @@  const pass_data pass_data_shorten_branches =
   RTL_PASS, /* type */
   "shorten", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_SHORTEN_BRANCH, /* tv_id */
   0, /* properties_required */
@@ -4691,7 +4688,6 @@  const pass_data pass_data_clean_state =
   RTL_PASS, /* type */
   "*clean_state", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_FINAL, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/function.c b/gcc/function.c
index a61e475..cf07255 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1950,7 +1950,6 @@  const pass_data pass_data_instantiate_virtual_regs =
   RTL_PASS, /* type */
   "vregs", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -6949,7 +6948,6 @@  const pass_data pass_data_leaf_regs =
   RTL_PASS, /* type */
   "*leaf_regs", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -7009,7 +7007,6 @@  const pass_data pass_data_thread_prologue_and_epilogue =
   RTL_PASS, /* type */
   "pro_and_epilogue", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_THREAD_PROLOGUE_AND_EPILOGUE, /* tv_id */
   0, /* properties_required */
@@ -7229,7 +7226,6 @@  const pass_data pass_data_match_asm_constraints =
   RTL_PASS, /* type */
   "asmcons", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/fwprop.c b/gcc/fwprop.c
index 4317f51..061d533 100644
--- a/gcc/fwprop.c
+++ b/gcc/fwprop.c
@@ -1490,7 +1490,6 @@  const pass_data pass_data_rtl_fwprop =
   RTL_PASS, /* type */
   "fwprop1", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_FWPROP, /* tv_id */
   0, /* properties_required */
@@ -1557,7 +1556,6 @@  const pass_data pass_data_rtl_fwprop_addr =
   RTL_PASS, /* type */
   "fwprop2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_FWPROP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/gcse.c b/gcc/gcse.c
index b852aa1..6797b08 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -4220,7 +4220,6 @@  const pass_data pass_data_rtl_pre =
   RTL_PASS, /* type */
   "rtl pre", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_PRE, /* tv_id */
   PROP_cfglayout, /* properties_required */
@@ -4259,7 +4258,6 @@  const pass_data pass_data_rtl_hoist =
   RTL_PASS, /* type */
   "hoist", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_HOIST, /* tv_id */
   PROP_cfglayout, /* properties_required */
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
index da3fb9f..66ea322 100644
--- a/gcc/gimple-low.c
+++ b/gcc/gimple-low.c
@@ -163,7 +163,6 @@  const pass_data pass_data_lower_cf =
   GIMPLE_PASS, /* type */
   "lower", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_gimple_any, /* properties_required */
diff --git a/gcc/gimple-ssa-isolate-paths.c b/gcc/gimple-ssa-isolate-paths.c
index 56fcfc8..e0ce2ec 100644
--- a/gcc/gimple-ssa-isolate-paths.c
+++ b/gcc/gimple-ssa-isolate-paths.c
@@ -429,7 +429,6 @@  const pass_data pass_data_isolate_erroneous_paths =
   GIMPLE_PASS, /* type */
   "isolate-paths", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_ISOLATE_ERRONEOUS_PATHS, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c
index 9ad1b4f..8d19031 100644
--- a/gcc/gimple-ssa-strength-reduction.c
+++ b/gcc/gimple-ssa-strength-reduction.c
@@ -3659,7 +3659,6 @@  const pass_data pass_data_strength_reduction =
   GIMPLE_PASS, /* type */
   "slsr", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_GIMPLE_SLSR, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/graphite.c b/gcc/graphite.c
index 311b7e3..03a7161 100644
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -357,7 +357,6 @@  const pass_data pass_data_graphite =
   GIMPLE_PASS, /* type */
   "graphite0", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_GRAPHITE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -394,7 +393,6 @@  const pass_data pass_data_graphite_transforms =
   GIMPLE_PASS, /* type */
   "graphite", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_GRAPHITE_TRANSFORMS, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 0d1adce..5c0843d 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -4545,7 +4545,6 @@  const pass_data pass_data_rtl_ifcvt =
   RTL_PASS, /* type */
   "ce1", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IFCVT, /* tv_id */
   0, /* properties_required */
@@ -4600,7 +4599,6 @@  const pass_data pass_data_if_after_combine =
   RTL_PASS, /* type */
   "ce2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IFCVT, /* tv_id */
   0, /* properties_required */
@@ -4654,7 +4652,6 @@  const pass_data pass_data_if_after_reload =
   RTL_PASS, /* type */
   "ce3", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IFCVT2, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/init-regs.c b/gcc/init-regs.c
index fcc6e2c..265fed7 100644
--- a/gcc/init-regs.c
+++ b/gcc/init-regs.c
@@ -145,7 +145,6 @@  const pass_data pass_data_initialize_regs =
   RTL_PASS, /* type */
   "init-regs", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 689378a..1f28b69 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -3779,7 +3779,6 @@  const pass_data pass_data_ipa_cp =
   IPA_PASS, /* type */
   "cp", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_CONSTANT_PROP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 3a5432e..19369c6 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -1928,7 +1928,6 @@  const pass_data pass_data_ipa_devirt =
   IPA_PASS, /* type */
   "devirt", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_DEVIRT, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index 8e0f5dd..8783caa 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -2920,7 +2920,6 @@  const pass_data pass_data_inline_parameters =
   GIMPLE_PASS, /* type */
   "inline_param", /* name */
   OPTGROUP_INLINE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_INLINE_PARAMETERS, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 4051819..da02afc 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -2340,7 +2340,6 @@  const pass_data pass_data_early_inline =
   GIMPLE_PASS, /* type */
   "einline", /* name */
   OPTGROUP_INLINE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_EARLY_INLINING, /* tv_id */
   PROP_ssa, /* properties_required */
@@ -2377,7 +2376,6 @@  const pass_data pass_data_ipa_inline =
   IPA_PASS, /* type */
   "inline", /* name */
   OPTGROUP_INLINE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_IPA_INLINING, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c
index 17de687..f2a72de 100644
--- a/gcc/ipa-profile.c
+++ b/gcc/ipa-profile.c
@@ -724,7 +724,6 @@  const pass_data pass_data_ipa_profile =
   IPA_PASS, /* type */
   "profile_estimate", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_PROFILE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index 7d35880..eac3636 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -1515,7 +1515,6 @@  const pass_data pass_data_ipa_pure_const =
   IPA_PASS, /* type */
   "pure-const", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_PURE_CONST, /* tv_id */
   0, /* properties_required */
@@ -1699,7 +1698,6 @@  const pass_data pass_data_local_pure_const =
   GIMPLE_PASS, /* type */
   "local-pure-const", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_PURE_CONST, /* tv_id */
   0, /* properties_required */
@@ -1755,7 +1753,6 @@  const pass_data pass_data_warn_function_noreturn =
   GIMPLE_PASS, /* type */
   "*warn_function_noreturn", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c
index dbe32e4..126948e 100644
--- a/gcc/ipa-reference.c
+++ b/gcc/ipa-reference.c
@@ -1163,7 +1163,6 @@  const pass_data pass_data_ipa_reference =
   IPA_PASS, /* type */
   "static-var", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_REFERENCE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index 38bd883..ebb9197 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -1664,7 +1664,6 @@  const pass_data pass_data_split_functions =
   GIMPLE_PASS, /* type */
   "fnsplit", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_FNSPLIT, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -1724,7 +1723,6 @@  const pass_data pass_data_feedback_split_functions =
   GIMPLE_PASS, /* type */
   "feedback_fnsplit", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_FNSPLIT, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/ipa.c b/gcc/ipa.c
index 26e9b03..5e06509 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -1195,7 +1195,6 @@  const pass_data pass_data_ipa_function_and_variable_visibility =
   SIMPLE_IPA_PASS, /* type */
   "visibility", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_CGRAPHOPT, /* tv_id */
   0, /* properties_required */
@@ -1244,7 +1243,6 @@  const pass_data pass_data_ipa_free_inline_summary =
   SIMPLE_IPA_PASS, /* type */
   "*free_inline_summary", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_IPA_FREE_INLINE_SUMMARY, /* tv_id */
   0, /* properties_required */
@@ -1300,7 +1298,6 @@  const pass_data pass_data_ipa_whole_program_visibility =
   IPA_PASS, /* type */
   "whole-program", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_CGRAPHOPT, /* tv_id */
   0, /* properties_required */
@@ -1633,7 +1630,6 @@  const pass_data pass_data_ipa_cdtor_merge =
   IPA_PASS, /* type */
   "cdtor", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_CGRAPHOPT, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ira.c b/gcc/ira.c
index 4d91d21..da0f453 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -5562,7 +5562,6 @@  const pass_data pass_data_ira =
   RTL_PASS, /* type */
   "ira", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_IRA, /* tv_id */
   0, /* properties_required */
@@ -5606,7 +5605,6 @@  const pass_data pass_data_reload =
   RTL_PASS, /* type */
   "reload", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_RELOAD, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/jump.c b/gcc/jump.c
index e6dabd0..7361101 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -146,7 +146,6 @@  const pass_data pass_data_cleanup_barriers =
   RTL_PASS, /* type */
   "barriers", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index 2c2c269..d0bd4ec 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -320,7 +320,6 @@  const pass_data pass_data_loop2 =
   RTL_PASS, /* type */
   "loop2", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_LOOP, /* tv_id */
   0, /* properties_required */
@@ -374,7 +373,6 @@  const pass_data pass_data_rtl_loop_init =
   RTL_PASS, /* type */
   "loop2_init", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_LOOP, /* tv_id */
   0, /* properties_required */
@@ -432,7 +430,6 @@  const pass_data pass_data_rtl_loop_done =
   RTL_PASS, /* type */
   "loop2_done", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_LOOP, /* tv_id */
   0, /* properties_required */
@@ -485,7 +482,6 @@  const pass_data pass_data_rtl_move_loop_invariants =
   RTL_PASS, /* type */
   "loop2_invariant", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LOOP_MOVE_INVARIANTS, /* tv_id */
   0, /* properties_required */
@@ -540,7 +536,6 @@  const pass_data pass_data_rtl_unswitch =
   RTL_PASS, /* type */
   "loop2_unswitch", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LOOP_UNSWITCH, /* tv_id */
   0, /* properties_required */
@@ -607,7 +602,6 @@  const pass_data pass_data_rtl_unroll_and_peel_loops =
   RTL_PASS, /* type */
   "loop2_unroll", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LOOP_UNROLL, /* tv_id */
   0, /* properties_required */
@@ -667,7 +661,6 @@  const pass_data pass_data_rtl_doloop =
   RTL_PASS, /* type */
   "loop2_doloop", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LOOP_DOLOOP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
index a1331c0..53ef1d9 100644
--- a/gcc/lower-subreg.c
+++ b/gcc/lower-subreg.c
@@ -1720,7 +1720,6 @@  const pass_data pass_data_lower_subreg =
   RTL_PASS, /* type */
   "subreg1", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LOWER_SUBREG, /* tv_id */
   0, /* properties_required */
@@ -1758,7 +1757,6 @@  const pass_data pass_data_lower_subreg2 =
   RTL_PASS, /* type */
   "subreg2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LOWER_SUBREG, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index 2848da3..d73135a 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -816,7 +816,6 @@  const pass_data pass_data_mode_switching =
   RTL_PASS, /* type */
   "mode_sw", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_MODE_SWITCH, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 7ba3ddb..a097df3 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -3362,7 +3362,6 @@  const pass_data pass_data_sms =
   RTL_PASS, /* type */
   "sms", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_SMS, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index ed4e218..cadec81 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -8340,7 +8340,6 @@  const pass_data pass_data_expand_omp =
   GIMPLE_PASS, /* type */
   "ompexp", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_gimple_any, /* properties_required */
@@ -10201,7 +10200,6 @@  const pass_data pass_data_lower_omp =
   GIMPLE_PASS, /* type */
   "omplower", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_gimple_any, /* properties_required */
@@ -10632,7 +10630,6 @@  const pass_data pass_data_diagnose_omp_blocks =
   GIMPLE_PASS, /* type */
   "*diagnose_omp_blocks", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_gimple_any, /* properties_required */
@@ -11797,7 +11794,6 @@  const pass_data pass_data_omp_simd_clone =
   SIMPLE_IPA_PASS,		/* type */
   "simdclone",			/* name */
   OPTGROUP_NONE,		/* optinfo_flags */
-  true,				/* has_gate */
   true,				/* has_execute */
   TV_NONE,			/* tv_id */
   ( PROP_ssa | PROP_cfg ),	/* properties_required */
diff --git a/gcc/passes.c b/gcc/passes.c
index 7508771..5d5a94c 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -353,7 +353,6 @@  const pass_data pass_data_early_local_passes =
   SIMPLE_IPA_PASS, /* type */
   "early_local_cleanups", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_EARLY_LOCAL, /* tv_id */
   0, /* properties_required */
@@ -401,7 +400,6 @@  const pass_data pass_data_all_early_optimizations =
   GIMPLE_PASS, /* type */
   "early_optimizations", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -446,7 +444,6 @@  const pass_data pass_data_all_optimizations =
   GIMPLE_PASS, /* type */
   "*all_optimizations", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_OPTIMIZE, /* tv_id */
   0, /* properties_required */
@@ -491,7 +488,6 @@  const pass_data pass_data_all_optimizations_g =
   GIMPLE_PASS, /* type */
   "*all_optimizations_g", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_OPTIMIZE, /* tv_id */
   0, /* properties_required */
@@ -536,7 +532,6 @@  const pass_data pass_data_rest_of_compilation =
   RTL_PASS, /* type */
   "*rest_of_compilation", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_REST_OF_COMPILATION, /* tv_id */
   PROP_rtl, /* properties_required */
@@ -579,7 +574,6 @@  const pass_data pass_data_postreload =
   RTL_PASS, /* type */
   "*all-postreload", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_POSTRELOAD, /* tv_id */
   PROP_rtl, /* properties_required */
@@ -829,7 +823,7 @@  dump_one_pass (opt_pass *pass, int pass_indent)
   const char *pn;
   bool is_on, is_really_on;
 
-  is_on = pass->has_gate ? pass->gate () : true;
+  is_on = pass->gate ();
   is_really_on = override_gate_status (pass, current_function_decl, is_on);
 
   if (pass->static_pass_number <= 0)
@@ -1982,7 +1976,7 @@  execute_ipa_summary_passes (ipa_opt_pass_d *ipa_pass)
 
       /* Execute all of the IPA_PASSes in the list.  */
       if (ipa_pass->type == IPA_PASS
-	  && ((!pass->has_gate) || pass->gate ())
+	  && pass->gate ()
 	  && ipa_pass->generate_summary)
 	{
 	  pass_init_dump_file (pass);
@@ -2134,7 +2128,7 @@  execute_one_pass (opt_pass *pass)
 
   /* Check whether gate check should be avoided.
      User controls the value of the gate through the parameter "gate_status". */
-  gate_status = pass->has_gate ? pass->gate () : true;
+  gate_status = pass->gate ();
   gate_status = override_gate_status (pass, current_function_decl, gate_status);
 
   /* Override gate with plugin.  */
@@ -2280,7 +2274,7 @@  ipa_write_summaries_2 (opt_pass *pass, struct lto_out_decl_state *state)
       gcc_assert (pass->type == SIMPLE_IPA_PASS || pass->type == IPA_PASS);
       if (pass->type == IPA_PASS
 	  && ipa_pass->write_summary
-	  && ((!pass->has_gate) || pass->gate ()))
+	  && pass->gate ())
 	{
 	  /* If a timevar is present, start it.  */
 	  if (pass->tv_id)
@@ -2398,7 +2392,7 @@  ipa_write_optimization_summaries_1 (opt_pass *pass,
       gcc_assert (pass->type == SIMPLE_IPA_PASS || pass->type == IPA_PASS);
       if (pass->type == IPA_PASS
 	  && ipa_pass->write_optimization_summary
-	  && ((!pass->has_gate) || pass->gate ()))
+	  && pass->gate ())
 	{
 	  /* If a timevar is present, start it.  */
 	  if (pass->tv_id)
@@ -2476,7 +2470,7 @@  ipa_read_summaries_1 (opt_pass *pass)
       gcc_assert (!cfun);
       gcc_assert (pass->type == SIMPLE_IPA_PASS || pass->type == IPA_PASS);
 
-      if ((!pass->has_gate) || pass->gate ())
+      if (pass->gate ())
 	{
 	  if (pass->type == IPA_PASS && ipa_pass->read_summary)
 	    {
@@ -2526,7 +2520,7 @@  ipa_read_optimization_summaries_1 (opt_pass *pass)
       gcc_assert (!cfun);
       gcc_assert (pass->type == SIMPLE_IPA_PASS || pass->type == IPA_PASS);
 
-      if ((!pass->has_gate) || pass->gate ())
+      if (pass->gate ())
 	{
 	  if (pass->type == IPA_PASS && ipa_pass->read_optimization_summary)
 	    {
@@ -2603,7 +2597,7 @@  execute_ipa_stmt_fixups (opt_pass *pass,
     {
       /* Execute all of the IPA_PASSes in the list.  */
       if (pass->type == IPA_PASS
-	  && ((!pass->has_gate) || pass->gate ()))
+	  && pass->gate ())
 	{
 	  ipa_opt_pass_d *ipa_pass = (ipa_opt_pass_d *) pass;
 
diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
index 5555794..264bd9a 100644
--- a/gcc/postreload-gcse.c
+++ b/gcc/postreload-gcse.c
@@ -1331,7 +1331,6 @@  const pass_data pass_data_gcse2 =
   RTL_PASS, /* type */
   "gcse2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_GCSE_AFTER_RELOAD, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 9bfffe5..0870183 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -2346,7 +2346,6 @@  const pass_data pass_data_postreload_cse =
   RTL_PASS, /* type */
   "postreload", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_RELOAD_CSE_REGS, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/predict.c b/gcc/predict.c
index 249433f..dccde72 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -3160,7 +3160,6 @@  const pass_data pass_data_profile =
   GIMPLE_PASS, /* type */
   "profile_estimate", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_BRANCH_PROB, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -3198,7 +3197,6 @@  const pass_data pass_data_strip_predict_hints =
   GIMPLE_PASS, /* type */
   "*strip_predict_hints", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_BRANCH_PROB, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/recog.c b/gcc/recog.c
index f2647e3..b7113aa 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -3832,7 +3832,6 @@  const pass_data pass_data_peephole2 =
   RTL_PASS, /* type */
   "peephole2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_PEEPHOLE2, /* tv_id */
   0, /* properties_required */
@@ -3880,7 +3879,6 @@  const pass_data pass_data_split_all_insns =
   RTL_PASS, /* type */
   "split1", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -3931,7 +3929,6 @@  const pass_data pass_data_split_after_reload =
   RTL_PASS, /* type */
   "split2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -3993,7 +3990,6 @@  const pass_data pass_data_split_before_regstack =
   RTL_PASS, /* type */
   "split3", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -4052,7 +4048,6 @@  const pass_data pass_data_split_before_sched2 =
   RTL_PASS, /* type */
   "split4", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
@@ -4102,7 +4097,6 @@  const pass_data pass_data_split_for_shorten_branches =
   RTL_PASS, /* type */
   "split5", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/ree.c b/gcc/ree.c
index fcde9a0..09dfa61 100644
--- a/gcc/ree.c
+++ b/gcc/ree.c
@@ -1108,7 +1108,6 @@  const pass_data pass_data_ree =
   RTL_PASS, /* type */
   "ree", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_REE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index a92830b..02e3e09 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -3302,7 +3302,6 @@  const pass_data pass_data_stack_regs =
   RTL_PASS, /* type */
   "*stack_regs", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_REG_STACK, /* tv_id */
   0, /* properties_required */
@@ -3351,7 +3350,6 @@  const pass_data pass_data_stack_regs_run =
   RTL_PASS, /* type */
   "stack", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_REG_STACK, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/regcprop.c b/gcc/regcprop.c
index 101de76..a7dbbc3 100644
--- a/gcc/regcprop.c
+++ b/gcc/regcprop.c
@@ -1261,7 +1261,6 @@  const pass_data pass_data_cprop_hardreg =
   RTL_PASS, /* type */
   "cprop_hardreg", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_CPROP_REGISTERS, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/reginfo.c b/gcc/reginfo.c
index bdb980d..82b6081 100644
--- a/gcc/reginfo.c
+++ b/gcc/reginfo.c
@@ -968,7 +968,6 @@  const pass_data pass_data_reginfo_init =
   RTL_PASS, /* type */
   "reginfo", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/regrename.c b/gcc/regrename.c
index 6517f4e..30f7abc 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -1849,7 +1849,6 @@  const pass_data pass_data_regrename =
   RTL_PASS, /* type */
   "rnreg", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_RENAME_REGISTERS, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 054304a..fff342f 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -3891,7 +3891,6 @@  const pass_data pass_data_delay_slots =
   RTL_PASS, /* type */
   "dbr", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_DBR_SCHED, /* tv_id */
   0, /* properties_required */
@@ -3944,7 +3943,6 @@  const pass_data pass_data_machine_reorg =
   RTL_PASS, /* type */
   "mach", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_MACH_DEP, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index dc6fa16..18b50a4 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -3681,7 +3681,6 @@  const pass_data pass_data_live_range_shrinkage =
   RTL_PASS, /* type */
   "lr_shrinkage", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LIVE_RANGE_SHRINKAGE, /* tv_id */
   0, /* properties_required */
@@ -3720,7 +3719,6 @@  const pass_data pass_data_sched =
   RTL_PASS, /* type */
   "sched1", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_SCHED, /* tv_id */
   0, /* properties_required */
@@ -3759,7 +3757,6 @@  const pass_data pass_data_sched2 =
   RTL_PASS, /* type */
   "sched2", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_SCHED2, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/stack-ptr-mod.c b/gcc/stack-ptr-mod.c
index 6b78085..d1375a4 100644
--- a/gcc/stack-ptr-mod.c
+++ b/gcc/stack-ptr-mod.c
@@ -97,7 +97,6 @@  const pass_data pass_data_stack_ptr_mod =
   RTL_PASS, /* type */
   "*stack_ptr_mod", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/store-motion.c b/gcc/store-motion.c
index f383ca5..5aacaad 100644
--- a/gcc/store-motion.c
+++ b/gcc/store-motion.c
@@ -1248,7 +1248,6 @@  const pass_data pass_data_rtl_store_motion =
   RTL_PASS, /* type */
   "store_motion", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LSM, /* tv_id */
   PROP_cfglayout, /* properties_required */
diff --git a/gcc/testsuite/g++.dg/plugin/dumb_plugin.c b/gcc/testsuite/g++.dg/plugin/dumb_plugin.c
index e197d66..d73bea8 100644
--- a/gcc/testsuite/g++.dg/plugin/dumb_plugin.c
+++ b/gcc/testsuite/g++.dg/plugin/dumb_plugin.c
@@ -65,7 +65,6 @@  const pass_data pass_data_dumb_plugin_example =
   GIMPLE_PASS, /* type */
   "dumb_plugin_example", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/testsuite/g++.dg/plugin/selfassign.c b/gcc/testsuite/g++.dg/plugin/selfassign.c
index 041f25d..8df8579 100644
--- a/gcc/testsuite/g++.dg/plugin/selfassign.c
+++ b/gcc/testsuite/g++.dg/plugin/selfassign.c
@@ -285,7 +285,6 @@  const pass_data pass_data_warn_self_assign =
   GIMPLE_PASS, /* type */
   "warn_self_assign", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
diff --git a/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c b/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c
index f80719a..33106ad 100644
--- a/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c
+++ b/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c
@@ -31,7 +31,6 @@  const pass_data pass_data_one_pass =
   GIMPLE_PASS, /* type */
   "cfg", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_gimple_any, /* properties_required */
diff --git a/gcc/testsuite/gcc.dg/plugin/selfassign.c b/gcc/testsuite/gcc.dg/plugin/selfassign.c
index 041f25d..8df8579 100644
--- a/gcc/testsuite/gcc.dg/plugin/selfassign.c
+++ b/gcc/testsuite/gcc.dg/plugin/selfassign.c
@@ -285,7 +285,6 @@  const pass_data pass_data_warn_self_assign =
   GIMPLE_PASS, /* type */
   "warn_self_assign", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
diff --git a/gcc/tracer.c b/gcc/tracer.c
index f036c19..73e3209 100644
--- a/gcc/tracer.c
+++ b/gcc/tracer.c
@@ -411,7 +411,6 @@  const pass_data pass_data_tracer =
   GIMPLE_PASS, /* type */
   "tracer", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TRACER, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index fe6dc28..a259b77 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -846,7 +846,6 @@  const pass_data pass_data_diagnose_tm_blocks =
   GIMPLE_PASS, /* type */
   "*diagnose_tm_blocks", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TRANS_MEM, /* tv_id */
   PROP_gimple_any, /* properties_required */
@@ -1769,7 +1768,6 @@  const pass_data pass_data_lower_tm =
   GIMPLE_PASS, /* type */
   "tmlower", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TRANS_MEM, /* tv_id */
   PROP_gimple_lcf, /* properties_required */
@@ -2047,7 +2045,6 @@  const pass_data pass_data_tm_init =
   GIMPLE_PASS, /* type */
   "*tminit", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_TRANS_MEM, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
@@ -3023,7 +3020,6 @@  const pass_data pass_data_tm_mark =
   GIMPLE_PASS, /* type */
   "tmmark", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_TRANS_MEM, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
@@ -3206,7 +3202,6 @@  const pass_data pass_data_tm_edges =
   GIMPLE_PASS, /* type */
   "tmedge", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_TRANS_MEM, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
@@ -3947,7 +3942,6 @@  const pass_data pass_data_tm_memopt =
   GIMPLE_PASS, /* type */
   "tmmemopt", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TRANS_MEM, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
@@ -5583,7 +5577,6 @@  const pass_data pass_data_ipa_tm =
   SIMPLE_IPA_PASS, /* type */
   "tmipa", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TRANS_MEM, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c
index 4b2ad87..3293493 100644
--- a/gcc/tree-call-cdce.c
+++ b/gcc/tree-call-cdce.c
@@ -933,7 +933,6 @@  const pass_data pass_data_call_cdce =
   GIMPLE_PASS, /* type */
   "cdce", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_CALL_CDCE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index cd35d55..739ca54 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -351,7 +351,6 @@  const pass_data pass_data_build_cfg =
   GIMPLE_PASS, /* type */
   "cfg", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_TREE_CFG, /* tv_id */
   PROP_gimple_leh, /* properties_required */
@@ -8084,7 +8083,6 @@  const pass_data pass_data_split_crit_edges =
   GIMPLE_PASS, /* type */
   "crited", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_TREE_SPLIT_EDGES, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -8256,7 +8254,6 @@  const pass_data pass_data_warn_function_return =
   GIMPLE_PASS, /* type */
   "*warn_function_return", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -8371,7 +8368,6 @@  const pass_data pass_data_warn_unused_result =
   GIMPLE_PASS, /* type */
   "*warn_unused_result", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_gimple_any, /* properties_required */
@@ -8514,7 +8510,6 @@  const pass_data pass_data_fixup_cfg =
   GIMPLE_PASS, /* type */
   "*free_cfg_annotations", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index b7882cf..914523d 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -1048,7 +1048,6 @@  const pass_data pass_data_merge_phi =
   GIMPLE_PASS, /* type */
   "mergephi", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_MERGE_PHI, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -1133,7 +1132,6 @@  const pass_data pass_data_cleanup_cfg_post_optimizing =
   GIMPLE_PASS, /* type */
   "optimized", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_TREE_CLEANUP_CFG, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index 4a657c0..283c827 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -1662,7 +1662,6 @@  const pass_data pass_data_lower_complex =
   GIMPLE_PASS, /* type */
   "cplxlower", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
@@ -1709,7 +1708,6 @@  const pass_data pass_data_lower_complex_O0 =
   GIMPLE_PASS, /* type */
   "cplxlower0", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 14ed52a..f51f18c 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -2170,7 +2170,6 @@  const pass_data pass_data_lower_eh =
   GIMPLE_PASS, /* type */
   "eh", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_TREE_EH, /* tv_id */
   PROP_gimple_lcf, /* properties_required */
@@ -3129,7 +3128,6 @@  const pass_data pass_data_refactor_eh =
   GIMPLE_PASS, /* type */
   "ehopt", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_EH, /* tv_id */
   PROP_gimple_lcf, /* properties_required */
@@ -3356,7 +3354,6 @@  const pass_data pass_data_lower_resx =
   GIMPLE_PASS, /* type */
   "resx", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_EH, /* tv_id */
   PROP_gimple_lcf, /* properties_required */
@@ -3765,7 +3762,6 @@  const pass_data pass_data_lower_eh_dispatch =
   GIMPLE_PASS, /* type */
   "ehdisp", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_EH, /* tv_id */
   PROP_gimple_lcf, /* properties_required */
@@ -4613,7 +4609,6 @@  const pass_data pass_data_cleanup_eh =
   GIMPLE_PASS, /* type */
   "ehcleanup", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_EH, /* tv_id */
   PROP_gimple_lcf, /* properties_required */
diff --git a/gcc/tree-emutls.c b/gcc/tree-emutls.c
index 3391cc3..84aa008 100644
--- a/gcc/tree-emutls.c
+++ b/gcc/tree-emutls.c
@@ -831,7 +831,6 @@  const pass_data pass_data_ipa_lower_emutls =
   SIMPLE_IPA_PASS, /* type */
   "emutls", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_OPT, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 7ff2132..b87c476 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -2031,7 +2031,6 @@  const pass_data pass_data_if_conversion =
   GIMPLE_PASS, /* type */
   "ifcvt", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index 3ca2bd1..dec5a5b 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -2381,7 +2381,6 @@  const pass_data pass_data_build_ssa =
   GIMPLE_PASS, /* type */
   "ssa", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_SSA_OTHER, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index 9db92db..dcc61c7 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -1804,7 +1804,6 @@  const pass_data pass_data_loop_distribution =
   GIMPLE_PASS, /* type */
   "ldist", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_LOOP_DISTRIBUTION, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-nrv.c b/gcc/tree-nrv.c
index b443388..a39bc5e 100644
--- a/gcc/tree-nrv.c
+++ b/gcc/tree-nrv.c
@@ -285,7 +285,6 @@  const pass_data pass_data_nrv =
   GIMPLE_PASS, /* type */
   "nrv", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_NRV, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
@@ -389,7 +388,6 @@  const pass_data pass_data_return_slot =
   GIMPLE_PASS, /* type */
   "retslot", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c
index 994845b..23f7250 100644
--- a/gcc/tree-object-size.c
+++ b/gcc/tree-object-size.c
@@ -1288,7 +1288,6 @@  const pass_data pass_data_object_sizes =
   GIMPLE_PASS, /* type */
   "objsz", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index 47179a9..e346074 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -2277,7 +2277,6 @@  const pass_data pass_data_parallelize_loops =
   GIMPLE_PASS, /* type */
   "parloops", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_PARALLELIZE_LOOPS, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index 3b86770..9bb6455 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -47,10 +47,6 @@  struct pass_data
   /* The -fopt-info optimization group flags as defined in dumpfile.h. */
   unsigned int optinfo_flags;
 
-  /* If true, this pass has its own implementation of the opt_pass::gate
-     method.  */
-  bool has_gate;
-
   /* If true, this pass has its own implementation of the opt_pass::execute
      method.  */
   bool has_execute;
@@ -90,9 +86,8 @@  public:
      The default implementation prints an error message and aborts.  */
   virtual opt_pass *clone ();
 
-  /* If has_gate is set, this pass and all sub-passes are executed only if
-     the function returns true.
-     The default implementation returns true.  */
+  /* This pass and all sub-passes are executed only if the function returns
+     true.  The default implementation returns true.  */
   virtual bool gate ();
 
   /* This is the code to run.  If has_execute is false, then there should
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
index 730bad4..859a112 100644
--- a/gcc/tree-predcom.c
+++ b/gcc/tree-predcom.c
@@ -2586,7 +2586,6 @@  const pass_data pass_data_predcom =
   GIMPLE_PASS, /* type */
   "pcom", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_PREDCOM, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index 02e9ff2..0372c92 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -680,7 +680,6 @@  const pass_data pass_data_ipa_tree_profile =
   SIMPLE_IPA_PASS, /* type */
   "profile", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_PROFILE, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 91286b4..acca2a7 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -3507,7 +3507,6 @@  const pass_data pass_data_sra_early =
   GIMPLE_PASS, /* type */
   "esra", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_SRA, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -3545,7 +3544,6 @@  const pass_data pass_data_sra =
   GIMPLE_PASS, /* type */
   "sra", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_SRA, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -5067,7 +5065,6 @@  const pass_data pass_data_early_ipa_sra =
   GIMPLE_PASS, /* type */
   "eipa_sra", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_SRA, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
index eeefeaf..c7a7e89 100644
--- a/gcc/tree-ssa-ccp.c
+++ b/gcc/tree-ssa-ccp.c
@@ -2301,7 +2301,6 @@  const pass_data pass_data_ccp =
   GIMPLE_PASS, /* type */
   "ccp", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_CCP, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -2719,7 +2718,6 @@  const pass_data pass_data_fold_builtins =
   GIMPLE_PASS, /* type */
   "fab", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c
index 02f4743..fc26d03 100644
--- a/gcc/tree-ssa-copy.c
+++ b/gcc/tree-ssa-copy.c
@@ -657,7 +657,6 @@  const pass_data pass_data_copy_prop =
   GIMPLE_PASS, /* type */
   "copyprop", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_COPY_PROP, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
diff --git a/gcc/tree-ssa-copyrename.c b/gcc/tree-ssa-copyrename.c
index bc947b6..0da3d82 100644
--- a/gcc/tree-ssa-copyrename.c
+++ b/gcc/tree-ssa-copyrename.c
@@ -450,7 +450,6 @@  const pass_data pass_data_rename_ssa_copies =
   GIMPLE_PASS, /* type */
   "copyrename", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_COPY_RENAME, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index 13a71ce..8db149e 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -1517,7 +1517,6 @@  const pass_data pass_data_dce =
   GIMPLE_PASS, /* type */
   "dce", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_DCE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -1556,7 +1555,6 @@  const pass_data pass_data_dce_loop =
   GIMPLE_PASS, /* type */
   "dceloop", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_DCE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -1595,7 +1593,6 @@  const pass_data pass_data_cd_dce =
   GIMPLE_PASS, /* type */
   "cddce", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_CD_DCE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 91253dc..8101a54 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -965,7 +965,6 @@  const pass_data pass_data_dominator =
   GIMPLE_PASS, /* type */
   "dom", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_SSA_DOMINATOR_OPTS, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -3123,7 +3122,6 @@  const pass_data pass_data_phi_only_cprop =
   GIMPLE_PASS, /* type */
   "phicprop", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_PHI_CPROP, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
index 2c2f3f7..0096b4c 100644
--- a/gcc/tree-ssa-dse.c
+++ b/gcc/tree-ssa-dse.c
@@ -376,7 +376,6 @@  const pass_data pass_data_dse =
   GIMPLE_PASS, /* type */
   "dse", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_DSE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index b6bedfe..66ae113 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -3845,7 +3845,6 @@  const pass_data pass_data_forwprop =
   GIMPLE_PASS, /* type */
   "forwprop", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_FORWPROP, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
index be28fb0..ef0c0c4 100644
--- a/gcc/tree-ssa-ifcombine.c
+++ b/gcc/tree-ssa-ifcombine.c
@@ -769,7 +769,6 @@  const pass_data pass_data_tree_ifcombine =
   GIMPLE_PASS, /* type */
   "ifcombine", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_IFCOMBINE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c
index 0a6b1c1..99cc39c 100644
--- a/gcc/tree-ssa-loop-ch.c
+++ b/gcc/tree-ssa-loop-ch.c
@@ -270,7 +270,6 @@  const pass_data pass_data_ch =
   GIMPLE_PASS, /* type */
   "ch", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_CH, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index c75f257..aab521e 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -2551,7 +2551,6 @@  const pass_data pass_data_lim =
   GIMPLE_PASS, /* type */
   "lim", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_LIM, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
index cdf1559..177666d 100644
--- a/gcc/tree-ssa-loop-ivcanon.c
+++ b/gcc/tree-ssa-loop-ivcanon.c
@@ -1278,7 +1278,6 @@  const pass_data pass_data_iv_canon =
   GIMPLE_PASS, /* type */
   "ivcanon", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_LOOP_IVCANON, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -1335,7 +1334,6 @@  const pass_data pass_data_complete_unroll =
   GIMPLE_PASS, /* type */
   "cunroll", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_COMPLETE_UNROLL, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -1400,7 +1398,6 @@  const pass_data pass_data_complete_unrolli =
   GIMPLE_PASS, /* type */
   "cunrolli", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_COMPLETE_UNROLL, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index c0968c8..dd52703 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -2026,7 +2026,6 @@  const pass_data pass_data_loop_prefetch =
   GIMPLE_PASS, /* type */
   "aprefetch", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_PREFETCH, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c
index 5031378..e755b62 100644
--- a/gcc/tree-ssa-loop-unswitch.c
+++ b/gcc/tree-ssa-loop-unswitch.c
@@ -424,7 +424,6 @@  const pass_data pass_data_tree_unswitch =
   GIMPLE_PASS, /* type */
   "unswitch", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_LOOP_UNSWITCH, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index 4008b2b..84e24a1 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -57,7 +57,6 @@  const pass_data pass_data_tree_loop =
   GIMPLE_PASS, /* type */
   "loop", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_TREE_LOOP, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -113,7 +112,6 @@  const pass_data pass_data_tree_loop_init =
   GIMPLE_PASS, /* type */
   "loopinit", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -167,7 +165,6 @@  const pass_data pass_data_vectorize =
   GIMPLE_PASS, /* type */
   "vect", /* name */
   OPTGROUP_LOOP | OPTGROUP_VEC, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_VECTORIZATION, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -223,7 +220,6 @@  const pass_data pass_data_check_data_deps =
   GIMPLE_PASS, /* type */
   "ckdd", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_CHECK_DATA_DEPS, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -269,7 +265,6 @@  const pass_data pass_data_scev_cprop =
   GIMPLE_PASS, /* type */
   "sccp", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_SCEV_CONST, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -321,7 +316,6 @@  const pass_data pass_data_record_bounds =
   GIMPLE_PASS, /* type */
   "*record_bounds", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_TREE_LOOP_BOUNDS, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -376,7 +370,6 @@  const pass_data pass_data_iv_optimize =
   GIMPLE_PASS, /* type */
   "ivopts", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_LOOP_IVOPTS, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -425,7 +418,6 @@  const pass_data pass_data_tree_loop_done =
   GIMPLE_PASS, /* type */
   "loopdone", /* name */
   OPTGROUP_LOOP, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c
index 63aba8e..f63c75d 100644
--- a/gcc/tree-ssa-math-opts.c
+++ b/gcc/tree-ssa-math-opts.c
@@ -660,7 +660,6 @@  const pass_data pass_data_cse_reciprocals =
   GIMPLE_PASS, /* type */
   "recip", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
@@ -1578,7 +1577,6 @@  const pass_data pass_data_cse_sincos =
   GIMPLE_PASS, /* type */
   "sincos", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
@@ -2080,7 +2078,6 @@  const pass_data pass_data_optimize_bswap =
   GIMPLE_PASS, /* type */
   "bswap", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
@@ -2890,7 +2887,6 @@  const pass_data pass_data_optimize_widening_mul =
   GIMPLE_PASS, /* type */
   "widening_mul", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index f1aa14d..3892317 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -2215,7 +2215,6 @@  const pass_data pass_data_phiopt =
   GIMPLE_PASS, /* type */
   "phiopt", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_PHIOPT, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -2261,7 +2260,6 @@  const pass_data pass_data_cselim =
   GIMPLE_PASS, /* type */
   "cselim", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_PHIOPT, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c
index 4d66c12..d67f488 100644
--- a/gcc/tree-ssa-phiprop.c
+++ b/gcc/tree-ssa-phiprop.c
@@ -422,7 +422,6 @@  const pass_data pass_data_phiprop =
   GIMPLE_PASS, /* type */
   "phiprop", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_PHIPROP, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index df9ff23..1329fe2 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -4784,7 +4784,6 @@  const pass_data pass_data_pre =
   GIMPLE_PASS, /* type */
   "pre", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_PRE, /* tv_id */
   /* PROP_no_crit_edges is ensured by placing pass_split_crit_edges before
@@ -4856,7 +4855,6 @@  const pass_data pass_data_fre =
   GIMPLE_PASS, /* type */
   "fre", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_FRE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index e9e29e5..0b37b7b 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -4678,7 +4678,6 @@  const pass_data pass_data_reassoc =
   GIMPLE_PASS, /* type */
   "reassoc", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_REASSOC, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c
index 6d02975..4a7410d 100644
--- a/gcc/tree-ssa-sink.c
+++ b/gcc/tree-ssa-sink.c
@@ -601,7 +601,6 @@  const pass_data pass_data_sink_code =
   GIMPLE_PASS, /* type */
   "sink", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_SINK, /* tv_id */
   /* PROP_no_crit_edges is ensured by running split_critical_edges in
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index f55b7ee..aa6b6b9 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -2102,7 +2102,6 @@  const pass_data pass_data_strlen =
   GIMPLE_PASS, /* type */
   "strlen", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_STRLEN, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 70133cf..9e1cdbc 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -7005,7 +7005,6 @@  const pass_data pass_data_build_alias =
   GIMPLE_PASS, /* type */
   "alias", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -7045,7 +7044,6 @@  const pass_data pass_data_build_ealias =
   GIMPLE_PASS, /* type */
   "ealias", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   false, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -7437,7 +7435,6 @@  const pass_data pass_data_ipa_pta =
   SIMPLE_IPA_PASS, /* type */
   "pta", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_PTA, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c
index a43dd1a..41f4bd8 100644
--- a/gcc/tree-ssa-uncprop.c
+++ b/gcc/tree-ssa-uncprop.c
@@ -594,7 +594,6 @@  const pass_data pass_data_uncprop =
   GIMPLE_PASS, /* type */
   "uncprop", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_SSA_UNCPROP, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c
index eee83f7..86d84a1 100644
--- a/gcc/tree-ssa-uninit.c
+++ b/gcc/tree-ssa-uninit.c
@@ -2365,7 +2365,6 @@  const pass_data pass_data_late_warn_uninitialized =
   GIMPLE_PASS, /* type */
   "uninit", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_ssa, /* properties_required */
@@ -2425,7 +2424,6 @@  const pass_data pass_data_early_warn_uninitialized =
   GIMPLE_PASS, /* type */
   "*early_warn_uninitialized", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_UNINIT, /* tv_id */
   PROP_ssa, /* properties_required */
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index 20f061f..ecc8da3 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -1155,7 +1155,6 @@  const pass_data pass_data_init_datastructures =
   GIMPLE_PASS, /* type */
   "*init_datastructures", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -1686,7 +1685,6 @@  const pass_data pass_data_update_address_taken =
   GIMPLE_PASS, /* type */
   "addressables", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   false, /* has_execute */
   TV_ADDRESS_TAKEN, /* tv_id */
   PROP_ssa, /* properties_required */
diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c
index 2b535a1..b18b688 100644
--- a/gcc/tree-ssanames.c
+++ b/gcc/tree-ssanames.c
@@ -610,7 +610,6 @@  const pass_data pass_data_release_ssa_names =
   GIMPLE_PASS, /* type */
   "release_ssa", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_TREE_SSA_OTHER, /* tv_id */
   PROP_ssa, /* properties_required */
diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c
index feb6ece..7da36c4 100644
--- a/gcc/tree-stdarg.c
+++ b/gcc/tree-stdarg.c
@@ -1006,7 +1006,6 @@  const pass_data pass_data_stdarg =
   GIMPLE_PASS, /* type */
   "stdarg", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index 5540ed3..cf2e763 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -1480,7 +1480,6 @@  const pass_data pass_data_convert_switch =
   GIMPLE_PASS, /* type */
   "switchconv", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_SWITCH_CONVERSION, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 3488c2f..b3a6256 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -1090,7 +1090,6 @@  const pass_data pass_data_tail_recursion =
   GIMPLE_PASS, /* type */
   "tailr", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
@@ -1129,7 +1128,6 @@  const pass_data pass_data_tail_calls =
   GIMPLE_PASS, /* type */
   "tailc", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index d00a4b4..035c143 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -1566,7 +1566,6 @@  const pass_data pass_data_lower_vector =
   GIMPLE_PASS, /* type */
   "veclower", /* name */
   OPTGROUP_VEC, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
@@ -1607,7 +1606,6 @@  const pass_data pass_data_lower_vector_ssa =
   GIMPLE_PASS, /* type */
   "veclower2", /* name */
   OPTGROUP_VEC, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   PROP_cfg, /* properties_required */
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 765e38f..17be3aa 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -626,7 +626,6 @@  const pass_data pass_data_slp_vectorize =
   GIMPLE_PASS, /* type */
   "slp", /* name */
   OPTGROUP_LOOP | OPTGROUP_VEC, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_SLP_VECTORIZATION, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
@@ -717,7 +716,6 @@  const pass_data pass_data_ipa_increase_alignment =
   SIMPLE_IPA_PASS, /* type */
   "increase_alignment", /* name */
   OPTGROUP_LOOP | OPTGROUP_VEC, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_IPA_OPT, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 14f1526..4ccb90b 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -9907,7 +9907,6 @@  const pass_data pass_data_vrp =
   GIMPLE_PASS, /* type */
   "vrp", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_VRP, /* tv_id */
   PROP_ssa, /* properties_required */
diff --git a/gcc/tree.c b/gcc/tree.c
index d829faa..b897988 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5625,7 +5625,6 @@  const pass_data pass_data_ipa_free_lang_data =
   SIMPLE_IPA_PASS, /* type */
   "*free_lang_data", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  false, /* has_gate */
   true, /* has_execute */
   TV_IPA_FREE_LANG_DATA, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/tsan.c b/gcc/tsan.c
index 2e32cd2..f30cf57 100644
--- a/gcc/tsan.c
+++ b/gcc/tsan.c
@@ -747,7 +747,6 @@  const pass_data pass_data_tsan =
   GIMPLE_PASS, /* type */
   "tsan", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
@@ -792,7 +791,6 @@  const pass_data pass_data_tsan_O0 =
   GIMPLE_PASS, /* type */
   "tsan0", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_NONE, /* tv_id */
   ( PROP_ssa | PROP_cfg ), /* properties_required */
diff --git a/gcc/ubsan.c b/gcc/ubsan.c
index ac40c85..c205e6b 100644
--- a/gcc/ubsan.c
+++ b/gcc/ubsan.c
@@ -916,7 +916,6 @@  const pass_data pass_data_ubsan =
   GIMPLE_PASS, /* type */
   "ubsan", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_TREE_UBSAN, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 65d8285..e6ca3af 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -10359,7 +10359,6 @@  const pass_data pass_data_variable_tracking =
   RTL_PASS, /* type */
   "vartrack", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_VAR_TRACKING, /* tv_id */
   0, /* properties_required */
diff --git a/gcc/vtable-verify.c b/gcc/vtable-verify.c
index 4e4c21a..99caa88 100644
--- a/gcc/vtable-verify.c
+++ b/gcc/vtable-verify.c
@@ -757,7 +757,6 @@  const pass_data pass_data_vtable_verify =
   GIMPLE_PASS, /* type */
   "vtable-verify", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_VTABLE_VERIFICATION, /* tv_id */
   ( PROP_cfg | PROP_ssa ), /* properties_required */
diff --git a/gcc/web.c b/gcc/web.c
index d67151c..ba4172e 100644
--- a/gcc/web.c
+++ b/gcc/web.c
@@ -456,7 +456,6 @@  const pass_data pass_data_web =
   RTL_PASS, /* type */
   "web", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
   true, /* has_execute */
   TV_WEB, /* tv_id */
   0, /* properties_required */