https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65536
--- Comment #48 from Jan Hubicka <hubicka at gcc dot gnu.org> --- I run memory statistics with the cache and my patch. I will run stats with cache w/o the libcpp patch tomorrow. I would like to get this problem solved, but perhaps we want to only track down the reason for wrong line numbers and do more tuning next stage1 & backport. I suppose I can implement checking that will lookup location after every insert to double check lines are not garbled. Dropped columns are I guess acceptable (it would be nice to drop the wrong carrets then) So for memory use: realloc_for_line_map is now at 16810000: 0.9% of GGC memory use pre-IPA. This is definitly improvement. Gimple streaming however push it up to 75497496:4.2% I guess this suggest that caching blocks and gimple stmt locators would make a lot of difference. ltrans report 4194328: 5.4% post main decl streaming, but before bodies are read in.