Message ID | 20121107143915.GB24044@virgil.arch.suse.de |
---|---|
State | New |
Headers | show |
On Wed, Nov 07, 2012 at 03:39:15PM +0100, Martin Jambor wrote: > another bootstrap finishes. I'm not sure if it would be OK to commit > it now, given it is stage3, though. OTOH, I think it would be worth > it. I'm ok with getting that in now from RM POV, but not familiar with the code enough to review it. So, if somebody acks it (Honza?), it can be added. > 2012-11-07 Martin Jambor <mjambor@suse.cz> > > * ipa-prop.c (determine_known_aggregate_parts): Skip writes to > different declarations when tracking writes to a declaration. > > Index: src/gcc/ipa-prop.c > =================================================================== > --- src.orig/gcc/ipa-prop.c > +++ src/gcc/ipa-prop.c > @@ -1318,7 +1318,12 @@ determine_known_aggregate_parts (gimple > break; > } > else if (lhs_base != arg_base) > - break; > + { > + if (DECL_P (lhs_base)) > + continue; > + else > + break; > + } > > if (lhs_offset + lhs_size < arg_offset > || lhs_offset >= (arg_offset + arg_size)) Jakub
> On Wed, Nov 07, 2012 at 03:39:15PM +0100, Martin Jambor wrote: > > another bootstrap finishes. I'm not sure if it would be OK to commit > > it now, given it is stage3, though. OTOH, I think it would be worth > > it. > > I'm ok with getting that in now from RM POV, but not familiar with the > code enough to review it. So, if somebody acks it (Honza?), it can be > added. > > > 2012-11-07 Martin Jambor <mjambor@suse.cz> > > > > * ipa-prop.c (determine_known_aggregate_parts): Skip writes to > > different declarations when tracking writes to a declaration. > > > > Index: src/gcc/ipa-prop.c > > =================================================================== > > --- src.orig/gcc/ipa-prop.c > > +++ src/gcc/ipa-prop.c > > @@ -1318,7 +1318,12 @@ determine_known_aggregate_parts (gimple > > break; > > } > > else if (lhs_base != arg_base) > > - break; > > + { > > + if (DECL_P (lhs_base)) > > + continue; > > + else > > + break; > > + } OK, so the point of patch is to not stop on writes to decls while looking for value the field is initialized to? It looks OK. Thanks, Honza > > > > if (lhs_offset + lhs_size < arg_offset > > || lhs_offset >= (arg_offset + arg_size)) > > Jakub
Index: src/gcc/ipa-prop.c =================================================================== --- src.orig/gcc/ipa-prop.c +++ src/gcc/ipa-prop.c @@ -1318,7 +1318,12 @@ determine_known_aggregate_parts (gimple break; } else if (lhs_base != arg_base) - break; + { + if (DECL_P (lhs_base)) + continue; + else + break; + } if (lhs_offset + lhs_size < arg_offset || lhs_offset >= (arg_offset + arg_size))