diff options
author | Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | 2002-05-20 00:25:49 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2002-05-19 22:25:49 +0000 |
commit | 918ed612a1b2328a11887b7166bc07a9efde130f (patch) | |
tree | da3145061eccb50182bb789146df5bbe4f748226 /gcc/cfgcleanup.c | |
parent | e0322d5ca59e5d8657799c2c5453319a89c7a5a5 (diff) | |
download | gcc-918ed612a1b2328a11887b7166bc07a9efde130f.zip gcc-918ed612a1b2328a11887b7166bc07a9efde130f.tar.gz gcc-918ed612a1b2328a11887b7166bc07a9efde130f.tar.bz2 |
basic_block.h (struct basic_block_def): Added prev_bb and next_bb fields.
* basic_block.h (struct basic_block_def): Added prev_bb and next_bb
fields.
(FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
traversing basic block chain.
(create_basic_block_structure, create_basic_block): Declaration changed.
(link_block, unlink_block): Declare.
* cfg.c (entry_exit_blocks): Initialize new fields.
(link_block, unlink_block): New.
(expunge_block_nocompact): Unlink basic block.
(dump_flow_info): Print prev_bb/next_bb fields.
* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
* cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
* cfgrtl.c (create_basic_block_structure, create_basic_block,
split_block, force_nonfallthru_and_redirect, split_edge): Modified.
(verify_flow_info): Check that list agrees with numbering.
From-SVN: r53642
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r-- | gcc/cfgcleanup.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index fcf6944..15dbec1 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -723,6 +723,9 @@ merge_blocks_move_predecessor_nojumps (a, b) a->index = b->index; b->index = index; + unlink_block (a); + link_block (a, b->prev_bb); + /* Now blocks A and B are contiguous. Merge them. */ merge_blocks_nomove (a, b); } |