This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] combine: Special handling for conditional refs when creating log links
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Alexander Monakov <amonakov at ispras dot ru>
- Cc: Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 7 May 2010 14:41:04 +0200
- Subject: Re: [PATCH] combine: Special handling for conditional refs when creating log links
- References: <20100507112822.GA12563@bart> <alpine.LNX.2.00.1005071554060.11133@monoid.intra.ispras.ru>
On Fri, May 7, 2010 at 2:03 PM, Alexander Monakov <amonakov@ispras.ru> wrote:
>
>
> On Fri, 7 May 2010, Andreas Krebbel wrote:
>
>> I've tested the patch on x86_64 and s390x. ?But a real test would
>> require a cond_exec target like ia64.
>
> No, on ia64 and arm COND_EXECs don't appear until rather late in the RTL
> pipeline. ?I don't recall where exactly they are generated, but e.g.
> if-conversion produces COND_EXECs only after reload.
Yes. Passes like ifcvt, the splitters, and machine reorgs are the only
passes that introduce COND_EXECs (and perhaps the selective
scheduler?).
> Is presence of COND_EXECs really supported by the pre-reload RTL passes?
No. Not at all. Never were, probably never will be. One major problem
is that reload doesn't know how to spill from COND_EXEC insns, but
apart from that, there are just no passes that would know what to do
with COND_EXEC insns and all of them would have to be modified.
Ciao!
Steven