diff options
| author | Daniel Sanders <daniel_l_sanders@apple.com> | 2017-01-19 11:15:55 +0000 |
|---|---|---|
| committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2017-01-19 11:15:55 +0000 |
| commit | d64d5024a4b80d6d909dc34232d024c4f4a86e1e (patch) | |
| tree | 8d7a1ce27b68da29dc55dba8e1427482f8847598 /llvm/utils/TableGen/TableGen.cpp | |
| parent | 207a68985be5cfd592c52fcbc4a8b9cde522aac2 (diff) | |
| download | bcm5719-llvm-d64d5024a4b80d6d909dc34232d024c4f4a86e1e.tar.gz bcm5719-llvm-d64d5024a4b80d6d909dc34232d024c4f4a86e1e.zip | |
Re-commit: [globalisel] Tablegen-erate current Register Bank Information
Summary:
Adds a RegisterBank tablegen class that can be used to declare the register
banks and an associated tablegen pass to generate the necessary code.
Changes since first commit attempt:
* Added missing guards
* Added more missing guards
* Found and fixed a use-after-free bug involving Twine locals
Reviewers: t.p.northover, ab, rovka, qcolombet
Reviewed By: qcolombet
Subscribers: aditya_nandakumar, rengolin, kristof.beyls, vkalintiris, mgorny, dberris, llvm-commits, rovka
Differential Revision: https://reviews.llvm.org/D27338
llvm-svn: 292478
Diffstat (limited to 'llvm/utils/TableGen/TableGen.cpp')
| -rw-r--r-- | llvm/utils/TableGen/TableGen.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/TableGen.cpp b/llvm/utils/TableGen/TableGen.cpp index 79a773161e4..c9a818e702a 100644 --- a/llvm/utils/TableGen/TableGen.cpp +++ b/llvm/utils/TableGen/TableGen.cpp @@ -46,6 +46,7 @@ enum ActionType { GenAttributes, GenSearchableTables, GenGlobalISel, + GenRegisterBank, }; namespace { @@ -94,7 +95,9 @@ namespace { clEnumValN(GenSearchableTables, "gen-searchable-tables", "Generate generic binary-searchable table"), clEnumValN(GenGlobalISel, "gen-global-isel", - "Generate GlobalISel selector"))); + "Generate GlobalISel selector"), + clEnumValN(GenRegisterBank, "gen-register-bank", + "Generate registers bank descriptions"))); cl::opt<std::string> Class("class", cl::desc("Print Enum list for this class"), @@ -182,6 +185,8 @@ bool LLVMTableGenMain(raw_ostream &OS, RecordKeeper &Records) { break; case GenGlobalISel: EmitGlobalISel(Records, OS); + case GenRegisterBank: + EmitRegisterBank(Records, OS); break; } |

