https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87988
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Created attachment 45092 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45092&action=edit better patch This is a less hacky approach mimicking TREE_DIEs. It elides BLOCK BLOCK_ABSTRACT_ORIGIN if that is a BLOCK. Downside is that the elided BLOCKs are re-materialized for each _use_ as BLOCK_ABSTRACT_ORIGIN (that can probably be fixed though with some extra overhead). Also the overhead for streaming is one NULL pointer in case BLOCK_ABSTRACT_ORIGIN is not set. Honza - can you test the effect of this patch please? I'll throw it on a LTO boostrap, it at least survives lto.exp testing ;)