summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-forwprop.c
diff options
context:
space:
mode:
authorTrevor Saunders <tsaunders@mozilla.com>2013-11-14 05:56:59 -0500
committerTrevor Saunders <tsaunders@mozilla.com>2013-11-15 20:10:56 -0500
commit994ab8bb4b8a0ba60ddb3a669f510dd56d7ccae4 (patch)
tree4ee2d43c1f02a52325af9bde6e5cafac422034a0 /gcc/tree-ssa-forwprop.c
parentc5e121d5bfabffc4b75c327a374816fc6a01fd6d (diff)
downloadgcc-994ab8bb4b8a0ba60ddb3a669f510dd56d7ccae4.tar.gz
add ctor / dtor to bitmap_head
Diffstat (limited to 'gcc/tree-ssa-forwprop.c')
-rw-r--r--gcc/tree-ssa-forwprop.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index a6afb47a4db..69d915840b7 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -1293,7 +1293,6 @@ simplify_gimple_switch_label_vec (gimple stmt, tree index_type)
len = labels.length ();
if (len < branch_num - 1)
{
- bitmap target_blocks;
edge_iterator ei;
edge e;
@@ -1317,16 +1316,16 @@ simplify_gimple_switch_label_vec (gimple stmt, tree index_type)
gimple_switch_set_num_labels (stmt, len + 1);
/* Cleanup any edges that are now dead. */
- target_blocks = BITMAP_ALLOC (NULL);
+ bitmap_head target_blocks;
for (i = 0; i < gimple_switch_num_labels (stmt); i++)
{
tree elt = gimple_switch_label (stmt, i);
basic_block target = label_to_block (CASE_LABEL (elt));
- bitmap_set_bit (target_blocks, target->index);
+ bitmap_set_bit (&target_blocks, target->index);
}
for (ei = ei_start (gimple_bb (stmt)->succs); (e = ei_safe_edge (ei)); )
{
- if (! bitmap_bit_p (target_blocks, e->dest->index))
+ if (! bitmap_bit_p (&target_blocks, e->dest->index))
{
remove_edge (e);
cfg_changed = true;
@@ -1335,7 +1334,6 @@ simplify_gimple_switch_label_vec (gimple stmt, tree index_type)
else
ei_next (&ei);
}
- BITMAP_FREE (target_blocks);
}
labels.release ();