This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: small -freorder-block defect
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: PATCH: small -freorder-block defect
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 14 Mar 2000 07:54:11 -0700
- cc: Jason Eckhardt <jle at cygnus dot com>, gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <20000314000647.E1153@cygnus.com>you write:
> On Sun, Mar 12, 2000 at 07:22:07PM -0800, Jason Eckhardt wrote:
> > ! verify_flow_info ();
> > ! {
> > ! rtx x;
> > ! for (x = get_insns(); x; x = NEXT_INSN (x))
> > ! {
> > ! if (GET_RTX_CLASS (GET_CODE (x)) == 'i'
> > ! && GET_CODE (x) == JUMP_INSN
> > ! && returnjump_p (x)
> > ! && ! (NEXT_INSN (x) && GET_CODE (NEXT_INSN (x)) == BARRIE
> R))
> > ! error ("reorder_basic_blocks: RETURN not followed by BARRIE
> R!\n");
> > ! }
>
> Put this check in verify_flow_info. And we should abort rather
> than emit an error.
Agreed.
Jason -- We want as many of these kinds of checks in verify_flow_info so
that they can be checked for by other routines that modify the cfg and/or the
insn stream by just calling verify_flow_info. And the standard way to deal
with "can't happen" situations to call abort (), not issue an error.
jeff