diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-21 03:22:26 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-21 03:22:26 +0000 |
commit | a6a1b9be4068c09c536e826c5192465b7c24f05b (patch) | |
tree | 33b8ea537a032be49f69d7e8203822fe994bd812 /gcc/basic-block.h | |
parent | 1e98cb7a3546fcf8a4c9614ac59c121e0fa87770 (diff) | |
download | gcc-a6a1b9be4068c09c536e826c5192465b7c24f05b.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45068 138bc75d-0d04-0410-961f-82ee72b054a4
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 dc2d1902cd9..83c4eb4eb20 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)); |