From 2aae99f7a4ff1adb7b7b557eb98eccce83a437dc Mon Sep 17 00:00:00 2001 From: Xiong Hu Luo Date: Fri, 15 Nov 2019 08:15:37 +0000 Subject: [PATCH] Update iterator of next 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 * ipa-inline.c (inline_small_functions): Update iterator of next. From-SVN: r278277 --- gcc/ChangeLog | 4 ++++ gcc/ipa-inline.c | 15 +++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a811edbcc56..cd8e656540b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2019-11-15 Xiong Hu Luo + + * ipa-inline.c (inline_small_functions): Update iterator of next. + 2019-11-14 Kwok Cheung Yeung * lra-spills.c (assign_spill_hard_regs): Check that the spill diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index b5e009696b7..85521ed2888 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1931,12 +1931,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.30.2