summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/TableGen.cpp
diff options
context:
space:
mode:
authorDaniel Sanders <daniel_l_sanders@apple.com>2017-01-19 11:15:55 +0000
committerDaniel Sanders <daniel_l_sanders@apple.com>2017-01-19 11:15:55 +0000
commitd64d5024a4b80d6d909dc34232d024c4f4a86e1e (patch)
tree8d7a1ce27b68da29dc55dba8e1427482f8847598 /llvm/utils/TableGen/TableGen.cpp
parent207a68985be5cfd592c52fcbc4a8b9cde522aac2 (diff)
downloadbcm5719-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.cpp7
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;
}
OpenPOWER on IntegriCloud