Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.

There is still a bit more refactoring left to do in Targets. But we are now very
close to fixing all the layering issues in MC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135611 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng
2011-07-20 19:50:42 +00:00
parent 8eda1310db
commit 203576aa0c
28 changed files with 96 additions and 298 deletions

View File

@@ -22,14 +22,12 @@
#include "llvm/ADT/OwningPtr.h"
namespace llvm {
class TargetAsmInfo;
class MCContext;
class MCAsmInfo;
class MCDisassembler;
class MCInstPrinter;
class MCRegisterInfo;
class Target;
class TargetMachine;
//
// This is the disassembler context returned by LLVMCreateDisasm().
@@ -61,12 +59,6 @@ private:
llvm::OwningPtr<const llvm::MCAsmInfo> MAI;
// The register information for the target architecture.
llvm::OwningPtr<const llvm::MCRegisterInfo> MRI;
// The target machine instance.
llvm::OwningPtr<llvm::TargetMachine> TM;
// The disassembler for the target architecture.
// FIXME: using llvm::OwningPtr<const llvm::TargetAsmInfo> causes a malloc
// error when this LLVMDisasmContext is deleted.
const TargetAsmInfo *Tai;
// The assembly context for creating symbols and MCExprs.
llvm::OwningPtr<const llvm::MCContext> Ctx;
// The disassembler for the target architecture.
@@ -80,12 +72,10 @@ public:
LLVMSymbolLookupCallback symbolLookUp,
const Target *theTarget, const MCAsmInfo *mAI,
const MCRegisterInfo *mRI,
llvm::TargetMachine *tM, const TargetAsmInfo *tai,
llvm::MCContext *ctx, const MCDisassembler *disAsm,
MCInstPrinter *iP) : TripleName(tripleName),
DisInfo(disInfo), TagType(tagType), GetOpInfo(getOpInfo),
SymbolLookUp(symbolLookUp), TheTarget(theTarget), Tai(tai) {
TM.reset(tM);
SymbolLookUp(symbolLookUp), TheTarget(theTarget) {
MAI.reset(mAI);
MRI.reset(mRI);
Ctx.reset(ctx);