[llvm-dev] CCState.AllocateRegBlock from TargetCallingConv.td?

Robert Baruch via llvm-dev llvm-dev at lists.llvm.org
Sun Oct 29 16:55:38 PDT 2017


I see that the generated XGenCallingConv.inc includes this code for
the CCAssignToReg
action:

    if (unsigned Reg = State.AllocateReg(RegList1)) {
      State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo));
      return false;
    }

Is there any action that will call State.AllocateRegBlock? Specifically, I
have a bunch of i16 registers for return values. If a value is i16, I can
allocate one, but if a value is i32, I need to allocate a block of 2. I
wanted to use a tablegen file to specify this, since it would save me a lot
of coding. Can I get a confirmation that this is just not supported in a
.td file, and that I have to write the code myself?

Thanks,

--Rob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171029/69c13d53/attachment.html>


More information about the llvm-dev mailing list