https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83346
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Fri Dec 22 08:50:30 2017 New Revision: 255968 URL: https://gcc.gnu.org/viewcvs?rev=255968&root=gcc&view=rev Log: Backported from mainline 2017-12-19 Jakub Jelinek <ja...@redhat.com> PR ipa/82801 PR ipa/83346 * ipa-inline.c (flatten_remove_node_hook): New function. (ipa_inline): Keep only nodes with flatten attribute at the end of the array in the order from ipa_reverse_postorder, only walk that portion of array for flattening, if there is more than one such node, temporarily register a removal hook and ignore removed nodes. * g++.dg/ipa/pr82801.C: New test. Added: branches/gcc-7-branch/gcc/testsuite/g++.dg/ipa/pr82801.C Modified: branches/gcc-7-branch/gcc/ChangeLog branches/gcc-7-branch/gcc/ipa-inline.c branches/gcc-7-branch/gcc/testsuite/ChangeLog