[llvm-commits] [llvm] r93454 - in /llvm/trunk: include/llvm/MC/MCParsedAsmOperand.h lib/Target/X86/AsmParser/X86AsmParser.cpp

Chris Lattner sabre at nondot.org
Thu Jan 14 13:20:55 PST 2010


Author: lattner
Date: Thu Jan 14 15:20:55 2010
New Revision: 93454

URL: http://llvm.org/viewvc/llvm-project?rev=93454&view=rev
Log:
introduce the MCParsedAsmOperand class.

Added:
    llvm/trunk/include/llvm/MC/MCParsedAsmOperand.h
Modified:
    llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp

Added: llvm/trunk/include/llvm/MC/MCParsedAsmOperand.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCParsedAsmOperand.h?rev=93454&view=auto

==============================================================================
--- llvm/trunk/include/llvm/MC/MCParsedAsmOperand.h (added)
+++ llvm/trunk/include/llvm/MC/MCParsedAsmOperand.h Thu Jan 14 15:20:55 2010
@@ -0,0 +1,28 @@
+//===-- llvm/MC/MCParsedAsmOperand.h - Asm Parser Operand -------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_MC_MCASMOPERAND_H
+#define LLVM_MC_MCASMOPERAND_H
+
+namespace llvm {
+
+/// MCParsedAsmOperand - This abstract class represents a source-level assembly
+/// instruction operand.  It should be subclassed by target-specific code.  This
+/// base class is used by target-independent clients and is the interface
+/// between parsing an asm instruction and recognizing it.
+class MCParsedAsmOperand {
+public:  
+  MCParsedAsmOperand();
+  virtual ~MCParsedAsmOperand() = 0;
+  // TODO: Out of line vfun.
+};
+
+} // end namespace llvm.
+
+#endif

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=93454&r1=93453&r2=93454&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Thu Jan 14 15:20:55 2010
@@ -15,6 +15,7 @@
 #include "llvm/MC/MCStreamer.h"
 #include "llvm/MC/MCExpr.h"
 #include "llvm/MC/MCInst.h"
+#include "llvm/MC/MCParsedAsmOperand.h"
 #include "llvm/Support/SourceMgr.h"
 #include "llvm/Target/TargetRegistry.h"
 #include "llvm/Target/TargetAsmParser.h"
@@ -71,7 +72,7 @@
 
 /// X86Operand - Instances of this class represent a parsed X86 machine
 /// instruction.
-struct X86Operand {
+struct X86Operand : public MCParsedAsmOperand {
   enum {
     Token,
     Register,





More information about the llvm-commits mailing list