summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Saunders <tsaunders@mozilla.com>2013-12-27 15:51:48 -0500
committerTrevor Saunders <tsaunders@mozilla.com>2014-02-18 22:44:35 -0500
commit892bdfc2d78a6a57597cc014c61e383ae44fe1c5 (patch)
tree8b9f74eea73cae27b5548426616a33b08ebdc69f
parentbcb2ec731b79bb748906551f3040f8c53cee0fe0 (diff)
downloadgcc-892bdfc2d78a6a57597cc014c61e383ae44fe1c5.tar.gz
bitmap_{first,last}_set_bit -> bitmap_head::{first,last}_set_bit
-rw-r--r--gcc/bitmap.c8
-rw-r--r--gcc/bitmap.h6
-rw-r--r--gcc/dominance.c5
-rw-r--r--gcc/tree-cfgcleanup.c2
-rw-r--r--gcc/tree-into-ssa.c2
-rw-r--r--gcc/tree-ssa-pre.c2
-rw-r--r--gcc/tree-ssa-sink.c2
-rw-r--r--gcc/tree-ssa-structalias.c4
-rw-r--r--gcc/tree-ssa-tail-merge.c12
-rw-r--r--gcc/tree-ssa-ter.c2
10 files changed, 20 insertions, 25 deletions
diff --git a/gcc/bitmap.c b/gcc/bitmap.c
index 452ad28b5ca..0773acb3438 100644
--- a/gcc/bitmap.c
+++ b/gcc/bitmap.c
@@ -794,9 +794,9 @@ bitmap_single_bit_set_p (const_bitmap a)
bitmap must be non-empty. */
unsigned
-bitmap_first_set_bit (const_bitmap a)
+bitmap_head::first_set_bit () const
{
- const bitmap_element *elt = a->first;
+ const bitmap_element *elt = first;
unsigned bit_no;
BITMAP_WORD word;
unsigned ix;
@@ -845,9 +845,9 @@ bitmap_first_set_bit (const_bitmap a)
bitmap must be non-empty. */
unsigned
-bitmap_last_set_bit (const_bitmap a)
+bitmap_head::last_set_bit () const
{
- const bitmap_element *elt = a->current ? a->current : a->first;
+ const bitmap_element *elt = current ? current : first;
unsigned bit_no;
BITMAP_WORD word;
int ix;
diff --git a/gcc/bitmap.h b/gcc/bitmap.h
index 257c8df2351..04402205574 100644
--- a/gcc/bitmap.h
+++ b/gcc/bitmap.h
@@ -199,6 +199,9 @@ struct GTY(()) bitmap_head {
}
~bitmap_head () { bitmap_clear (this); }
+ unsigned first_set_bit () const;
+ unsigned last_set_bit () const;
+
void swap (bitmap_head *);
/* Compute bitmap hash (for purposes of hashing etc.) */
@@ -313,9 +316,6 @@ inline void dump_bitmap (FILE *file, const_bitmap map)
extern void debug (const bitmap_head &ref);
extern void debug (const bitmap_head *ptr);
-extern unsigned bitmap_first_set_bit (const_bitmap);
-extern unsigned bitmap_last_set_bit (const_bitmap);
-
/* Allocate a bitmap from a bit obstack. */
#define BITMAP_ALLOC(OBSTACK) bitmap_obstack_alloc (OBSTACK)
diff --git a/gcc/dominance.c b/gcc/dominance.c
index 7d634f114d4..718e468401f 100644
--- a/gcc/dominance.c
+++ b/gcc/dominance.c
@@ -882,12 +882,11 @@ nearest_common_dominator (enum cdi_direction dir, basic_block bb1, basic_block b
basic_block
nearest_common_dominator_for_set (enum cdi_direction dir, bitmap blocks)
{
- unsigned i, first;
+ unsigned i;
bitmap_iterator bi;
basic_block dom;
- first = bitmap_first_set_bit (blocks);
- dom = BASIC_BLOCK_FOR_FN (cfun, first);
+ dom = BASIC_BLOCK_FOR_FN (cfun, blocks->first_set_bit ());
EXECUTE_IF_SET_IN_BITMAP (blocks, 0, i, bi)
if (dom != BASIC_BLOCK_FOR_FN (cfun, i))
dom = nearest_common_dominator (dir, dom, BASIC_BLOCK_FOR_FN (cfun, i));
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index e0767a82b10..b8c97c32e03 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -652,7 +652,7 @@ cleanup_tree_cfg_1 (void)
/* Now process the altered blocks, as long as any are available. */
while (!bitmap_empty_p (cfgcleanup_altered_bbs))
{
- i = bitmap_first_set_bit (cfgcleanup_altered_bbs);
+ i = cfgcleanup_altered_bbs->first_set_bit ();
bitmap_clear_bit (cfgcleanup_altered_bbs, i);
if (i < NUM_FIXED_BLOCKS)
continue;
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index 4f32025b178..1444fc765b1 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -554,7 +554,7 @@ set_livein_block (tree var, basic_block bb)
NEED_PHI_STATE_MAYBE. */
if (info->need_phi_state == NEED_PHI_STATE_NO)
{
- int def_block_index = bitmap_first_set_bit (db_p->def_blocks);
+ int def_block_index = db_p->def_blocks->first_set_bit ();
if (def_block_index == -1
|| ! dominated_by_p (CDI_DOMINATORS, bb,
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 14532929289..ba1cc963e11 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -4561,7 +4561,7 @@ remove_dead_inserted_code (void)
}
while (!bitmap_empty_p (worklist))
{
- i = bitmap_first_set_bit (worklist);
+ i = worklist->first_set_bit ();
bitmap_clear_bit (worklist, i);
t = SSA_NAME_DEF_STMT (ssa_name (i));
diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c
index ab421dd2e81..898961bb690 100644
--- a/gcc/tree-ssa-sink.c
+++ b/gcc/tree-ssa-sink.c
@@ -179,7 +179,7 @@ nearest_common_dominator_of_uses (gimple stmt, bool *debug_stmts)
bitmap_set_bit (&blocks, useblock->index);
}
}
- commondom = BASIC_BLOCK_FOR_FN (cfun, bitmap_first_set_bit (&blocks));
+ commondom = BASIC_BLOCK_FOR_FN (cfun, blocks.first_set_bit ());
EXECUTE_IF_SET_IN_BITMAP (&blocks, 0, j, bi)
commondom = nearest_common_dominator (CDI_DOMINATORS, commondom,
BASIC_BLOCK_FOR_FN (cfun, j));
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index e978dce92cc..430a01a31ac 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -1438,7 +1438,7 @@ scc_visit (constraint_graph_t graph, struct scc_info *si, unsigned int n)
bitmap_set_bit (scc, w);
}
- lowest_node = bitmap_first_set_bit (scc);
+ lowest_node = scc->first_set_bit ();
gcc_assert (lowest_node < FIRST_REF_NODE);
/* Collapse the SCC nodes into a single node, and mark the
@@ -6284,7 +6284,7 @@ pt_solution_singleton_p (struct pt_solution *pt, unsigned *uid)
|| !bitmap_single_bit_set_p (pt->vars))
return false;
- *uid = bitmap_first_set_bit (pt->vars);
+ *uid = pt->vars->first_set_bit ();
return true;
}
diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c
index 24bffedcbf1..093f0a1203d 100644
--- a/gcc/tree-ssa-tail-merge.c
+++ b/gcc/tree-ssa-tail-merge.c
@@ -453,8 +453,7 @@ same_succ_hash (const_same_succ e)
hashval_t hashval = e->succs->hash ();
int flags;
unsigned int i;
- unsigned int first = bitmap_first_set_bit (e->bbs);
- basic_block bb = BASIC_BLOCK_FOR_FN (cfun, first);
+ basic_block bb = BASIC_BLOCK_FOR_FN (cfun, e->bbs->first_set_bit ());
int size = 0;
gimple_stmt_iterator gsi;
gimple stmt;
@@ -548,7 +547,7 @@ inverse_flags (const_same_succ e1, const_same_succ e2)
int
same_succ_def::equal (const value_type *e1, const compare_type *e2)
{
- unsigned int i, first1, first2;
+ unsigned int i;
gimple_stmt_iterator gsi1, gsi2;
gimple s1, s2;
basic_block bb1, bb2;
@@ -569,11 +568,8 @@ same_succ_def::equal (const value_type *e1, const compare_type *e2)
return 0;
}
- first1 = bitmap_first_set_bit (e1->bbs);
- first2 = bitmap_first_set_bit (e2->bbs);
-
- bb1 = BASIC_BLOCK_FOR_FN (cfun, first1);
- bb2 = BASIC_BLOCK_FOR_FN (cfun, first2);
+ bb1 = BASIC_BLOCK_FOR_FN (cfun, e1->bbs->first_set_bit ());
+ bb2 = BASIC_BLOCK_FOR_FN (cfun, e2->bbs->first_set_bit ());
if (BB_SIZE (bb1) != BB_SIZE (bb2))
return 0;
diff --git a/gcc/tree-ssa-ter.c b/gcc/tree-ssa-ter.c
index 09dc3138a53..dd36221bd35 100644
--- a/gcc/tree-ssa-ter.c
+++ b/gcc/tree-ssa-ter.c
@@ -512,7 +512,7 @@ kill_expr (temp_expr_table_p tab, int partition)
finished_with_expr can modify the bitmap, so we can't execute over it. */
while (tab->kill_list[partition])
{
- version = bitmap_first_set_bit (tab->kill_list[partition]);
+ version = tab->kill_list[partition]->first_set_bit ();
finished_with_expr (tab, version, true);
}