]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/sese.c
[C++] Protect call to copy_attributes_to_builtin (PR91505)
[thirdparty/gcc.git] / gcc / sese.c
index 7fcda75a028c35d0c33dd5d1b7bebaf21b921f91..4b3065a2ee0ffbbf71bb870964232be0f7e4f572 100644 (file)
@@ -1,5 +1,5 @@
 /* Single entry single exit control flow regions.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
    Contributed by Jan Sjodin <jan.sjodin@amd.com> and
    Sebastian Pop <sebastian.pop@amd.com>.
 
@@ -149,19 +149,15 @@ sese_build_liveouts (sese_info_p region)
 sese_info_p
 new_sese_info (edge entry, edge exit)
 {
-  sese_info_p region = XNEW (struct sese_info_t);
+  sese_info_p region = XNEW (class sese_info_t);
 
   region->region.entry = entry;
   region->region.exit = exit;
   region->liveout = NULL;
   region->debug_liveout = NULL;
   region->params.create (3);
-  region->rename_map = new rename_map_t;
-  region->parameter_rename_map = new parameter_rename_map_t;
-  region->copied_bb_map = new bb_map_t;
+  region->rename_map = new hash_map <tree, tree>;
   region->bbs.create (3);
-  region->incomplete_phis.create (3);
-
 
   return region;
 }
@@ -175,24 +171,9 @@ free_sese_info (sese_info_p region)
   BITMAP_FREE (region->liveout);
   BITMAP_FREE (region->debug_liveout);
 
-  for (rename_map_t::iterator it = region->rename_map->begin ();
-       it != region->rename_map->end (); ++it)
-    (*it).second.release ();
-
-  for (bb_map_t::iterator it = region->copied_bb_map->begin ();
-       it != region->copied_bb_map->end (); ++it)
-    (*it).second.release ();
-
   delete region->rename_map;
-  delete region->parameter_rename_map;
-  delete region->copied_bb_map;
-
   region->rename_map = NULL;
-  region->parameter_rename_map = NULL;
-  region->copied_bb_map = NULL;
-
   region->bbs.release ();
-  region->incomplete_phis.release ();
 
   XDELETE (region);
 }
@@ -224,7 +205,7 @@ void
 sese_insert_phis_for_liveouts (sese_info_p region, basic_block bb,
                               edge false_e, edge true_e)
 {
-  if (MAY_HAVE_DEBUG_STMTS)
+  if (MAY_HAVE_DEBUG_BIND_STMTS)
     sese_reset_debug_liveouts (region);
 
   unsigned i;
@@ -236,10 +217,10 @@ sese_insert_phis_for_liveouts (sese_info_p region, basic_block bb,
 
 /* Returns the outermost loop in SCOP that contains BB.  */
 
-struct loop *
+class loop *
 outermost_loop_in_sese_1 (sese_l &region, basic_block bb)
 {
-  struct loop *nest;
+  class loop *nest;
 
   nest = bb->loop_father;
   while (loop_outer (nest)
@@ -479,7 +460,7 @@ sese_trivially_empty_bb_p (basic_block bb)
   gimple_stmt_iterator gsi;
 
   for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
-    if (gimple_code (gsi_stmt (gsi)) != GIMPLE_DEBUG
+    if (!is_gimple_debug (gsi_stmt (gsi))
        && gimple_code (gsi_stmt (gsi)) != GIMPLE_LABEL)
       return false;