diff --git a/gcc/cfg.c b/gcc/cfg.c index cab66c6..ee2e42c 100644 --- a/gcc/cfg.c +++ b/gcc/cfg.c @@ -1066,6 +1066,18 @@ initialize_original_copy_tables (void) loop_copy = new hash_table (10); } +/* Reset the data structures to maintain mapping between blocks and + its copies. */ + +void +reset_original_copy_tables (void) +{ + gcc_assert (original_copy_bb_pool); + bb_original->empty (); + bb_copy->empty (); + loop_copy->empty (); +} + /* Free the data structures to maintain mapping between blocks and its copies. */ void diff --git a/gcc/cfg.h b/gcc/cfg.h index 6c8ba7e..ad935e3 100644 --- a/gcc/cfg.h +++ b/gcc/cfg.h @@ -108,6 +108,7 @@ extern void scale_bbs_frequencies_int (basic_block *, int, int, int); extern void scale_bbs_frequencies_gcov_type (basic_block *, int, gcov_type, gcov_type); extern void initialize_original_copy_tables (void); +extern void reset_original_copy_tables (void); extern void free_original_copy_tables (void); extern void set_bb_original (basic_block, basic_block); extern basic_block get_bb_original (basic_block);