aboutsummaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-09-21 14:15:37 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-09-21 14:15:37 -0700
commit336a6399a9ab84ac787c525ec2a2a469b8b488d5 (patch)
tree5f84bcf24f6d398455afd08aec40a0b90bdab8c1 /gcc/basic-block.h
parent9f14fb64049bc3598da0624b59c74a89abdee09d (diff)
downloadgcc-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.h3
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. */