@Alive vs. @Use Annotation
D.Sturm
D.Sturm42 at gmail.com
Wed Sep 11 08:52:46 PDT 2013
It does, but I can't understand how the explanation maps with the usage in
some situations. For example why the difference in annotation for trueValue
between FloatCondMoveOp and CondMoveOp in AMD64ControlFlow although the
code is otherwise identical? And why not use @Alive for
AMD64Compare.CompareOp?
On 11 September 2013 17:41, Doug Simon <doug.simon at oracle.com> wrote:
> The javadoc for the LIRInstruction.OperandMode constants should explain
> these annotations.
>
> On Sep 11, 2013, at 5:19 PM, "D.Sturm" <D.Sturm42 at gmail.com> wrote:
>
> > What is the difference between these two? Does @Alive mean I can only
> write
> > the value to a @Def register if that value has already been certainly
> > overwritten by a @Use value? (or use it for things like comparisons
> where I
> > don't write to any register?)
> >
> > This would explain why AMD64ControlFlow.CondMoveOp declares trueValue as
> > @Alive and falseValue as @Use, but then AMD64ControlFlow.FloatCondMoveOp
> > defines both trueValue and falseValue as @Alive although the code is
> > otherwise identical to CondMoveOp.
> >
> > Also this doesn't explain why x and y are @Use in AMD64Compare.CompareOp.
> >
> >
> > -Daniel
>
>
More information about the graal-dev
mailing list