From 04baf9094ada38a518ba7eda87d4c478a874dbb1 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 27 Aug 2009 01:34:22 +0000 Subject: [PATCH] llvm-mc: Tweak MCCodeEmitter skeleton. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80193 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCCodeEmitter.h | 2 +- include/llvm/Target/TargetRegistry.h | 13 +++++-------- lib/MC/MCCodeEmitter.cpp | 18 ++++++++++++++++++ tools/llvm-mc/llvm-mc.cpp | 2 +- 4 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 lib/MC/MCCodeEmitter.cpp diff --git a/include/llvm/MC/MCCodeEmitter.h b/include/llvm/MC/MCCodeEmitter.h index 6cca95b826a..ad42dc2e5b4 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 14fbd45e991..5c89fa597b3 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 00000000000..c122763b2fe --- /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 c7f626c8ad0..ec66797abcd 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!"); -- 2.34.1