Rather then have a wrapper function, have tblgen instantiate the implementation.
llvm-svn: 164548
This commit is contained in:
parent
5eae073cb1
commit
3cb355d11f
|
@ -257,10 +257,6 @@ public:
|
||||||
SmallVectorImpl<MCParsedAsmOperand*> &Operands);
|
SmallVectorImpl<MCParsedAsmOperand*> &Operands);
|
||||||
bool ParseDirective(AsmToken DirectiveID);
|
bool ParseDirective(AsmToken DirectiveID);
|
||||||
|
|
||||||
bool mnemonicIsValid(StringRef Mnemonic) {
|
|
||||||
return mnemonicIsValidImpl(Mnemonic);
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned checkTargetMatchPredicate(MCInst &Inst);
|
unsigned checkTargetMatchPredicate(MCInst &Inst);
|
||||||
|
|
||||||
bool MatchAndEmitInstruction(SMLoc IDLoc,
|
bool MatchAndEmitInstruction(SMLoc IDLoc,
|
||||||
|
|
|
@ -44,10 +44,6 @@ class MBlazeAsmParser : public MCTargetAsmParser {
|
||||||
|
|
||||||
bool ParseDirectiveWord(unsigned Size, SMLoc L);
|
bool ParseDirectiveWord(unsigned Size, SMLoc L);
|
||||||
|
|
||||||
bool mnemonicIsValid(StringRef Mnemonic) {
|
|
||||||
return mnemonicIsValidImpl(Mnemonic);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MatchAndEmitInstruction(SMLoc IDLoc,
|
bool MatchAndEmitInstruction(SMLoc IDLoc,
|
||||||
SmallVectorImpl<MCParsedAsmOperand*> &Operands,
|
SmallVectorImpl<MCParsedAsmOperand*> &Operands,
|
||||||
MCStreamer &Out);
|
MCStreamer &Out);
|
||||||
|
|
|
@ -41,10 +41,6 @@ class MipsAsmParser : public MCTargetAsmParser {
|
||||||
#define GET_ASSEMBLER_HEADER
|
#define GET_ASSEMBLER_HEADER
|
||||||
#include "MipsGenAsmMatcher.inc"
|
#include "MipsGenAsmMatcher.inc"
|
||||||
|
|
||||||
bool mnemonicIsValid(StringRef Mnemonic) {
|
|
||||||
return mnemonicIsValidImpl(Mnemonic);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MatchAndEmitInstruction(SMLoc IDLoc,
|
bool MatchAndEmitInstruction(SMLoc IDLoc,
|
||||||
SmallVectorImpl<MCParsedAsmOperand*> &Operands,
|
SmallVectorImpl<MCParsedAsmOperand*> &Operands,
|
||||||
MCStreamer &Out);
|
MCStreamer &Out);
|
||||||
|
|
|
@ -60,10 +60,6 @@ private:
|
||||||
bool ParseDirectiveWord(unsigned Size, SMLoc L);
|
bool ParseDirectiveWord(unsigned Size, SMLoc L);
|
||||||
bool ParseDirectiveCode(StringRef IDVal, SMLoc L);
|
bool ParseDirectiveCode(StringRef IDVal, SMLoc L);
|
||||||
|
|
||||||
bool mnemonicIsValid(StringRef Mnemonic) {
|
|
||||||
return mnemonicIsValidImpl(Mnemonic);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool processInstruction(MCInst &Inst,
|
bool processInstruction(MCInst &Inst,
|
||||||
const SmallVectorImpl<MCParsedAsmOperand*> &Ops);
|
const SmallVectorImpl<MCParsedAsmOperand*> &Ops);
|
||||||
|
|
||||||
|
|
|
@ -2621,7 +2621,7 @@ void AsmMatcherEmitter::run(raw_ostream &OS) {
|
||||||
<< " const "
|
<< " const "
|
||||||
<< "SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n "
|
<< "SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n "
|
||||||
<< " unsigned OperandNum, unsigned &NumMCOperands);\n";
|
<< " unsigned OperandNum, unsigned &NumMCOperands);\n";
|
||||||
OS << " bool mnemonicIsValidImpl(StringRef Mnemonic);\n";
|
OS << " bool mnemonicIsValid(StringRef Mnemonic);\n";
|
||||||
OS << " unsigned MatchInstructionImpl(\n"
|
OS << " unsigned MatchInstructionImpl(\n"
|
||||||
<< " const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n"
|
<< " const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n"
|
||||||
<< " unsigned &Kind, MCInst &Inst, "
|
<< " unsigned &Kind, MCInst &Inst, "
|
||||||
|
@ -2800,7 +2800,7 @@ void AsmMatcherEmitter::run(raw_ostream &OS) {
|
||||||
|
|
||||||
// A method to determine if a mnemonic is in the list.
|
// A method to determine if a mnemonic is in the list.
|
||||||
OS << "bool " << Target.getName() << ClassName << "::\n"
|
OS << "bool " << Target.getName() << ClassName << "::\n"
|
||||||
<< "mnemonicIsValidImpl(StringRef Mnemonic) {\n";
|
<< "mnemonicIsValid(StringRef Mnemonic) {\n";
|
||||||
OS << " // Search the table.\n";
|
OS << " // Search the table.\n";
|
||||||
OS << " std::pair<const MatchEntry*, const MatchEntry*> MnemonicRange =\n";
|
OS << " std::pair<const MatchEntry*, const MatchEntry*> MnemonicRange =\n";
|
||||||
OS << " std::equal_range(MatchTable, MatchTable+"
|
OS << " std::equal_range(MatchTable, MatchTable+"
|
||||||
|
|
Loading…
Reference in New Issue