https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117350
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |15.0 Ever confirmed|0 |1 CC| |hubicka at gcc dot gnu.org Summary|ICE in pretty print during |[15 Regression] ICE in |bootstrap |pretty print during | |bootstrap Status|UNCONFIRMED |NEW Component|ipa |gcov-profile --- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Actually I am kinda of wrong about what is going on but right about why though. So autofdo is looking up a decl but since we have free'd the front-end specific part of the decls but for some reason the decl's decl_assembler_name was not set during the free time we crash. #9 0x00000000024e1007 in autofdo::string_table::get_index_by_decl (this=0x34c0b9c0, decl=<optimized out>) So this was exposed by r15-4610-gbf43fe6aa966ea which started to use std::unique_ptr . So the question is why the constructor's decl (<function_decl 0x7f17c25e7f00 __ct >) didn't gets assembler name set during pass_ipa_free_lang_data . #8 0x00000000016ad32b in decl_assembler_name (decl=<function_decl 0x7f17c25e7f00 __ct >) at ../../gcc/gcc/tree.cc:728