> Ping. > > Thanks, > > Martin > > > On Sat, May 31, 2014 at 12:46:03AM +0200, Martin Jambor wrote: > > Hi, > > > > after a clone is materialized, its clone_of field is cleared which in > > PR 61211 leads to a failure in the skipped_thunk path in clone_of_p in > > cgraph.c, which then leads to a false positive verification failure. > > > > Fixed by the following patch. Bootstrapped and tested on x86_64-linux > > on both the trunk and the 4.9 branch. OK for both? > > > > Thanks, > > > > Martin > > > > > > 2014-05-30 Martin Jambor <mjam...@suse.cz> > > > > PR ipa/61211 > > * cgraph.c (clone_of_p): Allow skipped_branch to deal with > > expanded clones.
OK, thanks! Honza > > > > diff --git a/gcc/cgraph.c b/gcc/cgraph.c > > index ff65b86..f18f977 100644 > > --- a/gcc/cgraph.c > > +++ b/gcc/cgraph.c > > @@ -2566,11 +2566,16 @@ clone_of_p (struct cgraph_node *node, struct > > cgraph_node *node2) > > skipped_thunk = true; > > } > > > > - if (skipped_thunk > > - && (!node2->clone_of > > - || !node2->clone.args_to_skip > > - || !bitmap_bit_p (node2->clone.args_to_skip, 0))) > > - return false; > > + if (skipped_thunk) > > + { > > + if (!node2->clone.args_to_skip > > + || !bitmap_bit_p (node2->clone.args_to_skip, 0)) > > + return false; > > + if (node2->former_clone_of == node->decl) > > + return true; > > + else if (!node2->clone_of) > > + return false; > > + } > > > > while (node != node2 && node2) > > node2 = node2->clone_of;