This properly guards the bitmap_mem_desc.get_descriptor_for_instance
call with GATHER_STATISTICS - the hashmap is globally initialized
and thus a query isn't very well inline optimized even if the map
is empty.

Committed as obvious.

Richard.

2015-12-04  Richard Biener  <rguent...@suse.de>

        * bitmap.c (bitmap_find_bit): Guard the bitmap descriptor
        query with GATHER_STATISTICS.

Index: gcc/bitmap.c
===================================================================
--- gcc/bitmap.c        (revision 231256)
+++ gcc/bitmap.c        (working copy)
@@ -487,9 +487,11 @@ bitmap_find_bit (bitmap head, unsigned i
       && head->first->next == NULL)
     return NULL;
 
-   /* Usage can be NULL due to allocated bitmaps for which we do not
-      call initialize function.  */
-   bitmap_usage *usage = bitmap_mem_desc.get_descriptor_for_instance (head);
+  /* Usage can be NULL due to allocated bitmaps for which we do not
+     call initialize function.  */
+  bitmap_usage *usage = NULL;
+  if (GATHER_STATISTICS)
+    usage = bitmap_mem_desc.get_descriptor_for_instance (head);
 
   /* This bitmap has more than one element, and we're going to look
      through the elements list.  Count that as a search.  */

Reply via email to