https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63595
--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> --- Merged function by IPA ICF after expand_thunk is called: Triangulation<dim>::raw_quad_iterator Triangulation<dim>::end_quad() const [with int dim = 3; Triangulation<dim>::raw_quad_iterator = TriaRawIterator<3, TriaObjectAccessor<2, 3> >] (const struct Triangulation * const this) { <bb 2>: # DEBUG this => _2(D) # DEBUG parent => this_3(D) # DEBUG level => -1 # DEBUG index => -1 # DEBUG local_data => 0B # DEBUG this => _2(D) # DEBUG D#265 => &MEM[(struct TriaRawIterator *)_2(D)].accessor # DEBUG this => D#265 # DEBUG parent => this_3(D) # DEBUG level => -1 # DEBUG index => -1 # DEBUG local_data => 0B # DEBUG D#264 => &D#265->D.46601 # DEBUG this => D#264 # DEBUG parent => this_3(D) # DEBUG level => -1 # DEBUG index => -1 # DEBUG D.101330 => 0B MEM[(struct TriaAccessor *)_2(D)].present_level = -1; MEM[(struct TriaAccessor *)_2(D)].present_index = -1; MEM[(struct TriaAccessor *)_2(D)].tria = this_3(D); return _2(D); } Triangulation<dim>::raw_cell_iterator Triangulation<dim>::end() const [with int dim = 3; Triangulation<dim>::raw_cell_iterator = TriaRawIterator<3, CellAccessor<3> >] (const struct Triangulation * const this) { <bb 2>: Triangulation<3>::end_quad (this_2(D)); [tail call] return; }