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