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] Don't disallow copyprop for virtual ops for loop depth check


> 
> On 11/28/06, Andrew Pinski <pinskia@gmail.com> wrote:
> > Hi,
> >   I noticed for virtual operands, we don't copyprop some names if it was
> > a loop variant.  This is the correct thing for the normal operands but
> > for virtual operands, it makes less sense as we don't do coalescing on
> > virtual operands during out-of-ssa.  This patch has a side effect of
> > also making a bug in PRE latent (PR 29922).
> 
> The original check was not because of coalescing, but because we would
> copy prop in-loop variables outside the loop, causing *more*
> invariantness in nested loops.
> Why do you think this is different for virtual oeprands?

Because virtual operands are special.  For PHIs, they will never generate
any code at all and we can never have an invariant virtual operand that gets
copyproped into a loop that is not already invariant.  Virtual operands
copy prop can never change if a ssa name invariant or not as all are defined
(at least right now) by the same variable with a different ssa number.  That is
virtual operands are always linear.

I cannot think of any case which would cause a virtual operand copyprop cause more
invariantness.

Thanks,
Andrew Pinski


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