[llvm-commits] [llvm] r164420 - in /llvm/trunk: include/llvm/MC/MCTargetAsmParser.h lib/Target/ARM/AsmParser/ARMAsmParser.cpp lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp lib/Target/Mips/AsmParser/MipsAsmParser.cpp lib/Target/X86/AsmParser/X86AsmParser.cpp utils/TableGen/AsmMatcherEmitter.cpp
Jim Grosbach
grosbach at apple.com
Mon Sep 24 12:06:06 PDT 2012
Rather than have a wrapper function, why not have tblgen instantiate the method implementation itself directly?
-Jim
On Sep 21, 2012, at 3:21 PM, Chad Rosier <mcrosier at apple.com> wrote:
> Author: mcrosier
> Date: Fri Sep 21 17:21:26 2012
> New Revision: 164420
>
> URL: http://llvm.org/viewvc/llvm-project?rev=164420&view=rev
> Log:
> [ms-inline asm] Expose the mnemonicIsValid() function in the AsmParser.
>
> Modified:
> llvm/trunk/include/llvm/MC/MCTargetAsmParser.h
> llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
> llvm/trunk/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp
> llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
> llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
> llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp
>
> Modified: llvm/trunk/include/llvm/MC/MCTargetAsmParser.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCTargetAsmParser.h?rev=164420&r1=164419&r2=164420&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/MC/MCTargetAsmParser.h (original)
> +++ llvm/trunk/include/llvm/MC/MCTargetAsmParser.h Fri Sep 21 17:21:26 2012
> @@ -78,6 +78,10 @@
> /// \param DirectiveID - the identifier token of the directive.
> virtual bool ParseDirective(AsmToken DirectiveID) = 0;
>
> + /// mnemonicIsValid - This returns true if this is a valid mnemonic and false
> + /// otherwise.
> + virtual bool mnemonicIsValid(StringRef Mnemonic) = 0;
> +
> /// MatchInstruction - Recognize a series of operands of a parsed instruction
> /// as an actual MCInst. This returns false on success and returns true on
> /// failure to match.
>
> Modified: llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp?rev=164420&r1=164419&r2=164420&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp Fri Sep 21 17:21:26 2012
> @@ -257,6 +257,10 @@
> SmallVectorImpl<MCParsedAsmOperand*> &Operands);
> bool ParseDirective(AsmToken DirectiveID);
>
> + bool mnemonicIsValid(StringRef Mnemonic) {
> + return mnemonicIsValidImpl(Mnemonic);
> + }
> +
> unsigned checkTargetMatchPredicate(MCInst &Inst);
>
> bool MatchAndEmitInstruction(SMLoc IDLoc,
>
> Modified: llvm/trunk/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp?rev=164420&r1=164419&r2=164420&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp (original)
> +++ llvm/trunk/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp Fri Sep 21 17:21:26 2012
> @@ -44,6 +44,10 @@
>
> bool ParseDirectiveWord(unsigned Size, SMLoc L);
>
> + bool mnemonicIsValid(StringRef Mnemonic) {
> + return mnemonicIsValidImpl(Mnemonic);
> + }
> +
> bool MatchAndEmitInstruction(SMLoc IDLoc,
> SmallVectorImpl<MCParsedAsmOperand*> &Operands,
> MCStreamer &Out);
>
> Modified: llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp?rev=164420&r1=164419&r2=164420&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp (original)
> +++ llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp Fri Sep 21 17:21:26 2012
> @@ -41,6 +41,10 @@
> #define GET_ASSEMBLER_HEADER
> #include "MipsGenAsmMatcher.inc"
>
> + bool mnemonicIsValid(StringRef Mnemonic) {
> + return mnemonicIsValidImpl(Mnemonic);
> + }
> +
> bool MatchAndEmitInstruction(SMLoc IDLoc,
> SmallVectorImpl<MCParsedAsmOperand*> &Operands,
> MCStreamer &Out);
>
> Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=164420&r1=164419&r2=164420&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
> +++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Fri Sep 21 17:21:26 2012
> @@ -60,6 +60,10 @@
> bool ParseDirectiveWord(unsigned Size, SMLoc L);
> bool ParseDirectiveCode(StringRef IDVal, SMLoc L);
>
> + bool mnemonicIsValid(StringRef Mnemonic) {
> + return mnemonicIsValidImpl(Mnemonic);
> + }
> +
> bool processInstruction(MCInst &Inst,
> const SmallVectorImpl<MCParsedAsmOperand*> &Ops);
>
>
> Modified: llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp?rev=164420&r1=164419&r2=164420&view=diff
> ==============================================================================
> --- llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp Fri Sep 21 17:21:26 2012
> @@ -2621,7 +2621,7 @@
> << " const "
> << "SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n "
> << " unsigned OperandNum, unsigned &NumMCOperands);\n";
> - OS << " bool MnemonicIsValid(StringRef Mnemonic);\n";
> + OS << " bool mnemonicIsValidImpl(StringRef Mnemonic);\n";
> OS << " unsigned MatchInstructionImpl(\n"
> << " const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n"
> << " unsigned &Kind, MCInst &Inst, "
> @@ -2800,7 +2800,7 @@
>
> // A method to determine if a mnemonic is in the list.
> OS << "bool " << Target.getName() << ClassName << "::\n"
> - << "MnemonicIsValid(StringRef Mnemonic) {\n";
> + << "mnemonicIsValidImpl(StringRef Mnemonic) {\n";
> OS << " // Search the table.\n";
> OS << " std::pair<const MatchEntry*, const MatchEntry*> MnemonicRange =\n";
> OS << " std::equal_range(MatchTable, MatchTable+"
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list