RFA: Make compare_and_jump_seq check that it has a jump insn
Nick Clifton
nickc@redhat.com
Thu Jun 24 11:04:00 GMT 2010
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
More information about the Gcc-patches
mailing list