aboutsummaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@redhat.com>2001-08-21 03:22:26 +0000
committerDiego Novillo <dnovillo@gcc.gnu.org>2001-08-20 23:22:26 -0400
commit006844a3928510acdacc3bded90136175c85d47f (patch)
tree33b8ea537a032be49f69d7e8203822fe994bd812 /gcc/basic-block.h
parent0760faf99d289f21028e54654257433b4f28526b (diff)
downloadgcc-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.h7
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));