From e6b50232bce0fe263d1918a45ad0969a7d9d00ac Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Wed, 30 Dec 2015 06:00:18 +0000 Subject: [PATCH] [TableGen] Move more things that come from variant into the AsmVariantInfo class so we can reduce some parameters. NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256625 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/AsmMatcherEmitter.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index 45e3ef829fe..7bcce06a696 100644 --- a/utils/TableGen/AsmMatcherEmitter.cpp +++ b/utils/TableGen/AsmMatcherEmitter.cpp @@ -296,9 +296,11 @@ public: class AsmVariantInfo { public: + std::string RegisterPrefix; std::string TokenizingCharacters; std::string SeparatorCharacters; std::string BreakCharacters; + int AsmVariantNo; }; /// MatchableInfo - Helper class for storing the necessary information for an @@ -491,7 +493,6 @@ struct MatchableInfo { void initialize(const AsmMatcherInfo &Info, SmallPtrSetImpl &SingletonRegisters, - int AsmVariantNo, StringRef RegisterPrefix, AsmVariantInfo const &Variant); /// validate - Return true if this matchable is a valid thing to match against @@ -836,11 +837,11 @@ extractSingletonRegisterForAsmOperand(MatchableInfo::AsmOperand &Op, void MatchableInfo::initialize(const AsmMatcherInfo &Info, SmallPtrSetImpl &SingletonRegisters, - int AsmVariantNo, StringRef RegisterPrefix, AsmVariantInfo const &Variant) { - AsmVariantID = AsmVariantNo; + AsmVariantID = Variant.AsmVariantNo; AsmString = - CodeGenInstruction::FlattenAsmStringVariants(AsmString, AsmVariantNo); + CodeGenInstruction::FlattenAsmStringVariants(AsmString, + Variant.AsmVariantNo); tokenizeAsmString(Info, Variant); @@ -852,7 +853,7 @@ void MatchableInfo::initialize(const AsmMatcherInfo &Info, // Collect singleton registers, if used. for (MatchableInfo::AsmOperand &Op : AsmOperands) { - extractSingletonRegisterForAsmOperand(Op, Info, RegisterPrefix); + extractSingletonRegisterForAsmOperand(Op, Info, Variant.RegisterPrefix); if (Record *Reg = Op.SingletonReg) SingletonRegisters.insert(Reg); } @@ -1374,15 +1375,15 @@ void AsmMatcherInfo::buildInfo() { Record *AsmVariant = Target.getAsmParserVariant(VC); std::string CommentDelimiter = AsmVariant->getValueAsString("CommentDelimiter"); - std::string RegisterPrefix = AsmVariant->getValueAsString("RegisterPrefix"); AsmVariantInfo Variant; + Variant.RegisterPrefix = AsmVariant->getValueAsString("RegisterPrefix"); Variant.TokenizingCharacters = AsmVariant->getValueAsString("TokenizingCharacters"); Variant.SeparatorCharacters = AsmVariant->getValueAsString("SeparatorCharacters"); Variant.BreakCharacters = AsmVariant->getValueAsString("BreakCharacters"); - int AsmVariantNo = AsmVariant->getValueAsInt("Variant"); + Variant.AsmVariantNo = AsmVariant->getValueAsInt("Variant"); for (const CodeGenInstruction *CGI : Target.instructions()) { @@ -1397,8 +1398,7 @@ void AsmMatcherInfo::buildInfo() { auto II = llvm::make_unique(*CGI); - II->initialize(*this, SingletonRegisters, AsmVariantNo, RegisterPrefix, - Variant); + II->initialize(*this, SingletonRegisters, Variant); // Ignore instructions which shouldn't be matched and diagnose invalid // instruction definitions with an error. @@ -1414,7 +1414,8 @@ void AsmMatcherInfo::buildInfo() { Records.getAllDerivedDefinitions("InstAlias"); for (unsigned i = 0, e = AllInstAliases.size(); i != e; ++i) { auto Alias = llvm::make_unique(AllInstAliases[i], - AsmVariantNo, Target); + Variant.AsmVariantNo, + Target); // If the tblgen -match-prefix option is specified (for tblgen hackers), // filter the set of instruction aliases we consider, based on the target @@ -1425,8 +1426,7 @@ void AsmMatcherInfo::buildInfo() { auto II = llvm::make_unique(std::move(Alias)); - II->initialize(*this, SingletonRegisters, AsmVariantNo, RegisterPrefix, - Variant); + II->initialize(*this, SingletonRegisters, Variant); // Validate the alias definitions. II->validate(CommentDelimiter, false); -- 2.34.1