aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-loop-distribution.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-loop-distribution.c')
-rw-r--r--gcc/tree-loop-distribution.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index 8eca7c0..080ecea 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -77,6 +77,9 @@ static bitmap remaining_stmts;
predecessor a node that writes to memory. */
static bitmap upstream_mem_writes;
+/* TODOs we need to run after the pass. */
+static unsigned int todo;
+
/* Update the PHI nodes of NEW_LOOP. NEW_LOOP is a duplicate of
ORIG_LOOP. */
@@ -331,6 +334,8 @@ generate_memset_zero (gimple stmt, tree op0, tree nb_iter,
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "generated memset zero\n");
+ todo |= TODO_rebuild_alias;
+
end:
free_data_ref (dr);
return res;
@@ -1206,6 +1211,8 @@ tree_loop_distribution (void)
loop_iterator li;
int nb_generated_loops = 0;
+ todo = 0;
+
FOR_EACH_LOOP (li, loop, 0)
{
VEC (gimple, heap) *work_list = VEC_alloc (gimple, heap, 3);
@@ -1237,7 +1244,7 @@ tree_loop_distribution (void)
VEC_free (gimple, heap, work_list);
}
- return 0;
+ return todo;
}
static bool