@Alive vs. @Use Annotation

Doug Simon doug.simon at oracle.com
Wed Sep 11 08:41:25 PDT 2013


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