bb-reorder.c (reorder_block_def): Reorder elements for size.
authorRichard Henderson <rth@cygnus.com>
Fri, 26 May 2000 03:34:33 +0000 (20:34 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 26 May 2000 03:34:33 +0000 (20:34 -0700)
commitf008a564f936b295dd747d9cd1f6ef43f780ac90
tree6f09bc3a30550e07ac1b44c5aa7edd9d40f1e562
parent49080ead6d708777280760aeab58b8c626b589c1
bb-reorder.c (reorder_block_def): Reorder elements for size.

        * bb-reorder.c (reorder_block_def): Reorder elements for size.
        Remove add_jump; add next; replace flags with visited.
        (rbd_init): Remove.
        (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove.
        (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove.
        (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove.
        (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove.
        (RBI): New.
        (reorder_index, reorder_last_visited): Remove.
        (skip_insns_after_block): Rewrite to use a switch.
        (get_common_dest): Remove.
        (chain_reorder_blocks): Remove.
        (record_effective_endpoints): Split out from reorder_basic_blocks.
        (make_reorder_chain): Likewise.  Loop until all blocks are placed.
        (make_reorder_chain_1): Renamed from old make_reorder_chain.
        Only construct the reorder chain, do not move insns.  Try harder
        to tail recurse.
        (label_for_bb, emit_jump_to_block_after): New.
        (fixup_reorder_chain): Use them.  Do bulk block movement.  Examine
        and adjust the jump insns appropriately.  Fixup basic_block_info.
        (verify_insn_chain): Always define.
        (relate_bbs_with_scopes): Call xmalloc, not xcalloc.  Fix thinko
        in allocation size.
        (make_new_scope): Don't write zeros to calloc'd space.
        (build_scope_forest): Rely on xrealloc to DTRT.
        (reorder_basic_blocks): Don't build loop nest.  Don't fail if
        profile_arc_flag.  Streamline EH test.

* flow.c (redirect_edge_succ, redirect_edge_pred): New.
* basic-block.h: Declare them.

From-SVN: r34186
gcc/ChangeLog
gcc/basic-block.h
gcc/bb-reorder.c
gcc/flow.c