aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/AsmParser/X86AsmParser.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-17 20:42:00 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-17 20:42:00 +0000
commit092a9dda2d13918a6410db26f41c7b5aa97ff989 (patch)
tree2dcdd3c50dd465a3e1068c713ed64e39781dea35 /lib/Target/X86/AsmParser/X86AsmParser.cpp
parent234f6893a2bb752479e51c943e1eb604f2f48429 (diff)
downloadexternal_llvm-092a9dda2d13918a6410db26f41c7b5aa97ff989.zip
external_llvm-092a9dda2d13918a6410db26f41c7b5aa97ff989.tar.gz
external_llvm-092a9dda2d13918a6410db26f41c7b5aa97ff989.tar.bz2
Sketch support for target specific assembly parser.
- Not fully enabled yet, need a configure regeneration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76230 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/AsmParser/X86AsmParser.cpp')
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp
new file mode 100644
index 0000000..0871148
--- /dev/null
+++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -0,0 +1,40 @@
+//===-- X86AsmParser.cpp - Parse X86 assembly to MCInst instructions ------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Target/TargetRegistry.h"
+#include "llvm/Target/TargetAsmParser.h"
+using namespace llvm;
+
+namespace {
+
+class X86ATTAsmParser : public TargetAsmParser {
+ public:
+ explicit X86ATTAsmParser(const Target &);
+};
+
+}
+
+X86ATTAsmParser::X86ATTAsmParser(const Target &T)
+ : TargetAsmParser(T)
+{
+}
+
+namespace {
+ TargetAsmParser *createAsmParser(const Target &T) {
+ return new X86ATTAsmParser(T);
+ }
+}
+
+// Force static initialization.
+extern "C" void LLVMInitializeX86AsmParser() {
+ extern Target TheX86_32Target;
+ TargetRegistry::RegisterAsmParser(TheX86_32Target, &createAsmParser);
+ extern Target TheX86_64Target;
+ TargetRegistry::RegisterAsmParser(TheX86_64Target, &createAsmParser);
+}