GCSE botch with EH case
Daniel Berlin
dberlin@dberlin.org
Sun Aug 15 21:30:00 GMT 2004
On Aug 15, 2004, at 4:50 PM, Richard Kenner wrote:
> This causes trapping expressions to be not transparent/antic in
> blocks
> whose predecessors are abnormal. For store motion, you need to do
> the
> same, except they can't be transparent/antic in blocks whose
> successor
> edges are abnormal edges. This will prevent it from pushing stores
> down across abnormal edges.
>
> I don't follow. The stores in question aren't trapping expressions.
> The
> issue isn't that the store could trap (it can't), but that it is being
> moved
> from a block which is the normal case into the block corresponding to a
> handler.
You've missed the basic point:
You want to prevent stores from being pushed down across abnormal
edges, out of a normal block, into a handler.
To do this, you do the same type of thing that is being done for
trapping expressions in PRE, except you do it for all stores.
> So I don't see how that code you mention is related to this problem
> from what you and the comments in that code says.
More information about the Gcc
mailing list