store the bitmap_head within the auto_bitmap
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>
Sun, 14 May 2017 00:38:24 +0000 (00:38 +0000)
committerTrevor Saunders <tbsaunde@gcc.gnu.org>
Sun, 14 May 2017 00:38:24 +0000 (00:38 +0000)
commita4d51bfbc600be2acc90dc413c14602ec9cb3edc
tree9557f465098de3e0946bb81ac68286e0a754c524
parent470e7e5650dd440822f71133baf799a3f9fd84f3
store the bitmap_head within the auto_bitmap

This gets rid of one allocation per bitmap.  Often the bitmap_head is
now on the stack, when it isn't its part of some other struct on the
heap instead of being refered to by that struct.  On 64 bit platforms
this will increase the size of such structs by 24 bytes, but its an over
all win since we don't need an 8 byte pointer pointing at the
bitmap_head.  Given that the auto_bitmap owns the bitmap_head anyway we
know there would never be a place where two auto_bitmaps would refer to
the same bitmap_head object.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bitmap.h (class auto_bitmap): Change type of m_bits to
bitmap_head, and adjust ctor / dtor and member operators.

From-SVN: r248017
gcc/ChangeLog
gcc/bitmap.h