[ms-inline asm] Add a few typedefs to simplify future changes.
authorChad Rosier <mcrosier@apple.com>
Fri, 5 Oct 2012 18:41:14 +0000 (18:41 +0000)
committerChad Rosier <mcrosier@apple.com>
Fri, 5 Oct 2012 18:41:14 +0000 (18:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165324 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 16cf6273a5af79ca8e344771727eb082b291dc3b..c5451ceec4d2b1bfb5e0056a3f309443857f79e0 100644 (file)
@@ -50,6 +50,10 @@ public:
   virtual bool ParseRegister(unsigned &RegNo, SMLoc &StartLoc,
                              SMLoc &EndLoc) = 0;
 
+  typedef std::pair< unsigned, std::string > MapAndConstraint;
+  typedef SmallVector<MapAndConstraint, 4> MatchInstMapAndConstraints;
+  typedef SmallVectorImpl<MapAndConstraint> MatchInstMapAndConstraintsImpl;
+
   /// ParseInstruction - Parse one assembly instruction.
   ///
   /// The parser is positioned following the instruction name. The target
@@ -92,7 +96,7 @@ public:
   MatchInstruction(SMLoc IDLoc, 
                    SmallVectorImpl<MCParsedAsmOperand*> &Operands,
                    MCStreamer &Out, unsigned &Kind, unsigned &Opcode,
-        SmallVectorImpl<std::pair< unsigned, std::string > > &MapAndConstraints,
+                   MatchInstMapAndConstraintsImpl &MapAndConstraints,
                    unsigned &OrigErrorInfo, bool matchingInlineAsm = false) {
     OrigErrorInfo = ~0x0;
     return true;
@@ -117,7 +121,7 @@ public:
 
   virtual void convertToMapAndConstraints(unsigned Kind,
                            const SmallVectorImpl<MCParsedAsmOperand*> &Operands,
-   SmallVectorImpl<std::pair< unsigned, std::string > > &MapAndConstraints) = 0;
+                         MatchInstMapAndConstraintsImpl &MapAndConstraints) = 0;
 };
 
 } // End llvm namespace
