This is the mail archive of the
mailing list for the GCC project.
Re: Fill more delay slots in conditional returns
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 01 Apr 2013 21:47:32 +0200
- Subject: Re: Fill more delay slots in conditional returns
- References: <1769120 dot Os7kk4Zj9I at polaris> <5155F37B dot 8080504 at redhat dot com>
> I'm not sure what this is supposed to do. How is pat == target ever
> going to be true when ANY_RETURN_P (pat) is true? Isn't target supposed
> to be a CODE_LABEL or NULL? What am I missing?
The simple_return change from Bernd. The JUMP_LABEL of a JUMP_INSN is now
either a CODE_LABEL or a RETURN or a SIMPLE_RETURN.
> What does the RTL for your conditional return look like
> (if_then_else (cond) (pc) (return))
> Where the (pc) and (return) can be reversed as well? That's what the
> later hunks in get_branch_condition seem to imply.
It's the usual support for branches and inverted branches applied to returns,
so I'm not sure what you're asking here. :-)
> The cleanup stuff is OK, check that in whenver you'd like.