[PATCH] D39386: [Power9] Allow gpr callee saved spills in prologue to vector registers rather than stack

Hal Finkel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 30 13:18:48 PDT 2017


hfinkel added a comment.

In https://reviews.llvm.org/D39386#910734, @syzaara wrote:

> In https://reviews.llvm.org/D39386#910018, @hfinkel wrote:
>
> > This is pretty neat.
> >
> > Is the CFI limitation temporary? I imagine that you can use MCCFIInstruction::createRegister to indicate that the value that used to be in the GPR is now in the vector register?
> >
> > Will be also be able to use this same infrastructure in order to save callee-saved condition registers to otherwise available GPRs (instead of to the stack)?
>
>
> The CFI limitation is temporary. I did notice the createRegister, but I don't think there is support in the debuggers/unwinders for moving from a vector register to a GPR.


Okay. I'd hope that this would "just work" (I don't see any special cases in how DW_CFA_register, etc. is handled in GCC's unwind-dw2.c that would lead me to believe that it wouldn't). I suppose we'll find out.

> Once we know how to handle this, we can remove the CFI limitation. The same infrastructure can be used for other available GPRs and I think createRegister should be able to handle that.




https://reviews.llvm.org/D39386





More information about the llvm-commits mailing list