https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82933
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dmalcolm at gcc dot gnu.org, | |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The problem is that dwarf2out.c relies on (*debug_hooks->assembly_start) (); being called before any RTL is finalized, which the __RTL handling in the C FE violates. This debug hook also can't be called more than once, and is invoked by cgraph. Would it be possible to stash the RTL somewhere into struct function or the tree, just set some flag and only perform run_rtl_passes when such a function is actually queued to be emitted?