From 588f408b95c83e9b59c0777925d2ae70ac445fae Mon Sep 17 00:00:00 2001 From: Vladimir Medic Date: Thu, 1 Aug 2013 09:25:27 +0000 Subject: [PATCH] Moving definition of MnemonicContainsDot field from class Instruction to class AsmParser as suggested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187569 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/Target.td | 6 +++--- lib/Target/Mips/Mips.td | 1 + lib/Target/Mips/MipsInstrFormats.td | 1 - utils/TableGen/AsmMatcherEmitter.cpp | 3 +-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/include/llvm/Target/Target.td b/include/llvm/Target/Target.td index 82cd4dd9142..89ca529d530 100644 --- a/include/llvm/Target/Target.td +++ b/include/llvm/Target/Target.td @@ -444,9 +444,6 @@ class Instruction { /// constraint. For example, "$Rn = $Rd". string TwoOperandAliasConstraint = ""; - /// Does the instruction mnemonic allow '.' - bit MnemonicContainsDot = 0; - ///@} /// UseNamedOperandTable - If set, the operand indices of this instruction @@ -821,6 +818,9 @@ class AsmParser { // ShouldEmitMatchRegisterName - Set to false if the target needs a hand // written register name matcher bit ShouldEmitMatchRegisterName = 1; + + /// Does the instruction mnemonic allow '.' + bit MnemonicContainsDot = 0; } def DefaultAsmParser : AsmParser; diff --git a/lib/Target/Mips/Mips.td b/lib/Target/Mips/Mips.td index eefb02a494c..2595e41a877 100644 --- a/lib/Target/Mips/Mips.td +++ b/lib/Target/Mips/Mips.td @@ -101,6 +101,7 @@ def MipsAsmWriter : AsmWriter { def MipsAsmParser : AsmParser { let ShouldEmitMatchRegisterName = 0; + let MnemonicContainsDot = 1; } def MipsAsmParserVariant : AsmParserVariant { diff --git a/lib/Target/Mips/MipsInstrFormats.td b/lib/Target/Mips/MipsInstrFormats.td index c3108aa67ee..13227848791 100644 --- a/lib/Target/Mips/MipsInstrFormats.td +++ b/lib/Target/Mips/MipsInstrFormats.td @@ -97,7 +97,6 @@ class InstSE pattern, let Predicates = [HasStdEnc]; string BaseOpcode = opstr; string Arch; - let MnemonicContainsDot = 1; } // Mips Pseudo Instructions Format diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index a7ae41ef0c1..840c9aa34e6 100644 --- a/utils/TableGen/AsmMatcherEmitter.cpp +++ b/utils/TableGen/AsmMatcherEmitter.cpp @@ -837,8 +837,7 @@ void MatchableInfo::tokenizeAsmString(const AsmMatcherInfo &Info) { } case '.': - if (!(TheDef->getValue("MnemonicContainsDot")) || - !(TheDef->getValueAsBit("MnemonicContainsDot"))) { + if (!Info.AsmParser->getValueAsBit("MnemonicContainsDot")) { if (InTok) AsmOperands.push_back(AsmOperand(String.slice(Prev, i))); Prev = i; -- 2.34.1