> next is initialized only in the loop before, it is never updated > in it's own loop. > > gcc/ChangeLog > > 2019-11-15 Xiong Hu Luo <luo...@linux.ibm.com> > > * ipa-inline.c (inline_small_functions): Update iterator of next.
OK, thanks! Honza > --- > gcc/ipa-inline.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c > index 78ec0ec685f..96aefaf514b 100644 > --- a/gcc/ipa-inline.c > +++ b/gcc/ipa-inline.c > @@ -1945,12 +1945,15 @@ inline_small_functions (void) > } > if (has_speculative) > for (edge = node->callees; edge; edge = next) > - if (edge->speculative && !speculation_useful_p (edge, > - edge->aux != NULL)) > - { > - edge->resolve_speculation (); > - update = true; > - } > + { > + if (edge->speculative > + && !speculation_useful_p (edge, edge->aux != NULL)) > + { > + edge->resolve_speculation (); > + update = true; > + } > + next = edge->next_callee; > + } > if (update) > { > struct cgraph_node *where = node->inlined_to > -- > 2.21.0.777.g83232e3864 >