On Tue, 14 Jun 2011, Bernd Schmidt wrote: > On 06/14/2011 10:43 AM, Richard Guenther wrote: > > The patch that reverted the MEM_ATTR comparison didn't come > > with a single testcase (ugh, I realize I approved it though ;)). > > > Bernd, do you have any testcases? > > It was a missed-optimization problem, but I think it only showed up with > a modified ARM backend, and it was a set of changes I threw away in the > end since I found a better fix. So, from that angle no objections if > it's reverted. > > Judging from the variable names the testcase was 253.perlbmk/op.c, but I > can't make the problem reappear at the moment - quite possibly because > I'm not fully remembering what I had changed in arm.c.
It's likely that due to MEM_REFs on the tree level we now detect more cases there. Btw, if we'd re-arrange the code to use NULL MEM_ATTRS for the canonical MEM whenever we see two non-equivalent MEM_ATTRS it should work again (no need to compare MEM_ALIAS_SET either then). Not sure where to do that check and MEM_ATTRS adjustment though (probably at hashtable lookup time). So I'd say we revert your patch for now and if somebody feels like implementing the above ... Richard.