[LLVMdev] Storage-Only Register Class?

Justin Holewinski justin.holewinski at gmail.com
Thu Aug 8 07:35:46 PDT 2013


Is there a way to define a register class that is storage-only?  I want to
have an i8 register class that I can use for loads/stores/converts, but
that does not support arithmetic.

It seems addOperationAction(ISD::ADD, MVT::i8, Promote) and
SetPromotedToType(ISD::ADD, MVT::i8, MVT::i16) are not sufficient, as the
legalizer just looks at whether or not the underlying type is legal (which
it is).  So come instruction selection time I still have i8 adds.  Do I
need to custom handle all 8-bit arithmetic, or is there some way to have
the legalizer do the promotion like it would for an illegal type?


-- 

Thanks,

Justin Holewinski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130808/77f16e9c/attachment.html>


More information about the llvm-dev mailing list