* bb-reorder.c (reorder_block_def): Reorder elements for size.
commit075d20cf4f481517690d405e005928da35c44196
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 May 2000 03:34:33 +0000 (26 03:34 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 May 2000 03:34:33 +0000 (26 03:34 +0000)
tree6f09bc3a30550e07ac1b44c5aa7edd9d40f1e562
parent13688260e5f1c6274581e68821e356a24ee18459
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34186 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/basic-block.h
gcc/bb-reorder.c
gcc/flow.c