This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: CFG problems on alpha
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Subject: Re: CFG problems on alpha
- From: Richard Henderson <rth at redhat dot com>
- Date: Wed, 24 Oct 2001 22:55:43 -0700
- Cc: gcc at gcc dot gnu dot org, jh at suse dot cz
- References: <10110250142.AA11251@vlsi1.ultra.nyu.edu>
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.
r~