summaryrefslogtreecommitdiff
path: root/gcc/postreload-gcse.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/postreload-gcse.c')
-rw-r--r--gcc/postreload-gcse.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
index 5555794a321..f5d53633539 100644
--- a/gcc/postreload-gcse.c
+++ b/gcc/postreload-gcse.c
@@ -1308,13 +1308,6 @@ gcse_after_reload_main (rtx f ATTRIBUTE_UNUSED)
}
-static bool
-gate_handle_gcse2 (void)
-{
- return (optimize > 0 && flag_gcse_after_reload
- && optimize_function_for_speed_p (cfun));
-}
-
static unsigned int
rest_of_handle_gcse2 (void)
@@ -1331,7 +1324,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 */
@@ -1349,8 +1341,13 @@ public:
{}
/* opt_pass methods: */
- bool gate () { return gate_handle_gcse2 (); }
- unsigned int execute () { return rest_of_handle_gcse2 (); }
+ virtual bool gate (function *fun)
+ {
+ return (optimize > 0 && flag_gcse_after_reload
+ && optimize_function_for_speed_p (fun));
+ }
+
+ virtual unsigned int execute (function *) { return rest_of_handle_gcse2 (); }
}; // class pass_gcse2