cfg.c (reset_original_copy_tables): New func.
authorBin Cheng <bin.cheng@arm.com>
Thu, 13 Oct 2016 10:52:00 +0000 (10:52 +0000)
committerBin Cheng <amker@gcc.gnu.org>
Thu, 13 Oct 2016 10:52:00 +0000 (10:52 +0000)
* cfg.c (reset_original_copy_tables): New func.
* cfg.h (reset_original_copy_tables): New decl.

From-SVN: r241095

gcc/ChangeLog
gcc/cfg.c
gcc/cfg.h

index b2b3ab5804c6388d092275fbc514fff58d56b9f6..242805eeda7fa9b5332c45e43ea4a2f74079063d 100644 (file)
@@ -1,3 +1,8 @@
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+       * cfg.c (reset_original_copy_tables): New func.
+       * cfg.h (reset_original_copy_tables): New decl.
+
 2016-10-13  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/77946
index cab66c67d4aef3a987ba96f5eafc2d53ecfae996..ee2e42c1f80e66c0275fce7095fc053a8c883f8e 100644 (file)
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -1066,6 +1066,18 @@ initialize_original_copy_tables (void)
   loop_copy = new hash_table<bb_copy_hasher> (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
index 6c8ba7e8f10f7b4acd5a9cc2dfad3713a72d6843..ad935e3ee08895c0b68b6cc1c176ccb7ee3e0ccd 100644 (file)
--- 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);