[tree-ssa] CFG EH improvements/cleanups #1
Jason Merrill
jason@redhat.com
Sun Jun 15 04:00:00 GMT 2003
On Sat, 14 Jun 2003 14:53:32 -0600, law@redhat.com wrote:
> case TRY_FINALLY_EXPR:
> + /* Record this TRY_FINALLY_EXPR as needing further processing. */
> VARRAY_PUSH_TREE (try_finallys, last);
>
> ! /* We used to try and optimize cases where the TRY block has no
> ! executable code. However that is unsafe in our container
> ! based intermediate representation. Consider what happens
> ! if the out-of-ssa pass wants to insert an instruction on the
> ! edge from the TRY_FINALLY_EXPR to the FINALLY block and there
> ! are multiple predecessors for the FINALLY block. There is
> ! no safe place to do the insertion without special casing to
> ! know the insertion can occur before the TRY_FINALLY_EXPR. */
If the try block has no executable code, there cannot be multiple
predecessors for the finally block.
Jason
More information about the Gcc-patches
mailing list