summaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-21 03:22:26 +0000
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-21 03:22:26 +0000
commita6a1b9be4068c09c536e826c5192465b7c24f05b (patch)
tree33b8ea537a032be49f69d7e8203822fe994bd812 /gcc/basic-block.h
parent1e98cb7a3546fcf8a4c9614ac59c121e0fa87770 (diff)
downloadgcc-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.h7
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));