[mips] Fix a memory leak bug report by NAKAMURA Takumi.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170012 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Akira Hatanaka
2012-12-12 20:09:58 +00:00
parent 8ba48809c4
commit de99993a30

View File

@@ -20,6 +20,7 @@
#include "MipsJITInfo.h" #include "MipsJITInfo.h"
#include "MipsSelectionDAGInfo.h" #include "MipsSelectionDAGInfo.h"
#include "MipsSubtarget.h" #include "MipsSubtarget.h"
#include "llvm/ADT/OwningPtr.h"
#include "llvm/DataLayout.h" #include "llvm/DataLayout.h"
#include "llvm/Target/TargetFrameLowering.h" #include "llvm/Target/TargetFrameLowering.h"
#include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetMachine.h"
@@ -32,8 +33,8 @@ class MipsRegisterInfo;
class MipsTargetMachine : public LLVMTargetMachine { class MipsTargetMachine : public LLVMTargetMachine {
MipsSubtarget Subtarget; MipsSubtarget Subtarget;
const DataLayout DL; // Calculates type size & alignment const DataLayout DL; // Calculates type size & alignment
const MipsInstrInfo *InstrInfo; OwningPtr<const MipsInstrInfo> InstrInfo;
const MipsFrameLowering *FrameLowering; OwningPtr<const MipsFrameLowering> FrameLowering;
MipsTargetLowering TLInfo; MipsTargetLowering TLInfo;
MipsSelectionDAGInfo TSInfo; MipsSelectionDAGInfo TSInfo;
MipsJITInfo JITInfo; MipsJITInfo JITInfo;
@@ -47,12 +48,12 @@ public:
CodeGenOpt::Level OL, CodeGenOpt::Level OL,
bool isLittle); bool isLittle);
virtual ~MipsTargetMachine() { delete InstrInfo; } virtual ~MipsTargetMachine() {}
virtual const MipsInstrInfo *getInstrInfo() const virtual const MipsInstrInfo *getInstrInfo() const
{ return InstrInfo; } { return InstrInfo.get(); }
virtual const TargetFrameLowering *getFrameLowering() const virtual const TargetFrameLowering *getFrameLowering() const
{ return FrameLowering; } { return FrameLowering.get(); }
virtual const MipsSubtarget *getSubtargetImpl() const virtual const MipsSubtarget *getSubtargetImpl() const
{ return &Subtarget; } { return &Subtarget; }
virtual const DataLayout *getDataLayout() const virtual const DataLayout *getDataLayout() const