This is the mail archive of the gcc@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]

Re: CFG problems on alpha


> On Wed, Oct 24, 2001 at 09:42:02PM -0400, Richard Kenner wrote:
> > ../../egcs/gcc/cp/decl2.c:4397: Internal compiler error in
> > alloc_aux_for_edge, at cfg.c:649
> 
> I suspect 
> 
> Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
> 
>         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
>         to avoid update_life_info call.
>         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
>         * cfgcleanup.c (bb_flags): New enum.
>         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
>         (notice_new_block, update_forwarder_flag): New functions.
>         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
>         (try_forward_edges): Likewise; update flags.
>         (merge_blocks): Likewise.
>         (outgoing_edges_match): Likewise.
>         (try_crossjump_to_edge): Likewise.
>         (try_optimize_cfg): Likewise; initialize and clear the flags;
>         recompute life info if needed.
>         (cleanup_cfg): No need to clear aux pointers.
> 
> in that it probably left the aux field non-zero.  Which 
> trips the later sanity check.
I've just checked that and it don't appear to be the case, as try_optimize_cfg
always cleansup and find_unrechable_blocks don't use aux.  I will try
to hunt it after meeting I have to come in 10 minutes.
> 
> 
> r~


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