Question on aggregates and GIMPLE

Richard Henderson rth@redhat.com
Thu Jun 10 16:46:00 GMT 2004


On Thu, Jun 10, 2004 at 12:09:26AM -0400, Jason Merrill wrote:
> > Hmm.  I don't suppose
> >
> >           || (flag_non_call_exceptions && tree_could_trap_p (*from_p))
> >
> > is true in gimplify_modify_expr?  If so, I'm not sure how to approach
> > this.  Other languages require that MODIFY_EXPRs be atomic.
> 
> I was looking at this earlier today, and thinking that we should probably
> disable this for aggregates, or at least for aggregate_value_p types.
> Do you remember the case which inspired this check?

Any Java test, iirc.  The thing we wanted to be able to do is
process an entire block (and its data flow) naturally.  Doing
so in this situation leads us to believe that the assignment
has occurred, and so the previous lhs value is dead.

This problem would be easier moderate with aggregates; we just
need to avoid using one of Brian's new V_MUST_DEF nodes.


r~



More information about the Gcc mailing list