diff options
author | Craig Topper <craig.topper@gmail.com> | 2015-12-30 06:00:18 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2015-12-30 06:00:18 +0000 |
commit | c8b5b255f7eaa2babcef9ebf005be2ed6e89a83e (patch) | |
tree | 8fa4d71ddac1ef0cedaf4bbe8b26ebc32a71eff3 /llvm/utils/TableGen | |
parent | ba61432a9f31f392f0bff280717e8708cceec59c (diff) | |
download | bcm5719-llvm-c8b5b255f7eaa2babcef9ebf005be2ed6e89a83e.tar.gz bcm5719-llvm-c8b5b255f7eaa2babcef9ebf005be2ed6e89a83e.zip |
[TableGen] Move more things that come from variant into the AsmVariantInfo class so we can reduce some parameters. NFC
llvm-svn: 256625
Diffstat (limited to 'llvm/utils/TableGen')
-rw-r--r-- | llvm/utils/TableGen/AsmMatcherEmitter.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp index 45e3ef829fe..7bcce06a696 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/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<Record*> &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<Record*> &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<MatchableInfo>(*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<CodeGenInstAlias>(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<MatchableInfo>(std::move(Alias)); - II->initialize(*this, SingletonRegisters, AsmVariantNo, RegisterPrefix, - Variant); + II->initialize(*this, SingletonRegisters, Variant); // Validate the alias definitions. II->validate(CommentDelimiter, false); |