> From: Richard Henderson [mailto:r...@redhat.com] > On 09/06/2012 08:06 AM, Ian Bolton wrote: > > If I don't use my split pattern, I could alter combine to remove the > > requirement that parent is a MEM. > > > > What do you think? > > I merely question the calling out of CONST as special. > > Either you've got some pattern that handles SYMBOL_REF > the same way, or you're missing something.
Oh, I understand now. Thanks for clarifying. Some digging has shown me that the transformation keys off the equivalence, as highlighted below. It's always phrased in terms of a const and never a symbol_ref. after ud_dce: 6 r82:DI=high(`arr') 7 r81:DI=r82:DI+low(`arr') REG_DEAD: r82:DI REG_EQUAL: `arr' 8 r80:DI=r81:DI+0xc REG_DEAD: r81:DI REG_EQUAL: const(`arr'+0xc) <----- this equivalence after combine: 7 r80:DI=high(const(`arr'+0xc)) 8 r80:DI=r80:DI+low(const(`arr'+0xc)) REG_EQUAL: const(`arr'+0xc) <----- this equivalence Based on that, and assuming I remove the constraints on the pattern, would you say the patch is worthy of commit? Thanks, Ian