diff options
author | Richard Henderson <rth@cygnus.com> | 1999-09-21 14:15:37 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-09-21 14:15:37 -0700 |
commit | 336a6399a9ab84ac787c525ec2a2a469b8b488d5 (patch) | |
tree | 5f84bcf24f6d398455afd08aec40a0b90bdab8c1 /gcc/basic-block.h | |
parent | 9f14fb64049bc3598da0624b59c74a89abdee09d (diff) | |
download | gcc-336a6399a9ab84ac787c525ec2a2a469b8b488d5.zip gcc-336a6399a9ab84ac787c525ec2a2a469b8b488d5.tar.gz gcc-336a6399a9ab84ac787c525ec2a2a469b8b488d5.tar.bz2 |
basic-block.h (basic_block): Add eh_beg, eh_end.
* basic-block.h (basic_block): Add eh_beg, eh_end.
* flow.c (entry_exit_blocks): Update.
(find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
Call new functions.
(find_basic_blocks_1): Don't record eh_list at each bb. Use
lists.c functions to allocate insn lists.
(make_edges): Use eh_beg+eh_end, not the lists. Split out EH
edge creation ...
(make_eh_edge): ... here. New.
(move_stray_eh_region_notes): New.
(record_active_eh_regions): New.
(delete_unreachable_blocks): Split out block merging ...
(try_merge_blocks): ... here. New.
(merge_blocks_move_predecessor_nojumps): Remove edge arg.
Dump debugging data.
(merge_blocks_move_successor_nojumps): Likewise.
(merge_blocks): Use eh_beg+eh_end to validate block movement.
From-SVN: r29565
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 26b509c..13f8c47 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -144,6 +144,9 @@ typedef struct basic_block_def { int index; /* The loop depth of this block plus one. */ int loop_depth; + + /* The active eh region before head and after end. */ + int eh_beg, eh_end; } *basic_block; /* Number of basic blocks in the current function. */ |