aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
-rw-r--r--gcc/tree-ssa-loop-im.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 0d82d36..9b1b815 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -958,14 +958,14 @@ public:
invariantness_dom_walker (cdi_direction direction)
: dom_walker (direction) {}
- virtual void before_dom_children (basic_block);
+ virtual edge before_dom_children (basic_block);
};
/* Determine the outermost loops in that statements in basic block BB are
invariant, and record them to the LIM_DATA associated with the statements.
Callback for dom_walker. */
-void
+edge
invariantness_dom_walker::before_dom_children (basic_block bb)
{
enum move_pos pos;
@@ -976,7 +976,7 @@ invariantness_dom_walker::before_dom_children (basic_block bb)
struct lim_aux_data *lim_data;
if (!loop_outer (bb->loop_father))
- return;
+ return NULL;
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "Basic block %d (loop %d -- depth %d):\n\n",
@@ -1094,6 +1094,7 @@ invariantness_dom_walker::before_dom_children (basic_block bb)
if (lim_data->cost >= LIM_EXPENSIVE)
set_profitable_level (stmt);
}
+ return NULL;
}
class move_computations_dom_walker : public dom_walker
@@ -1102,7 +1103,7 @@ public:
move_computations_dom_walker (cdi_direction direction)
: dom_walker (direction), todo_ (0) {}
- virtual void before_dom_children (basic_block);
+ virtual edge before_dom_children (basic_block);
unsigned int todo_;
};
@@ -1111,7 +1112,7 @@ public:
data stored in LIM_DATA structures associated with each statement. Callback
for walk_dominator_tree. */
-void
+edge
move_computations_dom_walker::before_dom_children (basic_block bb)
{
struct loop *level;
@@ -1119,7 +1120,7 @@ move_computations_dom_walker::before_dom_children (basic_block bb)
struct lim_aux_data *lim_data;
if (!loop_outer (bb->loop_father))
- return;
+ return NULL;
for (gphi_iterator bsi = gsi_start_phis (bb); !gsi_end_p (bsi); )
{
@@ -1265,6 +1266,7 @@ move_computations_dom_walker::before_dom_children (basic_block bb)
else
gsi_insert_on_edge (e, stmt);
}
+ return NULL;
}
/* Hoist the statements out of the loops prescribed by data stored in