Thomson
2014-Jan-19 10:19 UTC
[LLVMdev] Why make the register list a dag for RegisterClass in target descriptor file?
The blow snippet in target.td shows the regList in RegisterClass is typed as dag. Why not make it a simple list, such as list<Register>? class RegisterClass<string namespace, list<ValueType> regTypes, int alignment, dag regList> Thanks, -Thomson -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140119/86188ec8/attachment.html>
Tim Northover
2014-Jan-19 11:57 UTC
[LLVMdev] Why make the register list a dag for RegisterClass in target descriptor file?
On 19 January 2014 10:19, Thomson <lilotom at gmail.com> wrote:> The blow snippet in target.td shows the regList in RegisterClass is typed as > dag. Why not make it a simple list, such as list<Register>?I don't know about the original reason, but these days we have a few operators in use to make constructing those sets easier which would be much harder to do for lists. E.g. "(sequence "R%u", 0, 12)", "(sub GPR, PC)" from ARM. Cheers. Tim.
Thomson
2014-Jan-20 00:59 UTC
[LLVMdev] Why make the register list a dag for RegisterClass in target descriptor file?
Thanks Tim. Is there any document about these operators? Such how does each set represent a different RegClass? -Thomson On Sun, Jan 19, 2014 at 7:57 PM, Tim Northover <t.p.northover at gmail.com>wrote:> On 19 January 2014 10:19, Thomson <lilotom at gmail.com> wrote: > > The blow snippet in target.td shows the regList in RegisterClass is > typed as > > dag. Why not make it a simple list, such as list<Register>? > > I don't know about the original reason, but these days we have a few > operators in use to make constructing those sets easier which would be > much harder to do for lists. E.g. "(sequence "R%u", 0, 12)", "(sub > GPR, PC)" from ARM. > > Cheers. > > Tim. >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140120/055ff90c/attachment.html>