http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54839
Bug #: 54839 Summary: INTEGER_CST is missed by uniuqify_nodes and soaks tons of memory Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: hubi...@gcc.gnu.org Created attachment 28377 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28377 patch Because integer_cst is streamed directly, it bypasses streamer cache. It however reffers to types and the types needs fixup. The attached patch provokes the problem by ggc_freeing the obsoletted types and also fixes it by adding to_fix vector. I wonder what is better option? Do we need to stream them differently? I guess integer_csts are often 0/1 and streaming always the whole thing seems wasteful.