This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] combine: Special handling for conditional refs when creating log links


On Fri, May 7, 2010 at 3:14 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> On Fri, May 7, 2010 at 2:59 PM, Andreas Krebbel
> <krebbel@linux.vnet.ibm.com> wrote:
>> If a conditional move writes to a memory location how would you express in
>> RTL that the memory location isn't always touched?
>
> I don't think you can.

I've briefly looked through the back ends that use COND_EXEC, to see
which cond_exec define_insns are not protected by reload_completed.

If I understand the spu backend correctly, it may create COND_EXEC
insns from builtins, i.e. before reload, see spu-builtins.md. They
compare a "normal" register (not predicate registers like on ia64) for
the COND_EXEC_TEST. See set_intr_cc. FR-V also has cond_exec
define_insns that are not protected by reload_completed, and perhaps
ARM also in cond_iwmmxt_movsi_insn. But for these targets I couldn't
figure out whether a builtin can produce these insns.

But all these define_insns may also be just latent bugs. Perhaps they
should all have been protected by reload_completed, but things just
work now if no-one tries to emit those insns before reload.

Ciao!
Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]