[LLVMdev] Can TargetInstrInfo::storeRegToStackSlot use temp/virtual regs?
Dan Gohman
gohman at apple.com
Mon Jan 26 13:28:14 PST 2009
On Jan 23, 2009, at 3:28 AM, Mondada Gabriele wrote:
> Hi,
> I'm implementing storeRegToStackSlot() and, in order to store some
> specific registers (floating point regs and address regs) I've to
> copy them to more standard regs and copy these last ones to the slot.
> I tried to generate instructions that use physical registers, but by
> doing that I overwrote registers already assigned by the register
> allocator.
> Is it possible to use virtual registers in the instructions
> generated by storeRegToStackSlot()?
> This function is called by the register allocator. So, if it needs
> to store regs on a slot, this means that there is no more registers
> available. So, I cannot believe that it is able to allocate new
> virtual registers generated by storeRegToStackSlot().
Your analysis here sounds right. The current design with
storeRegToStackSlot currently assumes that any register
can be stored without requiring intermediate registers.
>
> What is the good way to implement this ?
It looks like you'll have to make your own way here. If
you find a good solution, perhaps others with similar needs
may be able to follow.
Dan
More information about the llvm-dev
mailing list