aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-08-27 01:34:22 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-08-27 01:34:22 +0000
commit04baf9094ada38a518ba7eda87d4c478a874dbb1 (patch)
tree216b6d7c895c34cff61f949e93b7d2f3d1051f22
parent5b78d50cadf5df4948e8e5798a3e08e0ccf4cb06 (diff)
downloadexternal_llvm-04baf9094ada38a518ba7eda87d4c478a874dbb1.zip
external_llvm-04baf9094ada38a518ba7eda87d4c478a874dbb1.tar.gz
external_llvm-04baf9094ada38a518ba7eda87d4c478a874dbb1.tar.bz2
llvm-mc: Tweak MCCodeEmitter skeleton.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80193 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/MC/MCCodeEmitter.h2
-rw-r--r--include/llvm/Target/TargetRegistry.h13
-rw-r--r--lib/MC/MCCodeEmitter.cpp18
-rw-r--r--tools/llvm-mc/llvm-mc.cpp2
4 files changed, 25 insertions, 10 deletions
diff --git a/include/llvm/MC/MCCodeEmitter.h b/include/llvm/MC/MCCodeEmitter.h
index 6cca95b..ad42dc2 100644
--- a/include/llvm/MC/MCCodeEmitter.h
+++ b/include/llvm/MC/MCCodeEmitter.h
@@ -26,7 +26,7 @@ public:
/// EncodeInstruction - Encode the given \arg Inst to bytes on the output
/// stream \arg OS.
- virtual void EncodeInstruction(const MCInst &Inst, raw_ostream &OS) = 0;
+ virtual void EncodeInstruction(const MCInst &Inst, raw_ostream &OS) const = 0;
};
} // End llvm namespace
diff --git a/include/llvm/Target/TargetRegistry.h b/include/llvm/Target/TargetRegistry.h
index 14fbd45..5c89fa5 100644
--- a/include/llvm/Target/TargetRegistry.h
+++ b/include/llvm/Target/TargetRegistry.h
@@ -59,8 +59,7 @@ namespace llvm {
typedef TargetAsmParser *(*AsmParserCtorTy)(const Target &T,
MCAsmParser &P);
typedef MCCodeEmitter *(*CodeEmitterCtorTy)(const Target &T,
- TargetMachine &TM,
- const MCAsmInfo &MAI);
+ TargetMachine &TM);
private:
/// Next - The next registered target in the linked list, maintained by the
@@ -180,11 +179,10 @@ namespace llvm {
}
/// createCodeEmitter - Create a target specific code emitter.
- MCCodeEmitter *createCodeEmitter(TargetMachine &TM,
- const MCAsmInfo *MAI) const {
+ MCCodeEmitter *createCodeEmitter(TargetMachine &TM) const {
if (!CodeEmitterCtorFn)
return 0;
- return CodeEmitterCtorFn(*this, TM, *MAI);
+ return CodeEmitterCtorFn(*this, TM);
}
/// @}
@@ -493,9 +491,8 @@ namespace llvm {
}
private:
- static MCCodeEmitter *Allocator(const Target &T, TargetMachine &TM,
- const MCAsmInfo &MAI) {
- return new CodeEmitterImpl(T, TM, MAI);
+ static MCCodeEmitter *Allocator(const Target &T, TargetMachine &TM) {
+ return new CodeEmitterImpl(T, TM);
}
};
diff --git a/lib/MC/MCCodeEmitter.cpp b/lib/MC/MCCodeEmitter.cpp
new file mode 100644
index 0000000..c122763
--- /dev/null
+++ b/lib/MC/MCCodeEmitter.cpp
@@ -0,0 +1,18 @@
+//===-- MCCodeEmitter.cpp - Instruction Encoding --------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/MC/MCCodeEmitter.h"
+
+using namespace llvm;
+
+MCCodeEmitter::MCCodeEmitter() {
+}
+
+MCCodeEmitter::~MCCodeEmitter() {
+}
diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp
index c7f626c..ec66797 100644
--- a/tools/llvm-mc/llvm-mc.cpp
+++ b/tools/llvm-mc/llvm-mc.cpp
@@ -244,7 +244,7 @@ static int AssembleInput(const char *ProgName) {
assert(TAI && "Unable to create target asm info!");
AP.reset(TheTarget->createAsmPrinter(*Out, *TM, TAI, true));
- CE.reset(TheTarget->createCodeEmitter(*TM, TAI));
+ CE.reset(TheTarget->createCodeEmitter(*TM));
Str.reset(createAsmStreamer(Ctx, *Out, *TAI, AP.get(), CE.get()));
} else {
assert(FileType == OFT_ObjectFile && "Invalid file type!");