index 9e926492179064aff385c1a432aeda25ed1c94ae..00f0f74067dc409344dc31df272a760baa1708b1 100644 (file)
@@ -7480,7 +7480,7 @@ MatchAndEmitInstruction(SMLoc IDLoc,
   unsigned Kind;
   unsigned ErrorInfo;
   unsigned MatchResult;
-  SmallVector<std::pair< unsigned, std::string >, 4> MapAndConstraints;
+  MatchInstMapAndConstraints MapAndConstraints;
   MatchResult = MatchInstructionImpl(Operands, Kind, Inst,
                                      MapAndConstraints, ErrorInfo,
                                      /*matchingInlineAsm*/ false);
index 09eb4c8cabebb9bdb64aee92aa7238df815c2f55..d1e18b24c39abdc6e9571848cbc6ceec8b6a04c6 100644 (file)
@@ -318,7 +318,7 @@ MatchAndEmitInstruction(SMLoc IDLoc,
   MCInst Inst;
   unsigned Kind;
   unsigned ErrorInfo;
-  SmallVector<std::pair< unsigned, std::string >, 4> MapAndConstraints;
+  MatchInstMapAndConstraints MapAndConstraints;
   switch (MatchInstructionImpl(Operands, Kind, Inst, MapAndConstraints,
                                ErrorInfo, /*matchingInlineAsm*/ false)) {
   default: break;
index f2800d3b613253ffb4357703421925c1977a2095..6605fe4c08e01dce987fab59d355056ad8344063 100644 (file)
@@ -371,7 +371,7 @@ MatchAndEmitInstruction(SMLoc IDLoc,
   MCInst Inst;
   unsigned Kind;
   unsigned ErrorInfo;
-  SmallVector<std::pair< unsigned, std::string >, 4> MapAndConstraints;
+  MatchInstMapAndConstraints MapAndConstraints;
   unsigned MatchResult = MatchInstructionImpl(Operands, Kind, Inst,
                                               MapAndConstraints, ErrorInfo,
                                               /*matchingInlineAsm*/ false);
index 24f57e071cdd4e42e154cefc3fd8c6cb9408ed1a..df34359a661563668016973583b4e75ef942289f 100644 (file)
@@ -69,7 +69,7 @@ private:
   bool MatchInstruction(SMLoc IDLoc,
                         SmallVectorImpl<MCParsedAsmOperand*> &Operands,
                         MCStreamer &Out, unsigned &Kind, unsigned &Opcode,
-  SmallVectorImpl<std::pair< unsigned, std::string > > &MapAndConstraints,
+                        MatchInstMapAndConstraintsImpl &MapAndConstraints,
                        unsigned &OrigErrorInfo, bool matchingInlineAsm = false);
 
   /// isSrcOp - Returns true if operand is either (%rsi) or %ds:%(rsi)
@@ -1526,7 +1526,7 @@ MatchAndEmitInstruction(SMLoc IDLoc,
   unsigned Kind;
   unsigned Opcode;
   unsigned ErrorInfo;
-  SmallVector<std::pair< unsigned, std::string >, 4> MapAndConstraints;
+  MatchInstMapAndConstraints MapAndConstraints;
   bool Error = MatchInstruction(IDLoc, Operands, Out, Kind, Opcode,
                                 MapAndConstraints, ErrorInfo);
   return Error;
@@ -1631,7 +1631,7 @@ MatchInstruction(SMLoc IDLoc,
   unsigned Match1, Match2, Match3, Match4;
   unsigned tKind;
 
-  SmallVector<std::pair< unsigned, std::string >, 4> tMapAndConstraints[4];
+  MatchInstMapAndConstraints tMapAndConstraints[4];
   Match1 = MatchInstructionImpl(Operands, tKind, Inst, tMapAndConstraints[0],
                                 ErrorInfoIgnore, isParsingIntelSyntax());
   if (Match1 == Match_Success) Kind = tKind;
index cde9e1c103963c2fa7cac9c97981136b0716699d..435baeef0c1c97dd2d5bd25c8dae43161d0f8be3 100644 (file)
@@ -1716,9 +1716,9 @@ static void emitConvertFuncs(CodeGenTarget &Target, StringRef ClassName,
   OpOS << "void " << Target.getName() << ClassName << "::\n"
        << "convertToMapAndConstraints(unsigned Kind,\n";
   OpOS.indent(27);
-  OpOS << "const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n"
-       << "      SmallVectorImpl<std::pair< unsigned, std::string > >"
-       << " &MapAndConstraints) {\n"
+  OpOS << "const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n";
+  OpOS.indent(27);
+  OpOS << "MatchInstMapAndConstraintsImpl &MapAndConstraints) {\n"
        << "  assert(Kind < CVT_NUM_SIGNATURES && \"Invalid signature!\");\n"
        << "  unsigned NumMCOperands = 0;\n"
        << "  const uint8_t *Converter = ConversionTable[Kind];\n"
@@ -2606,15 +2606,16 @@ void AsmMatcherEmitter::run(raw_ostream &OS) {
      << "                       const SmallVectorImpl<MCParsedAsmOperand*> "
      << "&Operands);\n";
   OS << "  void convertToMapAndConstraints(unsigned Kind,\n                ";
-  OS << "           const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n"
-     << "       SmallVectorImpl<std::pair< unsigned, std::string > >"
-     << " &MapAndConstraints);\n";
+  OS << "           const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n";
+  OS.indent(29);
+  OS << "MatchInstMapAndConstraintsImpl &MapAndConstraints);\n";
   OS << "  bool mnemonicIsValid(StringRef Mnemonic);\n";
-  OS << "  unsigned MatchInstructionImpl(\n"
-     << "        const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n"
-     << "                                unsigned &Kind, MCInst &Inst,\n"
-     << "        SmallVectorImpl<std::pair< unsigned, std::string > > "
-     << "&MapAndConstraints,\n"
+  OS << "  unsigned MatchInstructionImpl(\n";
+  OS.indent(27);
+  OS << "const SmallVectorImpl<MCParsedAsmOperand*> &Operands,\n"
+     << "                                unsigned &Kind, MCInst &Inst,\n";
+  OS.indent(30);
+  OS << "MatchInstMapAndConstraintsImpl &MapAndConstraints,\n"
      << "                                unsigned &ErrorInfo,"
      << " bool matchingInlineAsm,\n"
      << "                                unsigned VariantID = 0);\n";