This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA: Make compare_and_jump_seq check that it has a jump insn
- From: Nick Clifton <nickc at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 24 Jun 2010 10:50:17 +0100
- Subject: Re: RFA: Make compare_and_jump_seq check that it has a jump insn
- References: <m31vbydq3e.fsf@redhat.com> <4C223514.6020804@redhat.com>
Hi Jeff,
OK.
Thanks.
Presumably it was a port error that was causing do_compare_rtx_and_jump
to return a CODE_LABEL --
Right.
it certainly seems quite odd to get that as
the final insn from a compare & jump sequence.
The backend was converting:
(set (cc) (compare) (foo) (bar))
(set (pc) (if_then_else) (compare (cc) (const_int 0))
(label)
(pc))
into:
(set (cc) (reversed compare) (foo) (bar))
(set (pc) (if_then_else (compare (cc) (const_int 0))
(over-label)
(pc))
(set (pc) (label))
(over-label)
Hence there was a label as the last instruction. After tracking this
down I realised that it was silly to have the backend try to build to
build constructions like this when gcc can do a much better job
itself... :-)
Cheers
Nick