diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-09 21:34:08 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-09 21:34:08 +0000 |
commit | de39d8ad2c48486db6823c3af0de05cc16995493 (patch) | |
tree | bfeea6566a3710480f5e9a593f94251b8b3cec45 /gcc/cfghooks.c | |
parent | 7e74b3a4aed1766c0c451fcfda79f71d27b3701d (diff) | |
download | gcc-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.c | 4 |
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 |