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. > > 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;