Skip to content

Commit

Permalink
[tablegen] Use categories on options that only matter to one emitter.
Browse files Browse the repository at this point in the history
Summary:
The categories are emitted in a strange order in this patch due to a bug in the
CommandLine library.

Reviewers: ab

Reviewed By: ab

Subscribers: ab, llvm-commits

Differential Revision: https://reviews.llvm.org/D30995

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298843 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
dsandersllvm committed Mar 27, 2017
1 parent acec6ed commit d5d8607
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 12 deletions.
7 changes: 5 additions & 2 deletions utils/TableGen/AsmMatcherEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,12 @@ using namespace llvm;

#define DEBUG_TYPE "asm-matcher-emitter"

cl::OptionCategory AsmMatcherEmitterCat("Options for -gen-asm-matcher");

static cl::opt<std::string>
MatchPrefix("match-prefix", cl::init(""),
cl::desc("Only match instructions with the given prefix"));
MatchPrefix("match-prefix", cl::init(""),
cl::desc("Only match instructions with the given prefix"),
cl::cat(AsmMatcherEmitterCat));

namespace {
class AsmMatcherInfo;
Expand Down
13 changes: 9 additions & 4 deletions utils/TableGen/CodeGenTarget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,18 @@
#include <algorithm>
using namespace llvm;

cl::OptionCategory AsmParserCat("Options for -gen-asm-parser");
cl::OptionCategory AsmWriterCat("Options for -gen-asm-writer");

static cl::opt<unsigned>
AsmParserNum("asmparsernum", cl::init(0),
cl::desc("Make -gen-asm-parser emit assembly parser #N"));
AsmParserNum("asmparsernum", cl::init(0),
cl::desc("Make -gen-asm-parser emit assembly parser #N"),
cl::cat(AsmParserCat));

static cl::opt<unsigned>
AsmWriterNum("asmwriternum", cl::init(0),
cl::desc("Make -gen-asm-writer emit assembly writer #N"));
AsmWriterNum("asmwriternum", cl::init(0),
cl::desc("Make -gen-asm-writer emit assembly writer #N"),
cl::cat(AsmWriterCat));

/// getValueType - Return the MVT::SimpleValueType that the specified TableGen
/// record corresponds to.
Expand Down
10 changes: 6 additions & 4 deletions utils/TableGen/DAGISelMatcherEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,17 @@ enum {
CommentIndent = 30
};

cl::OptionCategory DAGISelCat("Options for -gen-dag-isel");

// To reduce generated source code size.
static cl::opt<bool>
OmitComments("omit-comments", cl::desc("Do not generate comments"),
cl::init(false));
static cl::opt<bool> OmitComments("omit-comments",
cl::desc("Do not generate comments"),
cl::init(false), cl::cat(DAGISelCat));

static cl::opt<bool> InstrumentCoverage(
"instrument-coverage",
cl::desc("Generates tables to help identify patterns matched"),
cl::init(false));
cl::init(false), cl::cat(DAGISelCat));

namespace {
class MatcherTableEmitter {
Expand Down
4 changes: 3 additions & 1 deletion utils/TableGen/GlobalISelEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,13 @@ STATISTIC(NumPatternImported, "Number of patterns imported from SelectionDAG");
STATISTIC(NumPatternImportsSkipped, "Number of SelectionDAG imports skipped");
STATISTIC(NumPatternEmitted, "Number of patterns emitted");

cl::OptionCategory GlobalISelEmitterCat("Options for -gen-global-isel");

static cl::opt<bool> WarnOnSkippedPatterns(
"warn-on-skipped-patterns",
cl::desc("Explain why a pattern was skipped for inclusion "
"in the GlobalISel selector"),
cl::init(false));
cl::init(false), cl::cat(GlobalISelEmitterCat));

namespace {
//===- Helper functions ---------------------------------------------------===//
Expand Down
3 changes: 2 additions & 1 deletion utils/TableGen/TableGen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,10 @@ namespace {
clEnumValN(GenRegisterBank, "gen-register-bank",
"Generate registers bank descriptions")));

cl::OptionCategory PrintEnumsCat("Options for -print-enums");
cl::opt<std::string>
Class("class", cl::desc("Print Enum list for this class"),
cl::value_desc("class name"));
cl::value_desc("class name"), cl::cat(PrintEnumsCat));

bool LLVMTableGenMain(raw_ostream &OS, RecordKeeper &Records) {
switch (Action) {
Expand Down

0 comments on commit d5d8607

Please sign in to comment.