summaryrefslogtreecommitdiffstats
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-05-17 02:31:56 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-05-17 02:31:56 +0000
commitb3d6de8978fd2208885e98b19a91c9d29c170af5 (patch)
tree94c8895c6dde3b282518d4c9951067cd0ac517fd /gcc/basic-block.h
parent5e7d465f337d9d419b2528ad819390067caeca95 (diff)
downloadppe42-gcc-b3d6de8978fd2208885e98b19a91c9d29c170af5.tar.gz
ppe42-gcc-b3d6de8978fd2208885e98b19a91c9d29c170af5.zip
Revert "Basic block renumbering removal", and two followup patches.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53537 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r--gcc/basic-block.h34
1 files changed, 7 insertions, 27 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index 75d97cb67cc..5615b145f02 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -203,11 +203,8 @@ typedef struct basic_block_def {
/* Auxiliary info specific to a pass. */
void *aux;
- /* The index of a block. */
- int sindex;
-
- /* Previous and next blocks in the chain. */
- struct basic_block_def *prev_bb, *next_bb;
+ /* The index of this block. */
+ int index;
/* The loop depth of this block. */
int loop_depth;
@@ -231,11 +228,7 @@ typedef struct basic_block_def {
/* Number of basic blocks in the current function. */
-extern int num_basic_blocks;
-
-/* First free basic block number. */
-
-extern int last_basic_block;
+extern int n_basic_blocks;
/* Number of edges in the current function. */
@@ -247,16 +240,6 @@ extern varray_type basic_block_info;
#define BASIC_BLOCK(N) (VARRAY_BB (basic_block_info, (N)))
-/* For iterating over basic blocks. */
-#define FOR_BB_BETWEEN(BB, FROM, TO, DIR) \
- for (BB = FROM; BB != TO; BB = BB->DIR)
-
-#define FOR_ALL_BB(BB) \
- FOR_BB_BETWEEN (BB, ENTRY_BLOCK_PTR->next_bb, EXIT_BLOCK_PTR, next_bb)
-
-#define FOR_ALL_BB_REVERSE(BB) \
- FOR_BB_BETWEEN (BB, EXIT_BLOCK_PTR->prev_bb, ENTRY_BLOCK_PTR, prev_bb)
-
/* What registers are live at the setjmp call. */
extern regset regs_live_at_setjmp;
@@ -301,7 +284,7 @@ extern struct basic_block_def entry_exit_blocks[2];
extern varray_type basic_block_for_insn;
#define BLOCK_FOR_INSN(INSN) VARRAY_BB (basic_block_for_insn, INSN_UID (INSN))
-#define BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->sindex + 0)
+#define BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->index + 0)
extern void compute_bb_for_insn PARAMS ((int));
extern void free_bb_for_insn PARAMS ((void));
@@ -331,8 +314,8 @@ extern void remove_edge PARAMS ((edge));
extern void redirect_edge_succ PARAMS ((edge, basic_block));
extern edge redirect_edge_succ_nodup PARAMS ((edge, basic_block));
extern void redirect_edge_pred PARAMS ((edge, basic_block));
-extern basic_block create_basic_block_structure PARAMS ((int, rtx, rtx, rtx, basic_block));
-extern basic_block create_basic_block PARAMS ((rtx, rtx, basic_block));
+extern basic_block create_basic_block_structure PARAMS ((int, rtx, rtx, rtx));
+extern basic_block create_basic_block PARAMS ((int, rtx, rtx));
extern int flow_delete_block PARAMS ((basic_block));
extern int flow_delete_block_noexpunge PARAMS ((basic_block));
extern void clear_bb_flags PARAMS ((void));
@@ -656,15 +639,12 @@ extern void reorder_basic_blocks PARAMS ((void));
extern void dump_bb PARAMS ((basic_block, FILE *));
extern void debug_bb PARAMS ((basic_block));
extern void debug_bb_n PARAMS ((int));
-extern basic_block debug_num2bb PARAMS ((int));
extern void dump_regset PARAMS ((regset, FILE *));
extern void debug_regset PARAMS ((regset));
extern void allocate_reg_life_data PARAMS ((void));
extern void allocate_bb_life_data PARAMS ((void));
extern void expunge_block PARAMS ((basic_block));
-extern void link_block PARAMS ((basic_block, basic_block));
-extern void unlink_block PARAMS ((basic_block));
-extern void compact_blocks PARAMS ((void));
+extern void expunge_block_nocompact PARAMS ((basic_block));
extern basic_block alloc_block PARAMS ((void));
extern void find_unreachable_blocks PARAMS ((void));
extern int delete_noop_moves PARAMS ((rtx));
OpenPOWER on IntegriCloud