Commit 7eeb6fc2 by Richard Biener Committed by Richard Biener

re PR middle-end/89150 (Tree form bitmaps break GC)

2019-02-05  Richard Biener  <rguenther@suse.de>

	PR middle-end/89150
	* bitmap.h (struct bitmap_obstack): Do not mark GTY.
	(struct bitmap_element): Drop chain_prev so we properly recurse on
	the prev member, supporting tree views.
	(struct bitmap_head): GTY skip the obstack member.

From-SVN: r268530
parent e1bbb0bc
2019-02-05 Richard Biener <rguenther@suse.de>
PR middle-end/89150
* bitmap.h (struct bitmap_obstack): Do not mark GTY.
(struct bitmap_element): Drop chain_prev so we properly recurse on
the prev member, supporting tree views.
(struct bitmap_head): GTY skip the obstack member.
2019-02-04 Alexander Monakov <amonakov@ispras.ru>
PR c/88698
......
......@@ -288,10 +288,10 @@ typedef unsigned long BITMAP_WORD;
#define BITMAP_ELEMENT_ALL_BITS (BITMAP_ELEMENT_WORDS * BITMAP_WORD_BITS)
/* Obstack for allocating bitmaps and elements from. */
struct GTY (()) bitmap_obstack {
struct bitmap_obstack {
struct bitmap_element *elements;
struct bitmap_head *heads;
struct obstack GTY ((skip)) obstack;
struct obstack obstack;
};
/* Bitmap set element. We use a linked list to hold only the bits that
......@@ -306,7 +306,7 @@ struct GTY (()) bitmap_obstack {
bitmap_elt_clear_from to be implemented in unit time rather than
linear in the number of elements to be freed. */
struct GTY((chain_next ("%h.next"), chain_prev ("%h.prev"))) bitmap_element {
struct GTY((chain_next ("%h.next"))) bitmap_element {
/* In list form, the next element in the linked list;
in tree form, the left child node in the tree. */
struct bitmap_element *next;
......@@ -340,7 +340,7 @@ struct GTY(()) bitmap_head {
/* Last element looked at. */
bitmap_element * GTY((skip(""))) current;
/* Obstack to allocate elements from. If NULL, then use GGC allocation. */
bitmap_obstack *obstack;
bitmap_obstack * GTY((skip(""))) obstack;
void dump ();
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment