/* 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>.
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;
}
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);
}
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;
/* Returns the outermost loop in SCOP that contains BB. */
-struct loop *
+class loop *
outermost_loop_in_sese_1 (sese_l ®ion, basic_block bb)
{
- struct loop *nest;
+ class loop *nest;
nest = bb->loop_father;
while (loop_outer (nest)
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;