diff options
author | Eric Christopher <echristo@gmail.com> | 2014-06-10 23:26:47 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2014-06-10 23:26:47 +0000 |
commit | 9c84db6ba390f4e6ac1d6ce94fa9a6428e0b3007 (patch) | |
tree | 93e9981defcadfeff655f8dc102f3683b0ed7770 /lib | |
parent | fe801852732c4f6f2e8467da7d525c7d1109cc77 (diff) | |
download | llvm-9c84db6ba390f4e6ac1d6ce94fa9a6428e0b3007.tar.gz llvm-9c84db6ba390f4e6ac1d6ce94fa9a6428e0b3007.tar.bz2 llvm-9c84db6ba390f4e6ac1d6ce94fa9a6428e0b3007.tar.xz |
Use unique_ptr for X86Subtarget pointer members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210606 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/X86/X86Subtarget.cpp | 19 | ||||
-rw-r--r-- | lib/Target/X86/X86Subtarget.h | 19 |
2 files changed, 16 insertions, 22 deletions
diff --git a/lib/Target/X86/X86Subtarget.cpp b/lib/Target/X86/X86Subtarget.cpp index 29c44adaa2..f0c939c47d 100644 --- a/lib/Target/X86/X86Subtarget.cpp +++ b/lib/Target/X86/X86Subtarget.cpp @@ -351,19 +351,12 @@ X86Subtarget::X86Subtarget(const std::string &TT, const std::string &CPU, resetSubtargetFeatures(CPU, FS); // Ordering here is important. X86InstrInfo initializes X86RegisterInfo which // X86TargetLowering needs. - InstrInfo = new X86InstrInfo(*this); - TLInfo = new X86TargetLowering(TM); - FrameLowering = new X86FrameLowering(TargetFrameLowering::StackGrowsDown, - getStackAlignment(), - is64Bit() ? -8 : -4); - JITInfo = new X86JITInfo(hasSSE1()); -} - -X86Subtarget::~X86Subtarget() { - delete TLInfo; - delete InstrInfo; - delete FrameLowering; - delete JITInfo; + InstrInfo = make_unique<X86InstrInfo>(*this); + TLInfo = make_unique<X86TargetLowering>(TM); + FrameLowering = + make_unique<X86FrameLowering>(TargetFrameLowering::StackGrowsDown, + getStackAlignment(), is64Bit() ? -8 : -4); + JITInfo = make_unique<X86JITInfo>(hasSSE1()); } bool diff --git a/lib/Target/X86/X86Subtarget.h b/lib/Target/X86/X86Subtarget.h index 9e4200c110..85da720cbc 100644 --- a/lib/Target/X86/X86Subtarget.h +++ b/lib/Target/X86/X86Subtarget.h @@ -229,10 +229,10 @@ private: // Calculates type size & alignment const DataLayout DL; X86SelectionDAGInfo TSInfo; - X86TargetLowering *TLInfo; - X86InstrInfo *InstrInfo; - X86FrameLowering *FrameLowering; - X86JITInfo *JITInfo; + std::unique_ptr<X86TargetLowering> TLInfo; + std::unique_ptr<X86InstrInfo> InstrInfo; + std::unique_ptr<X86FrameLowering> FrameLowering; + std::unique_ptr<X86JITInfo> JITInfo; public: /// This constructor initializes the data members to match that @@ -241,14 +241,15 @@ public: X86Subtarget(const std::string &TT, const std::string &CPU, const std::string &FS, X86TargetMachine &TM, unsigned StackAlignOverride); - ~X86Subtarget(); - const X86TargetLowering *getTargetLowering() const { return TLInfo; } - const X86InstrInfo *getInstrInfo() const { return InstrInfo; } + const X86TargetLowering *getTargetLowering() const { return TLInfo.get(); } + const X86InstrInfo *getInstrInfo() const { return InstrInfo.get(); } const DataLayout *getDataLayout() const { return &DL; } - const X86FrameLowering *getFrameLowering() const { return FrameLowering; } + const X86FrameLowering *getFrameLowering() const { + return FrameLowering.get(); + } const X86SelectionDAGInfo *getSelectionDAGInfo() const { return &TSInfo; } - X86JITInfo *getJITInfo() { return JITInfo; } + X86JITInfo *getJITInfo() { return JITInfo.get(); } /// getStackAlignment - Returns the minimum alignment known to hold of the /// stack frame on entry to the function and which must be maintained by every |