mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-26 18:20:39 +00:00
[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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user