summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Saunders <tsaunders@mozilla.com>2014-01-12 12:29:41 -0500
committerTrevor Saunders <tsaunders@mozilla.com>2014-02-18 22:44:40 -0500
commit9bca2474750f80c3dc81e5fb0fa27b64fd0314e3 (patch)
treeb75ea11f794292de2fb70df599db6e6dfd874f02
parent1d5764a33e04b45df067df566f8d3a974030946a (diff)
downloadgcc-9bca2474750f80c3dc81e5fb0fa27b64fd0314e3.tar.gz
use new[] / delete[] to allocate computed in tree-object-size.c
-rw-r--r--gcc/tree-object-size.c30
1 files changed, 13 insertions, 17 deletions
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c
index 42b3258990f..7849a4afc15 100644
--- a/gcc/tree-object-size.c
+++ b/gcc/tree-object-size.c
@@ -81,7 +81,7 @@ static void check_for_plus_in_loops_1 (struct object_size_info *, tree,
static vec<unsigned HOST_WIDE_INT> object_sizes[4];
/* Bitmaps what object sizes have been computed already. */
-static bitmap computed[4];
+static bitmap computed;
/* Maximum value of offset we consider to be addition. */
static unsigned HOST_WIDE_INT offset_limit;
@@ -197,7 +197,7 @@ addr_object_size (struct object_size_info *osi, const_tree ptr,
tree var = TREE_OPERAND (pt_var, 0);
if (osi->pass == 0)
collect_object_sizes_for (osi, var);
- if (computed[object_size_type]->bit (SSA_NAME_VERSION (var)))
+ if (computed[object_size_type].bit (SSA_NAME_VERSION (var)))
sz = object_sizes[object_size_type][SSA_NAME_VERSION (var)];
else
sz = unknown[object_size_type];
@@ -505,9 +505,9 @@ compute_builtin_object_size (tree ptr, int object_size_type)
if (TREE_CODE (ptr) == SSA_NAME
&& POINTER_TYPE_P (TREE_TYPE (ptr))
- && computed[object_size_type] != NULL)
+ && computed != NULL)
{
- if (!computed[object_size_type]->bit (SSA_NAME_VERSION (ptr)))
+ if (!computed[object_size_type].bit (SSA_NAME_VERSION (ptr)))
{
struct object_size_info osi;
bitmap_iterator bi;
@@ -593,7 +593,7 @@ compute_builtin_object_size (tree ptr, int object_size_type)
while (osi.changed);
}
EXECUTE_IF_SET_IN_BITMAP (&osi.reexamine, 0, i, bi)
- computed[object_size_type]->set_bit (i);
+ computed[object_size_type].set_bit (i);
/* Debugging dumps. */
if (dump_file)
@@ -896,7 +896,7 @@ collect_object_sizes_for (struct object_size_info *osi, tree var)
gimple stmt;
bool reexamine;
- if (computed[object_size_type]->bit (varno))
+ if (computed[object_size_type].bit (varno))
return;
if (osi->pass == 0)
@@ -1013,7 +1013,7 @@ collect_object_sizes_for (struct object_size_info *osi, tree var)
if (! reexamine
|| object_sizes[object_size_type][varno] == unknown[object_size_type])
{
- computed[object_size_type]->set_bit (varno);
+ computed[object_size_type].set_bit (varno);
osi->reexamine.clear_bit (varno);
}
else
@@ -1050,7 +1050,7 @@ check_for_plus_in_loops_1 (struct object_size_info *osi, tree var,
{
--sp;
osi->reexamine.clear_bit (*sp);
- computed[osi->object_size_type]->set_bit (*sp);
+ computed[osi->object_size_type].set_bit (*sp);
object_sizes[osi->object_size_type][*sp] = 0;
if (*sp == varno)
break;
@@ -1169,14 +1169,12 @@ init_object_sizes (void)
{
int object_size_type;
- if (computed[0])
+ if (computed)
return;
+ computed = new bitmap_head[4];
for (object_size_type = 0; object_size_type <= 3; object_size_type++)
- {
- object_sizes[object_size_type].safe_grow (num_ssa_names);
- computed[object_size_type] = BITMAP_ALLOC (NULL);
- }
+ object_sizes[object_size_type].safe_grow (num_ssa_names);
init_offset_limit ();
}
@@ -1189,11 +1187,9 @@ fini_object_sizes (void)
{
int object_size_type;
+ delete[] computed;
for (object_size_type = 0; object_size_type <= 3; object_size_type++)
- {
- object_sizes[object_size_type].release ();
- BITMAP_FREE (computed[object_size_type]);
- }
+ object_sizes[object_size_type].release ();
}