summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-14 21:20:55 +0000
committerChris Lattner <sabre@nondot.org>2010-01-14 21:20:55 +0000
commit872501b6e03e3a547cb5a02f874648a322a6dcdd (patch)
treeea6adcd3c509e9dbccff1a43ac562a18da34bfcc
parent8e670ee3819ffadefc86885cdc8d27a3719c9dd4 (diff)
downloadbcm5719-llvm-872501b6e03e3a547cb5a02f874648a322a6dcdd.tar.gz
bcm5719-llvm-872501b6e03e3a547cb5a02f874648a322a6dcdd.zip
introduce the MCParsedAsmOperand class.
llvm-svn: 93454
-rw-r--r--llvm/include/llvm/MC/MCParsedAsmOperand.h28
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp3
2 files changed, 30 insertions, 1 deletions
diff --git a/llvm/include/llvm/MC/MCParsedAsmOperand.h b/llvm/include/llvm/MC/MCParsedAsmOperand.h
new file mode 100644
index 00000000000..7c9e9e65c1e
--- /dev/null
+++ b/llvm/include/llvm/MC/MCParsedAsmOperand.h
@@ -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
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index c357b4d0dee..1237c45c5f9 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -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 @@ namespace {
/// X86Operand - Instances of this class represent a parsed X86 machine
/// instruction.
-struct X86Operand {
+struct X86Operand : public MCParsedAsmOperand {
enum {
Token,
Register,
OpenPOWER on IntegriCloud