summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-05-16 13:21:38 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-05-16 13:21:38 +0000
commitc334023f3713f64fafb81c8108c2086f258bd754 (patch)
tree83ab2cd685a4da64ad2e41a9643ad3c31f8e102e
parenta952cc068c5df10333be537e9283e1aebc24c55d (diff)
downloadgcc-c334023f3713f64fafb81c8108c2086f258bd754.tar.gz
tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap of new names.
2012-05-16 Richard Guenther <rguenther@suse.de> * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap of new names. (slpeel_tree_peel_loop_to_edge): Likewise. Do not set CFG hooks. * tree-flow.h (ssa_names_to_replace): Remove. * tree-into-ssa.c (ssa_names_to_replace): Likewise. From-SVN: r187591
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/tree-flow.h1
-rw-r--r--gcc/tree-into-ssa.c20
-rw-r--r--gcc/tree-vect-loop-manip.c15
4 files changed, 11 insertions, 34 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a7d0b3eb4b6..198284fe3ce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2012-05-16 Richard Guenther <rguenther@suse.de>
+ * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
+ Remove set-only bitmap of new names.
+ (slpeel_tree_peel_loop_to_edge): Likewise. Do not set
+ CFG hooks.
+ * tree-flow.h (ssa_names_to_replace): Remove.
+ * tree-into-ssa.c (ssa_names_to_replace): Likewise.
+
+2012-05-16 Richard Guenther <rguenther@suse.de>
+
PR tree-optimization/53364
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
detect a view-conversion of the decl.
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index 2846b67a015..ddc169abe19 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -576,7 +576,6 @@ tree create_new_def_for (tree, gimple, def_operand_p);
bool need_ssa_update_p (struct function *);
bool name_mappings_registered_p (void);
bool name_registered_for_update_p (tree);
-bitmap ssa_names_to_replace (void);
void release_ssa_name_after_update_ssa (tree);
void compute_global_livein (bitmap, bitmap);
void mark_sym_for_renaming (tree);
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index 6ca52c1f32f..170d8d02311 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -3053,26 +3053,6 @@ name_registered_for_update_p (tree n ATTRIBUTE_UNUSED)
}
-/* Return the set of all the SSA names marked to be replaced. */
-
-bitmap
-ssa_names_to_replace (void)
-{
- unsigned i = 0;
- bitmap ret;
- sbitmap_iterator sbi;
-
- gcc_assert (update_ssa_initialized_fn == NULL
- || update_ssa_initialized_fn == cfun);
-
- ret = BITMAP_ALLOC (NULL);
- EXECUTE_IF_SET_IN_SBITMAP (old_ssa_names, 0, i, sbi)
- bitmap_set_bit (ret, i);
-
- return ret;
-}
-
-
/* Mark NAME to be released after update_ssa has finished. */
void
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index ac2eb767cf9..f0bb2416cbf 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -489,8 +489,7 @@ LOOP-> loop1
static void
slpeel_update_phi_nodes_for_guard1 (edge guard_edge, struct loop *loop,
- bool is_new_loop, basic_block *new_exit_bb,
- bitmap *defs)
+ bool is_new_loop, basic_block *new_exit_bb)
{
gimple orig_phi, new_phi;
gimple update_phi, update_phi2;
@@ -586,7 +585,6 @@ slpeel_update_phi_nodes_for_guard1 (edge guard_edge, struct loop *loop,
gcc_assert (get_current_def (current_new_name) == NULL_TREE);
set_current_def (current_new_name, PHI_RESULT (new_phi));
- bitmap_set_bit (*defs, SSA_NAME_VERSION (current_new_name));
}
}
@@ -1159,7 +1157,6 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop,
struct loop *new_loop = NULL, *first_loop, *second_loop;
edge skip_e;
tree pre_condition = NULL_TREE;
- bitmap definitions;
basic_block bb_before_second_loop, bb_after_second_loop;
basic_block bb_before_first_loop;
basic_block bb_between_loops;
@@ -1172,12 +1169,6 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop,
if (!slpeel_can_duplicate_loop_p (loop, e))
return NULL;
- /* We have to initialize cfg_hooks. Then, when calling
- cfg_hooks->split_edge, the function tree_split_edge
- is actually called and, when calling cfg_hooks->duplicate_block,
- the function tree_duplicate_bb is called. */
- gimple_register_cfg_hooks ();
-
/* If the loop has a virtual PHI, but exit bb doesn't, create a virtual PHI
in the exit bb and rename all the uses after the loop. This simplifies
the *guard[12] routines, which assume loop closed SSA form for all PHIs
@@ -1259,7 +1250,6 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop,
second_loop = loop;
}
- definitions = ssa_names_to_replace ();
slpeel_update_phis_for_duplicate_loop (loop, new_loop, e == exit_e);
rename_variables_in_loop (new_loop);
@@ -1397,7 +1387,7 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop,
bb_before_second_loop, bb_before_first_loop);
slpeel_update_phi_nodes_for_guard1 (skip_e, first_loop,
first_loop == new_loop,
- &new_exit_bb, &definitions);
+ &new_exit_bb);
/* 3. Add the guard that controls whether the second loop is executed.
@@ -1441,7 +1431,6 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop,
if (update_first_loop_count)
slpeel_make_loop_iterate_ntimes (first_loop, *first_niters);
- BITMAP_FREE (definitions);
delete_update_ssa ();
adjust_vec_debug_stmts ();