diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-28 08:00:44 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-28 08:00:44 +0000 |
commit | e996e8f12337f7038e1ca36708a93b91a85e7adb (patch) | |
tree | 6d815e4e61f8b9aa0b5bfc6b631453fcd1edda77 | |
parent | 7cb3e89dbf045c8e4ec5da8b1ccfe0f2e1ae94e6 (diff) | |
download | gcc-e996e8f12337f7038e1ca36708a93b91a85e7adb.tar.gz |
* tree-cfg.c (move_block_to_fn): Release bb from dominance
info. Update last_basic_block correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124257 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd61b8ee344..8240b2ac234 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-04-28 Zdenek Dvorak <dvorakz@suse.cz> + + * tree-cfg.c (move_block_to_fn): Release bb from dominance + info. Update last_basic_block correctly. + 2007-04-27 Kaz Kojima <kkojima@gcc.gnu.org> PR target/31701 diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 59e1cc3b7ab..89339bc9a61 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -4571,6 +4571,9 @@ move_block_to_fn (struct function *dest_cfun, basic_block bb, struct move_stmt_d d; unsigned old_len, new_len; + /* Remove BB from dominance structures. */ + delete_from_dominance_info (CDI_DOMINATORS, bb); + /* Link BB to the new linked list. */ move_block_after (bb, after); @@ -4589,8 +4592,8 @@ move_block_to_fn (struct function *dest_cfun, basic_block bb, /* Grow DEST_CFUN's basic block array if needed. */ cfg = dest_cfun->cfg; cfg->x_n_basic_blocks++; - if (bb->index > cfg->x_last_basic_block) - cfg->x_last_basic_block = bb->index; + if (bb->index >= cfg->x_last_basic_block) + cfg->x_last_basic_block = bb->index + 1; old_len = VEC_length (basic_block, cfg->x_basic_block_info); if ((unsigned) cfg->x_last_basic_block >= old_len) |