Suggestion for a fix to Bug middle-end/20177
Steven Bosscher
stevenb@suse.de
Wed Mar 16 17:24:00 GMT 2005
On Mar 16, 2005 05:11 PM, Mostafa Hagog <MUSTAFA@il.ibm.com> wrote:
>
>
>
>
> kenner@vlsi1.ultra.nyu.edu (Richard Kenner) wrote on 16/03/2005 17:27:59:
>
> > REG_NOTE (NONNEG)
> > REG_NOTE (NO_CONFLICT)
> > REG_NOTE (UNUSED)
> > mustn't be copied
> > describe a fact about other instructions so this
> > may change if copied.
> >
> > Tricky. Often UNUSED means that we're allocating a psuedo for some
> temporary
> > which we know isn't used.
>
> I suppose this is a function level information - meaning: the rgister is
> not used all over the
> function- so we can (and should) copy it.
>
> >
> > REG_NOTE (CC_SETTER)
> > REG_NOTE (CC_USER)
> > I suppose that using CC0 is possible only in branch
> > instructions (correct
> > me if I am wrong)
> >
> > It can also be used in "scc" insns.
>
> This is interesting, so there could be cases were want to copy CC register
> when doing SMS. what happens if we want to move the set of a CC to
> another iteration of the loop ? or the use of the CC ?
> but usually this is couldn't happen in a simple loop, right? the use of CC
> is
> eventually used in a branch, or there is something that I am missing ?
IIRC these notes are for CCO, and you have to move the CC setter
and user together.
Actually I think SMS for CC0 targets is Just Silly to do at all ;-)
Gr.
Steven
the CC setter is always th
More information about the Gcc
mailing list