@Use(REG, STACK)

Christian Wimmer christian.wimmer at oracle.com
Fri Apr 25 23:39:30 UTC 2014


Yes, you are correct.

STACK is a hint to the register allocator that it does not need to 
re-load a value to a register when it was spilled.

-Christian


On 04/25/2014 04:14 PM, Deneau, Tom wrote:
> Just checking, several of our hsail LIR Ops have annotations for source values like
>         @Use({REG, STACK, CONST}) protected Value x;
>
> which as I understand it means that the value x is allowed to be instanceof StackSlot.
>
> So unless the underlying emit code can handle Values which are StackSlots, we should remove STACK from the @Use, right?
> (Most HSAIL instructions are register only so we would need to emit explicit load instructions).
>
> If the above understanding is true, I'm kind of surprised we didn't hit more problems.
> Maybe we don't have enough junits that use up all the registers.
>
> -- Tom
>


More information about the graal-dev mailing list