aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Medic <Vladimir.Medic@imgtec.com>2013-08-01 09:25:27 +0000
committerVladimir Medic <Vladimir.Medic@imgtec.com>2013-08-01 09:25:27 +0000
commit588f408b95c83e9b59c0777925d2ae70ac445fae (patch)
tree8d470e691fbc15c6b1453e0c314130bf8f71d81e
parent87773c318fcee853fb34a80a10c4347d523bdafb (diff)
downloadexternal_llvm-588f408b95c83e9b59c0777925d2ae70ac445fae.zip
external_llvm-588f408b95c83e9b59c0777925d2ae70ac445fae.tar.gz
external_llvm-588f408b95c83e9b59c0777925d2ae70ac445fae.tar.bz2
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
-rw-r--r--include/llvm/Target/Target.td6
-rw-r--r--lib/Target/Mips/Mips.td1
-rw-r--r--lib/Target/Mips/MipsInstrFormats.td1
-rw-r--r--utils/TableGen/AsmMatcherEmitter.cpp3
4 files changed, 5 insertions, 6 deletions
diff --git a/include/llvm/Target/Target.td b/include/llvm/Target/Target.td
index 82cd4dd..89ca529 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 eefb02a..2595e41 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 c3108aa..1322784 100644
--- a/lib/Target/Mips/MipsInstrFormats.td
+++ b/lib/Target/Mips/MipsInstrFormats.td
@@ -97,7 +97,6 @@ class InstSE<dag outs, dag ins, string asmstr, list<dag> 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 a7ae41e..840c9aa 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;