summaryrefslogtreecommitdiff
path: root/gcc/cfghooks.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-09 21:34:08 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-09 21:34:08 +0000
commitde39d8ad2c48486db6823c3af0de05cc16995493 (patch)
treebfeea6566a3710480f5e9a593f94251b8b3cec45 /gcc/cfghooks.c
parent7e74b3a4aed1766c0c451fcfda79f71d27b3701d (diff)
downloadgcc-de39d8ad2c48486db6823c3af0de05cc16995493.tar.gz
* tree-scalar-evolution.c (follow_ssa_edge_in_rhs,
follow_ssa_edge_in_condition_phi, follow_ssa_edge): Keep more precise track of the size of the expression. * cfghooks.c (merge_blocks): Remove block from loops structure only after call of the merge_blocks hook. * gcc.dg/tree-ssa/loop-28.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125595 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfghooks.c')
-rw-r--r--gcc/cfghooks.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index 8852ca91f4f..98b5e349e70 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -646,11 +646,11 @@ merge_blocks (basic_block a, basic_block b)
if (!cfg_hooks->merge_blocks)
internal_error ("%s does not support merge_blocks", cfg_hooks->name);
+ cfg_hooks->merge_blocks (a, b);
+
if (current_loops != NULL)
remove_bb_from_loops (b);
- cfg_hooks->merge_blocks (a, b);
-
/* Normally there should only be one successor of A and that is B, but
partway though the merge of blocks for conditional_execution we'll
be merging a TEST block with THEN and ELSE successors. Free the