aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r--gcc/tree-if-conv.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index b87c476..90b62a8 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -2013,17 +2013,6 @@ main_tree_if_conversion (void)
return todo;
}
-/* Returns true when the if-conversion pass is enabled. */
-
-static bool
-gate_tree_if_conversion (void)
-{
- return (((flag_tree_loop_vectorize || cfun->has_force_vectorize_loops)
- && flag_tree_loop_if_convert != 0)
- || flag_tree_loop_if_convert == 1
- || flag_tree_loop_if_convert_stores == 1);
-}
-
namespace {
const pass_data pass_data_if_conversion =
@@ -2049,11 +2038,20 @@ public:
{}
/* opt_pass methods: */
- bool gate () { return gate_tree_if_conversion (); }
+ virtual bool gate (function *);
unsigned int execute () { return main_tree_if_conversion (); }
}; // class pass_if_conversion
+bool
+pass_if_conversion::gate (function *fun)
+{
+ return (((flag_tree_loop_vectorize || fun->has_force_vectorize_loops)
+ && flag_tree_loop_if_convert != 0)
+ || flag_tree_loop_if_convert == 1
+ || flag_tree_loop_if_convert_stores == 1);
+}
+
} // anon namespace
gimple_opt_pass *