aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/tree-ssa-phiopt.c6
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 078ee82..8f9daf8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/17902
+ * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
+ instead of bsi_start.
+ (value_replacement): Likewise.
+ (abs_replacement): Likewise
+
2004-10-09 Steven Bosscher <stevenb@suse.de>
* cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 7c38b8a..2b415a6 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -332,7 +332,7 @@ conditional_replacement (basic_block bb, tree phi, tree arg0, tree arg1)
extract_true_false_edges_from_block (cond_block, &true_edge, &false_edge);
/* Insert our new statement at the head of our block. */
- bsi = bsi_start (bb);
+ bsi = bsi_after_labels (bb);
if (old_result)
{
@@ -485,7 +485,7 @@ value_replacement (basic_block bb, tree phi, tree arg0, tree arg1)
/* Build the new assignment. */
new = build (MODIFY_EXPR, TREE_TYPE (result), result, arg);
- replace_phi_with_stmt (bsi_start (bb), bb, cond_block, phi, new);
+ replace_phi_with_stmt (bsi_after_labels (bb), bb, cond_block, phi, new);
/* Note that we optimized this PHI. */
return true;
@@ -621,7 +621,7 @@ abs_replacement (basic_block bb, tree phi, tree arg0, tree arg1)
new = build (MODIFY_EXPR, TREE_TYPE (lhs),
lhs, build1 (ABS_EXPR, TREE_TYPE (lhs), rhs));
- replace_phi_with_stmt (bsi_start (bb), bb, cond_block, phi, new);
+ replace_phi_with_stmt (bsi_after_labels (bb), bb, cond_block, phi, new);
if (negate)
{