Il 26/07/2012 04:25, Sandra Loosemore ha scritto: > On 07/25/2012 01:27 AM, Paolo Bonzini wrote: >> >> What I'm worried about is the extra cost of malloc-ing and free-ing >> the pointer set. Perhaps you can skip the pointer set creation in >> the common case where find_comparison_args does not iterate? >> Something like this: >> >> [snip] > > I think this version is a little neater; it just defers > initialization of the pointer set to the end of the loop.
But the while condition could still fail right after you create the set, and I would expect that to be the common case. Paolo > I checked > the test case on the two targets where we've previously observed > failures (the original one on MIPS and the current one on PowerPC), > as well as doing a full bootstrap and regression-test on x86_64. OK > to check in? > > -Sandra > > > 2012-07-25 Andrew Jenner <and...@codesourcery.com> Sandra Loosemore > <san...@codesourcery.com> > > gcc/ * cse.c (find_comparison_args): Check for cycles of any length. > > gcc/testsuite/ * gcc.c-torture/compile/pr50380.c: Add code to cause > cycle of length 2. >