This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Bug ada/26796] [4.2 Regression] ACATS ICE c34002a c52005 spurious storage_error


On Wed, 2006-03-22 at 19:28 +0000, ebotcazou at gcc dot gnu dot org
wrote:
> 
> ------- Comment #2 from ebotcazou at gcc dot gnu dot org  2006-03-22 19:27 -------
> The 2 failures have been introduced by the following change:
> 
> 2006-03-20  Jeff Law  <law@redhat.com>
> 
>         * tree-pass.h (pass_phi_only_copy_prop): Delete.
>         (pass_phi_only_cprop): Declare.
>         * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
>         with phi_only_cprop
>         * tree-ssa-dom.c (degenerate_phi_result): New function.
>         (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
>         (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
>         (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
>         (eliminate_degenerate_phis): Likewise.
>         (pass_phi_only_cprop): New pass descriptor.
>         * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
>         support code.  Callers updated.
>         (execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
>         (store_copy_prop): Likewise.
>         (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.

The problem is that phi-cprop managed to perform some propagations
which ultimately led it to proving certain EH edges were not executable.

So we dutifully purged the EH edges, which in turn wiped out the
dominator tree.  Opps.  I wasn't aware of that little tidbit
(forwprop doesn't use the DOM tree, so it doesn't have this
issue).

As it turns out DOM already has a mechanism to deal with queued
blocks needing EH edge cleanups.  So I tweaked the phi-cprop
pass to use that existing mechanism.

Bootstrapped and regression tested on i686-pc-linux-gnu (ada included).
Fixes c340002a and c52005.


Attachment: PPP
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]