summaryrefslogtreecommitdiffstats
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
commitd3dade29f55cf836d6621d74fb7c06a29a491320 (patch)
tree726742d49e64e03ba0fc2d4a703480fd4cb7d5ff
parent2fe823a6c39b332b1a38ab22ab1f88b5dc580090 (diff)
downloadbcm5719-llvm-d3dade29f55cf836d6621d74fb7c06a29a491320.tar.gz
bcm5719-llvm-d3dade29f55cf836d6621d74fb7c06a29a491320.zip
Moving definition of MnemonicContainsDot field from class Instruction to class AsmParser as suggested.
llvm-svn: 187569
-rw-r--r--llvm/include/llvm/Target/Target.td6
-rw-r--r--llvm/lib/Target/Mips/Mips.td1
-rw-r--r--llvm/lib/Target/Mips/MipsInstrFormats.td1
-rw-r--r--llvm/utils/TableGen/AsmMatcherEmitter.cpp3
4 files changed, 5 insertions, 6 deletions
diff --git a/llvm/include/llvm/Target/Target.td b/llvm/include/llvm/Target/Target.td
index 82cd4dd9142..89ca529d530 100644
--- a/llvm/include/llvm/Target/Target.td
+++ b/llvm/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/llvm/lib/Target/Mips/Mips.td b/llvm/lib/Target/Mips/Mips.td
index eefb02a494c..2595e41a877 100644
--- a/llvm/lib/Target/Mips/Mips.td
+++ b/llvm/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/llvm/lib/Target/Mips/MipsInstrFormats.td b/llvm/lib/Target/Mips/MipsInstrFormats.td
index c3108aa67ee..13227848791 100644
--- a/llvm/lib/Target/Mips/MipsInstrFormats.td
+++ b/llvm/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/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
index a7ae41ef0c1..840c9aa34e6 100644
--- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud