diff options
author | Diego Novillo <dnovillo@redhat.com> | 2001-08-21 03:22:26 +0000 |
---|---|---|
committer | Diego Novillo <dnovillo@gcc.gnu.org> | 2001-08-20 23:22:26 -0400 |
commit | 006844a3928510acdacc3bded90136175c85d47f (patch) | |
tree | 33b8ea537a032be49f69d7e8203822fe994bd812 /gcc/basic-block.h | |
parent | 0760faf99d289f21028e54654257433b4f28526b (diff) | |
download | gcc-006844a3928510acdacc3bded90136175c85d47f.zip gcc-006844a3928510acdacc3bded90136175c85d47f.tar.gz gcc-006844a3928510acdacc3bded90136175c85d47f.tar.bz2 |
basic-block.h (basic_block): Add new field 'flags'.
* basic-block.h (basic_block): Add new field 'flags'.
(BB_REACHABLE): Define.
(expunge_block): Declare.
* flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
(EXIT_BLOCK_PTR): Ditto.
(expunge_block): Remove static declaration.
(cleanup_cfg): Clear bb->aux on every basic block.
(find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
computing reachability.
(delete_unreachable_blocks): Delete block b if b->flags has
BB_REACHABLE unset.
From-SVN: r45068
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index dc2d190..83c4eb4 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -218,10 +218,16 @@ typedef struct basic_block_def { /* Expected frequency. Normalized to be in range 0 to BB_FREQ_MAX. */ int frequency; + + /* Various flags. See BB_* below. */ + int flags; } *basic_block; #define BB_FREQ_MAX 10000 +/* Masks for basic_block.flags. */ +#define BB_REACHABLE 1 + /* Number of basic blocks in the current function. */ extern int n_basic_blocks; @@ -609,6 +615,7 @@ extern void debug_regset PARAMS ((regset)); extern void allocate_reg_life_data PARAMS ((void)); extern void allocate_bb_life_data PARAMS ((void)); extern void find_unreachable_blocks PARAMS ((void)); +extern void expunge_block PARAMS ((basic_block)); extern void delete_noop_moves PARAMS ((rtx)); extern rtx last_loop_beg_note PARAMS ((rtx)); extern basic_block redirect_edge_and_branch_force PARAMS ((edge, basic_block)); |