From f4ccd110750a3f3fe6a107d5c74c649c2a0dc407 Mon Sep 17 00:00:00 2001 From: Ahmed Charles Date: Thu, 6 Mar 2014 05:51:42 +0000 Subject: Replace OwningPtr with std::unique_ptr. This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203083 91177308-0d34-0410-b5e6-96231b3b80d8 --- examples/Fibonacci/fibonacci.cpp | 2 +- examples/Kaleidoscope/MCJIT/cached/toy.cpp | 2 +- examples/Kaleidoscope/MCJIT/complete/toy.cpp | 2 +- include/llvm/Analysis/CallGraph.h | 3 +- include/llvm/Analysis/MemoryDependenceAnalysis.h | 4 +- include/llvm/Bitcode/BitstreamReader.h | 3 +- include/llvm/CodeGen/RegAllocPBQP.h | 6 +-- include/llvm/ExecutionEngine/ObjectBuffer.h | 3 +- include/llvm/ExecutionEngine/ObjectImage.h | 2 +- include/llvm/IR/Module.h | 4 +- include/llvm/LTO/LTOModule.h | 5 +-- include/llvm/LineEditor/LineEditor.h | 4 +- include/llvm/MC/MCDisassembler.h | 11 +++--- include/llvm/MC/MCExternalSymbolizer.h | 10 ++--- include/llvm/MC/MCMachObjectWriter.h | 3 +- include/llvm/MC/MCModuleYAML.h | 3 +- include/llvm/MC/MCObjectDisassembler.h | 5 +-- include/llvm/MC/MCObjectSymbolizer.h | 7 ++-- include/llvm/MC/MCStreamer.h | 4 +- include/llvm/MC/MCSymbolizer.h | 6 +-- include/llvm/Object/IRObjectFile.h | 5 ++- include/llvm/Object/MachOUniversal.h | 5 +-- include/llvm/Support/Compression.h | 6 +-- include/llvm/Support/FileSystem.h | 1 - include/llvm/Support/StreamableMemoryObject.h | 5 ++- include/llvm/Support/YAMLParser.h | 36 ++++++++---------- include/llvm/Support/YAMLTraits.h | 18 ++++----- lib/Analysis/MemoryDependenceAnalysis.cpp | 2 +- lib/AsmParser/Parser.cpp | 5 +-- lib/Bitcode/Reader/BitcodeReader.h | 2 +- lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp | 12 +++--- lib/CodeGen/AsmPrinter/DwarfUnit.h | 3 +- lib/CodeGen/LLVMTargetMachine.cpp | 5 +-- lib/CodeGen/LiveRegMatrix.cpp | 2 +- lib/CodeGen/MachineScheduler.cpp | 5 +-- lib/CodeGen/RegAllocBase.h | 1 - lib/CodeGen/RegAllocBasic.cpp | 2 +- lib/CodeGen/RegAllocGreedy.cpp | 6 +-- lib/CodeGen/RegAllocPBQP.cpp | 24 ++++++------ lib/CodeGen/RegisterCoalescer.cpp | 1 - lib/CodeGen/TailDuplication.cpp | 3 +- lib/DebugInfo/DWARFContext.cpp | 10 ++--- lib/DebugInfo/DWARFContext.h | 13 +++---- lib/DebugInfo/DWARFUnit.h | 7 ++-- lib/ExecutionEngine/ExecutionEngine.cpp | 2 +- .../IntelJITEvents/IntelJITEventListener.cpp | 3 +- lib/ExecutionEngine/JIT/JITEmitter.cpp | 1 - lib/ExecutionEngine/MCJIT/MCJIT.cpp | 10 ++--- lib/ExecutionEngine/MCJIT/MCJIT.h | 2 +- .../OProfileJIT/OProfileJITEventListener.cpp | 4 +- lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 2 +- lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 1 - .../RuntimeDyld/RuntimeDyldMachO.cpp | 1 - lib/IR/AsmWriter.h | 3 +- lib/IR/Core.cpp | 4 +- lib/IR/GCOV.cpp | 3 +- lib/IR/Module.cpp | 2 +- lib/IRReader/IRReader.cpp | 5 +-- lib/LTO/LTOCodeGenerator.cpp | 2 +- lib/LTO/LTOModule.cpp | 30 +++++++-------- lib/MC/ELFObjectWriter.cpp | 3 +- lib/MC/MCAsmStreamer.cpp | 7 ++-- lib/MC/MCDisassembler.cpp | 26 +++++-------- lib/MC/MCDisassembler/Disassembler.cpp | 9 ++--- lib/MC/MCDisassembler/Disassembler.h | 17 ++++----- lib/MC/MCExternalSymbolizer.cpp | 2 +- lib/MC/MCModuleYAML.cpp | 2 +- lib/MC/MCObjectSymbolizer.cpp | 30 +++++++-------- lib/MC/MCSymbolizer.cpp | 6 +-- lib/MC/WinCOFFObjectWriter.cpp | 3 +- lib/Object/Binary.cpp | 4 +- lib/Object/COFFObjectFile.cpp | 3 +- lib/Object/ELFObjectFile.cpp | 2 +- lib/Object/IRObjectFile.cpp | 2 +- lib/Object/MachOObjectFile.cpp | 2 +- lib/Object/MachOUniversal.cpp | 10 ++--- lib/Object/ObjectFile.cpp | 3 +- lib/Support/CommandLine.cpp | 3 +- lib/Support/Compression.cpp | 13 +++---- lib/Support/FileUtilities.cpp | 5 +-- lib/Support/LockFileManager.cpp | 2 +- lib/Support/SourceMgr.cpp | 3 +- lib/Support/StringRef.cpp | 1 - lib/Support/Timer.cpp | 1 - lib/Support/Windows/Program.inc | 3 +- lib/Support/YAMLParser.cpp | 14 +++---- lib/TableGen/Main.cpp | 3 +- .../Instrumentation/AddressSanitizer.cpp | 5 +-- .../Instrumentation/DataFlowSanitizer.cpp | 2 +- lib/Transforms/Instrumentation/DebugIR.cpp | 12 +++--- lib/Transforms/Instrumentation/DebugIR.h | 5 +-- lib/Transforms/Instrumentation/GCOVProfiling.cpp | 2 +- lib/Transforms/Instrumentation/MemorySanitizer.cpp | 4 +- lib/Transforms/Instrumentation/ThreadSanitizer.cpp | 2 +- lib/Transforms/Scalar/SampleProfile.cpp | 7 ++-- lib/Transforms/Utils/SpecialCaseList.cpp | 5 +-- tools/bugpoint/BugDriver.cpp | 2 +- tools/bugpoint/Miscompilation.cpp | 7 ++-- tools/gold/gold-plugin.cpp | 3 +- tools/llc/llc.cpp | 13 +++---- tools/lli/lli.cpp | 6 +-- tools/llvm-ar/llvm-ar.cpp | 4 +- tools/llvm-as/llvm-as.cpp | 6 +-- tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp | 3 +- tools/llvm-cov/llvm-cov.cpp | 5 +-- tools/llvm-dis/llvm-dis.cpp | 8 ++-- tools/llvm-dwarfdump/llvm-dwarfdump.cpp | 7 ++-- tools/llvm-extract/llvm-extract.cpp | 2 +- tools/llvm-jitlistener/llvm-jitlistener.cpp | 10 ++--- tools/llvm-link/llvm-link.cpp | 6 +-- tools/llvm-lto/llvm-lto.cpp | 4 +- tools/llvm-mc/Disassembler.cpp | 3 +- tools/llvm-mc/llvm-mc.cpp | 25 ++++++------ tools/llvm-mcmarkup/llvm-mcmarkup.cpp | 3 +- tools/llvm-nm/llvm-nm.cpp | 8 ++-- tools/llvm-objdump/MachODump.cpp | 32 ++++++++-------- tools/llvm-objdump/llvm-objdump.cpp | 44 +++++++++++----------- tools/llvm-profdata/llvm-profdata.cpp | 5 +-- tools/llvm-readobj/COFFDumper.cpp | 5 +-- tools/llvm-readobj/ELFDumper.cpp | 7 ++-- tools/llvm-readobj/MachODumper.cpp | 4 +- tools/llvm-readobj/ObjDumper.h | 19 ++++------ tools/llvm-readobj/llvm-readobj.cpp | 11 +++--- tools/llvm-rtdyld/llvm-rtdyld.cpp | 12 +++--- tools/llvm-size/llvm-size.cpp | 4 +- tools/llvm-stress/llvm-stress.cpp | 24 ++++++------ tools/llvm-symbolizer/LLVMSymbolize.cpp | 6 +-- tools/llvm-symbolizer/LLVMSymbolize.h | 3 +- tools/macho-dump/macho-dump.cpp | 2 +- tools/obj2yaml/obj2yaml.cpp | 3 +- tools/opt/opt.cpp | 8 ++-- tools/yaml2obj/yaml2obj.cpp | 3 +- unittests/Analysis/CFGTest.cpp | 3 +- unittests/Bitcode/BitReaderTest.cpp | 4 +- unittests/ExecutionEngine/ExecutionEngineTest.cpp | 3 +- .../ExecutionEngine/JIT/JITEventListenerTest.cpp | 3 +- .../JIT/JITEventListenerTestCommon.h | 4 +- .../ExecutionEngine/JIT/JITMemoryManagerTest.cpp | 33 ++++++++-------- unittests/ExecutionEngine/JIT/JITTest.cpp | 26 +++++++------ unittests/ExecutionEngine/JIT/MultiJITTest.cpp | 12 +++--- .../MCJIT/MCJITMemoryManagerTest.cpp | 9 ++--- .../MCJIT/MCJITMultipleModuleTest.cpp | 26 ++++++------- .../ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp | 9 ++--- unittests/ExecutionEngine/MCJIT/MCJITTestBase.h | 39 ++++++++----------- unittests/IR/ConstantsTest.cpp | 2 +- unittests/IR/DominatorTreeTest.cpp | 2 +- unittests/IR/IRBuilderTest.cpp | 5 +-- unittests/IR/LegacyPassManagerTest.cpp | 2 +- unittests/IR/PassManagerTest.cpp | 2 +- unittests/IR/PatternMatch.cpp | 2 +- unittests/IR/ValueHandleTest.cpp | 3 +- unittests/IR/ValueMapTest.cpp | 5 +-- unittests/IR/ValueTest.cpp | 2 +- unittests/IR/VerifierTest.cpp | 1 - unittests/Linker/LinkModulesTest.cpp | 2 +- unittests/Option/OptionParsingTest.cpp | 24 +++++++----- unittests/Support/CompressionTest.cpp | 5 +-- unittests/Support/LineIteratorTest.cpp | 30 +++++++-------- unittests/Support/Path.cpp | 4 +- unittests/Transforms/DebugIR/DebugIR.cpp | 4 +- unittests/Transforms/Utils/SpecialCaseList.cpp | 23 +++++------ utils/FileCheck/FileCheck.cpp | 5 +-- utils/FileUpdate/FileUpdate.cpp | 5 +-- utils/TableGen/AsmMatcherEmitter.cpp | 7 ++-- utils/TableGen/DAGISelMatcher.h | 5 +-- utils/TableGen/DAGISelMatcherOpt.cpp | 14 +++---- utils/yaml-bench/YAMLBench.cpp | 2 +- 167 files changed, 556 insertions(+), 654 deletions(-) diff --git a/examples/Fibonacci/fibonacci.cpp b/examples/Fibonacci/fibonacci.cpp index 76264b6513..ba8e95342f 100644 --- a/examples/Fibonacci/fibonacci.cpp +++ b/examples/Fibonacci/fibonacci.cpp @@ -96,7 +96,7 @@ int main(int argc, char **argv) { LLVMContext Context; // Create some module to put our function into it. - OwningPtr M(new Module("test", Context)); + std::unique_ptr M(new Module("test", Context)); // We are about to create the "fib" function: Function *FibF = CreateFibFunction(M.get(), Context); diff --git a/examples/Kaleidoscope/MCJIT/cached/toy.cpp b/examples/Kaleidoscope/MCJIT/cached/toy.cpp index b148479559..16c548c980 100644 --- a/examples/Kaleidoscope/MCJIT/cached/toy.cpp +++ b/examples/Kaleidoscope/MCJIT/cached/toy.cpp @@ -715,7 +715,7 @@ public: // This file isn't in our cache return NULL; } - OwningPtr IRObjectBuffer; + std::unique_ptr IRObjectBuffer; MemoryBuffer::getFile(IRCacheFile.c_str(), IRObjectBuffer, -1, false); // MCJIT will want to write into this buffer, and we don't want that // because the file has probably just been mmapped. Instead we make diff --git a/examples/Kaleidoscope/MCJIT/complete/toy.cpp b/examples/Kaleidoscope/MCJIT/complete/toy.cpp index d18ad75538..10e7ada1e8 100644 --- a/examples/Kaleidoscope/MCJIT/complete/toy.cpp +++ b/examples/Kaleidoscope/MCJIT/complete/toy.cpp @@ -739,7 +739,7 @@ public: // This file isn't in our cache return NULL; } - OwningPtr IRObjectBuffer; + std::unique_ptr IRObjectBuffer; MemoryBuffer::getFile(IRCacheFile.c_str(), IRObjectBuffer, -1, false); // MCJIT will want to write into this buffer, and we don't want that // because the file has probably just been mmapped. Instead we make diff --git a/include/llvm/Analysis/CallGraph.h b/include/llvm/Analysis/CallGraph.h index d46cbb60cd..9a6a4a76eb 100644 --- a/include/llvm/Analysis/CallGraph.h +++ b/include/llvm/Analysis/CallGraph.h @@ -53,7 +53,6 @@ #define LLVM_ANALYSIS_CALLGRAPH_H #include "llvm/ADT/GraphTraits.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/IR/CallSite.h" #include "llvm/IR/Function.h" @@ -314,7 +313,7 @@ private: /// call graph interface is entirelly a wrapper around a \c CallGraph object /// which is stored internally for each module. class CallGraphWrapperPass : public ModulePass { - OwningPtr G; + std::unique_ptr G; public: static char ID; // Class identification, replacement for typeinfo diff --git a/include/llvm/Analysis/MemoryDependenceAnalysis.h b/include/llvm/Analysis/MemoryDependenceAnalysis.h index 79945612f8..123d435a6e 100644 --- a/include/llvm/Analysis/MemoryDependenceAnalysis.h +++ b/include/llvm/Analysis/MemoryDependenceAnalysis.h @@ -15,7 +15,6 @@ #define LLVM_ANALYSIS_MEMORYDEPENDENCEANALYSIS_H #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/PointerIntPair.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/Analysis/AliasAnalysis.h" @@ -325,7 +324,8 @@ namespace llvm { AliasAnalysis *AA; const DataLayout *DL; DominatorTree *DT; - OwningPtr PredCache; + std::unique_ptr PredCache; + public: MemoryDependenceAnalysis(); ~MemoryDependenceAnalysis(); diff --git a/include/llvm/Bitcode/BitstreamReader.h b/include/llvm/Bitcode/BitstreamReader.h index dc5e095155..fcbf426044 100644 --- a/include/llvm/Bitcode/BitstreamReader.h +++ b/include/llvm/Bitcode/BitstreamReader.h @@ -15,7 +15,6 @@ #ifndef LLVM_BITCODE_BITSTREAMREADER_H #define LLVM_BITCODE_BITSTREAMREADER_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/Bitcode/BitCodes.h" #include "llvm/Support/Endian.h" #include "llvm/Support/StreamableMemoryObject.h" @@ -44,7 +43,7 @@ public: std::vector > RecordNames; }; private: - OwningPtr BitcodeBytes; + std::unique_ptr BitcodeBytes; std::vector BlockInfoRecords; diff --git a/include/llvm/CodeGen/RegAllocPBQP.h b/include/llvm/CodeGen/RegAllocPBQP.h index 40539dcab2..4b0e0bd6ff 100644 --- a/include/llvm/CodeGen/RegAllocPBQP.h +++ b/include/llvm/CodeGen/RegAllocPBQP.h @@ -29,7 +29,6 @@ namespace llvm { class MachineBlockFrequencyInfo; class MachineFunction; class TargetRegisterInfo; - template class OwningPtr; typedef PBQP::RegAlloc::Graph PBQPRAGraph; @@ -158,8 +157,9 @@ namespace llvm { PBQP::PBQPNum benefit); }; - FunctionPass* createPBQPRegisterAllocator(OwningPtr &builder, - char *customPassID=0); + FunctionPass * + createPBQPRegisterAllocator(std::unique_ptr &builder, + char *customPassID = 0); } #endif /* LLVM_CODEGEN_REGALLOCPBQP_H */ diff --git a/include/llvm/ExecutionEngine/ObjectBuffer.h b/include/llvm/ExecutionEngine/ObjectBuffer.h index af2a9263ff..f6736d1686 100644 --- a/include/llvm/ExecutionEngine/ObjectBuffer.h +++ b/include/llvm/ExecutionEngine/ObjectBuffer.h @@ -15,7 +15,6 @@ #ifndef LLVM_EXECUTIONENGINE_OBJECTBUFFER_H #define LLVM_EXECUTIONENGINE_OBJECTBUFFER_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallVector.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/raw_ostream.h" @@ -49,7 +48,7 @@ public: protected: // The memory contained in an ObjectBuffer - OwningPtr Buffer; + std::unique_ptr Buffer; }; /// ObjectBufferStream - This class encapsulates the SmallVector and diff --git a/include/llvm/ExecutionEngine/ObjectImage.h b/include/llvm/ExecutionEngine/ObjectImage.h index 076f4b1146..0cf7f96fcf 100644 --- a/include/llvm/ExecutionEngine/ObjectImage.h +++ b/include/llvm/ExecutionEngine/ObjectImage.h @@ -28,7 +28,7 @@ class ObjectImage { virtual void anchor(); protected: - OwningPtr Buffer; + std::unique_ptr Buffer; public: ObjectImage(ObjectBuffer *Input) : Buffer(Input) {} diff --git a/include/llvm/IR/Module.h b/include/llvm/IR/Module.h index d489bd6c0c..f67b549015 100644 --- a/include/llvm/IR/Module.h +++ b/include/llvm/IR/Module.h @@ -15,7 +15,6 @@ #ifndef LLVM_IR_MODULE_H #define LLVM_IR_MODULE_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalAlias.h" @@ -197,7 +196,8 @@ private: NamedMDListType NamedMDList; ///< The named metadata in the module std::string GlobalScopeAsm; ///< Inline Asm at global scope. ValueSymbolTable *ValSymTab; ///< Symbol table for values - OwningPtr Materializer; ///< Used to materialize GlobalValues + std::unique_ptr + Materializer; ///< Used to materialize GlobalValues std::string ModuleID; ///< Human readable identifier for the module std::string TargetTriple; ///< Platform target triple Module compiled on void *NamedMDSymTab; ///< NamedMDNode names. diff --git a/include/llvm/LTO/LTOModule.h b/include/llvm/LTO/LTOModule.h index a70b71fa2e..1e4fa1b7b2 100644 --- a/include/llvm/LTO/LTOModule.h +++ b/include/llvm/LTO/LTOModule.h @@ -15,7 +15,6 @@ #define LTO_MODULE_H #include "llvm-c/lto.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringMap.h" #include "llvm/IR/Mangler.h" #include "llvm/IR/Module.h" @@ -48,8 +47,8 @@ private: const llvm::GlobalValue *symbol; }; - llvm::OwningPtr _module; - llvm::OwningPtr _target; + std::unique_ptr _module; + std::unique_ptr _target; llvm::MCObjectFileInfo ObjFileInfo; StringSet _linkeropt_strings; std::vector _deplibs; diff --git a/include/llvm/LineEditor/LineEditor.h b/include/llvm/LineEditor/LineEditor.h index 9335e75a56..42839edde0 100644 --- a/include/llvm/LineEditor/LineEditor.h +++ b/include/llvm/LineEditor/LineEditor.h @@ -111,7 +111,7 @@ public: private: std::string Prompt; std::string HistoryPath; - OwningPtr Data; + std::unique_ptr Data; struct CompleterConcept { virtual ~CompleterConcept(); @@ -145,7 +145,7 @@ private: T Value; }; - llvm::OwningPtr Completer; + std::unique_ptr Completer; }; } diff --git a/include/llvm/MC/MCDisassembler.h b/include/llvm/MC/MCDisassembler.h index f82ebca525..de6020b610 100644 --- a/include/llvm/MC/MCDisassembler.h +++ b/include/llvm/MC/MCDisassembler.h @@ -56,10 +56,9 @@ public: }; /// Constructor - Performs initial setup for the disassembler. - MCDisassembler(const MCSubtargetInfo &STI) : GetOpInfo(0), SymbolLookUp(0), - DisInfo(0), Ctx(0), - STI(STI), Symbolizer(0), - CommentStream(0) {} + MCDisassembler(const MCSubtargetInfo &STI) + : GetOpInfo(0), SymbolLookUp(0), DisInfo(0), Ctx(0), STI(STI), + Symbolizer(), CommentStream(0) {} virtual ~MCDisassembler(); @@ -102,7 +101,7 @@ private: protected: // Subtarget information, for instruction decoding predicates if required. const MCSubtargetInfo &STI; - OwningPtr Symbolizer; + std::unique_ptr Symbolizer; public: // Helpers around MCSymbolizer @@ -115,7 +114,7 @@ public: /// Set \p Symzer as the current symbolizer. /// This takes ownership of \p Symzer, and deletes the previously set one. - void setSymbolizer(OwningPtr &Symzer); + void setSymbolizer(std::unique_ptr &Symzer); /// Sets up an external symbolizer that uses the C API callbacks. void setupForSymbolicDisassembly(LLVMOpInfoCallback GetOpInfo, diff --git a/include/llvm/MC/MCExternalSymbolizer.h b/include/llvm/MC/MCExternalSymbolizer.h index c942adca3b..40f1d0ecc4 100644 --- a/include/llvm/MC/MCExternalSymbolizer.h +++ b/include/llvm/MC/MCExternalSymbolizer.h @@ -18,6 +18,7 @@ #include "llvm-c/Disassembler.h" #include "llvm/MC/MCSymbolizer.h" +#include namespace llvm { @@ -38,12 +39,11 @@ class MCExternalSymbolizer : public MCSymbolizer { public: MCExternalSymbolizer(MCContext &Ctx, - OwningPtr &RelInfo, + std::unique_ptr &RelInfo, LLVMOpInfoCallback getOpInfo, - LLVMSymbolLookupCallback symbolLookUp, - void *disInfo) - : MCSymbolizer(Ctx, RelInfo), - GetOpInfo(getOpInfo), SymbolLookUp(symbolLookUp), DisInfo(disInfo) {} + LLVMSymbolLookupCallback symbolLookUp, void *disInfo) + : MCSymbolizer(Ctx, RelInfo), GetOpInfo(getOpInfo), + SymbolLookUp(symbolLookUp), DisInfo(disInfo) {} bool tryAddingSymbolicOperand(MCInst &MI, raw_ostream &CommentStream, int64_t Value, diff --git a/include/llvm/MC/MCMachObjectWriter.h b/include/llvm/MC/MCMachObjectWriter.h index 3ba6e65100..38e00110b5 100644 --- a/include/llvm/MC/MCMachObjectWriter.h +++ b/include/llvm/MC/MCMachObjectWriter.h @@ -11,7 +11,6 @@ #define LLVM_MC_MCMACHOBJECTWRITER_H #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/MC/MCExpr.h" #include "llvm/MC/MCObjectWriter.h" @@ -92,7 +91,7 @@ class MachObjectWriter : public MCObjectWriter { }; /// The target specific Mach-O writer instance. - llvm::OwningPtr TargetObjectWriter; + std::unique_ptr TargetObjectWriter; /// @name Relocation Data /// @{ diff --git a/include/llvm/MC/MCModuleYAML.h b/include/llvm/MC/MCModuleYAML.h index 281e3d8dc9..c4ae829535 100644 --- a/include/llvm/MC/MCModuleYAML.h +++ b/include/llvm/MC/MCModuleYAML.h @@ -16,7 +16,6 @@ #ifndef LLVM_MC_MCMODULEYAML_H #define LLVM_MC_MCMODULEYAML_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringRef.h" #include "llvm/MC/MCModule.h" #include "llvm/Support/raw_ostream.h" @@ -33,7 +32,7 @@ StringRef mcmodule2yaml(raw_ostream &OS, const MCModule &MCM, /// \brief Creates a new module and returns it in \p MCM. /// \returns The empty string on success, an error message on failure. -StringRef yaml2mcmodule(OwningPtr &MCM, StringRef YamlContent, +StringRef yaml2mcmodule(std::unique_ptr &MCM, StringRef YamlContent, const MCInstrInfo &MII, const MCRegisterInfo &MRI); } // end namespace llvm diff --git a/include/llvm/MC/MCObjectDisassembler.h b/include/llvm/MC/MCObjectDisassembler.h index 10cc04b945..5b935db595 100644 --- a/include/llvm/MC/MCObjectDisassembler.h +++ b/include/llvm/MC/MCObjectDisassembler.h @@ -16,7 +16,6 @@ #define LLVM_MC_MCOBJECTDISASSEMBLER_H #include "llvm/ADT/ArrayRef.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/DataTypes.h" #include "llvm/Support/MemoryObject.h" @@ -67,7 +66,7 @@ public: /// \brief Set the region on which to fallback if disassembly was requested /// somewhere not accessible in the object file. /// This is used for dynamic disassembly (see RawMemoryObject). - void setFallbackRegion(OwningPtr &Region) { + void setFallbackRegion(std::unique_ptr &Region) { FallbackRegion.reset(Region.release()); } @@ -113,7 +112,7 @@ protected: MCObjectSymbolizer *MOS; /// \brief The fallback memory region, outside the object file. - OwningPtr FallbackRegion; + std::unique_ptr FallbackRegion; /// \brief Return a memory region suitable for reading starting at \p Addr. /// In most cases, this returns a StringRefMemoryObject backed by the diff --git a/include/llvm/MC/MCObjectSymbolizer.h b/include/llvm/MC/MCObjectSymbolizer.h index 64b932ebe4..6f14b561c0 100644 --- a/include/llvm/MC/MCObjectSymbolizer.h +++ b/include/llvm/MC/MCObjectSymbolizer.h @@ -41,7 +41,7 @@ protected: const object::RelocationRef *findRelocationAt(uint64_t Addr); const object::SectionRef *findSectionContaining(uint64_t Addr); - MCObjectSymbolizer(MCContext &Ctx, OwningPtr &RelInfo, + MCObjectSymbolizer(MCContext &Ctx, std::unique_ptr &RelInfo, const object::ObjectFile *Obj); public: @@ -63,8 +63,9 @@ public: /// \brief Create an object symbolizer for \p Obj. static MCObjectSymbolizer * - createObjectSymbolizer(MCContext &Ctx, OwningPtr &RelInfo, - const object::ObjectFile *Obj); + createObjectSymbolizer(MCContext &Ctx, + std::unique_ptr &RelInfo, + const object::ObjectFile *Obj); private: typedef DenseMap AddrToRelocMap; diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h index e9f6196063..02b1a40c08 100644 --- a/include/llvm/MC/MCStreamer.h +++ b/include/llvm/MC/MCStreamer.h @@ -130,7 +130,7 @@ public: void emitCurrentConstantPool(); private: - OwningPtr ConstantPools; + std::unique_ptr ConstantPools; }; /// MCStreamer - Streaming machine code generation interface. This interface @@ -144,7 +144,7 @@ private: /// class MCStreamer { MCContext &Context; - OwningPtr TargetStreamer; + std::unique_ptr TargetStreamer; MCStreamer(const MCStreamer &) LLVM_DELETED_FUNCTION; MCStreamer &operator=(const MCStreamer &) LLVM_DELETED_FUNCTION; diff --git a/include/llvm/MC/MCSymbolizer.h b/include/llvm/MC/MCSymbolizer.h index e42a2146dc..954e9ce416 100644 --- a/include/llvm/MC/MCSymbolizer.h +++ b/include/llvm/MC/MCSymbolizer.h @@ -16,10 +16,10 @@ #ifndef LLVM_MC_MCSYMBOLIZER_H #define LLVM_MC_MCSYMBOLIZER_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/MC/MCRelocationInfo.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/DataTypes.h" +#include namespace llvm { @@ -42,11 +42,11 @@ class MCSymbolizer { protected: MCContext &Ctx; - OwningPtr RelInfo; + std::unique_ptr RelInfo; public: /// \brief Construct an MCSymbolizer, taking ownership of \p RelInfo. - MCSymbolizer(MCContext &Ctx, OwningPtr &RelInfo); + MCSymbolizer(MCContext &Ctx, std::unique_ptr &RelInfo); virtual ~MCSymbolizer(); /// \brief Try to add a symbolic operand instead of \p Value to the MCInst. diff --git a/include/llvm/Object/IRObjectFile.h b/include/llvm/Object/IRObjectFile.h index 5fcbb386d8..78f5b2b64f 100644 --- a/include/llvm/Object/IRObjectFile.h +++ b/include/llvm/Object/IRObjectFile.h @@ -23,8 +23,9 @@ class GlobalValue; namespace object { class IRObjectFile : public SymbolicFile { - OwningPtr M; - OwningPtr Mang; + std::unique_ptr M; + std::unique_ptr Mang; + public: IRObjectFile(MemoryBuffer *Object, error_code &EC, LLVMContext &Context, bool BufferOwned); diff --git a/include/llvm/Object/MachOUniversal.h b/include/llvm/Object/MachOUniversal.h index ba02df9071..9b1afd2072 100644 --- a/include/llvm/Object/MachOUniversal.h +++ b/include/llvm/Object/MachOUniversal.h @@ -14,7 +14,6 @@ #ifndef LLVM_OBJECT_MACHOUNIVERSAL_H #define LLVM_OBJECT_MACHOUNIVERSAL_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Triple.h" #include "llvm/Object/Binary.h" @@ -53,7 +52,7 @@ public: ObjectForArch getNext() const { return ObjectForArch(Parent, Index + 1); } uint32_t getCPUType() const { return Header.cputype; } - error_code getAsObjectFile(OwningPtr &Result) const; + error_code getAsObjectFile(std::unique_ptr &Result) const; }; class object_iterator { @@ -95,7 +94,7 @@ public: } error_code getObjectForArch(Triple::ArchType Arch, - OwningPtr &Result) const; + std::unique_ptr &Result) const; }; } diff --git a/include/llvm/Support/Compression.h b/include/llvm/Support/Compression.h index ea3962ecd9..80eff5c628 100644 --- a/include/llvm/Support/Compression.h +++ b/include/llvm/Support/Compression.h @@ -15,11 +15,11 @@ #define LLVM_SUPPORT_COMPRESSION_H #include "llvm/Support/DataTypes.h" +#include namespace llvm { class MemoryBuffer; -template class OwningPtr; class StringRef; namespace zlib { @@ -43,11 +43,11 @@ enum Status { bool isAvailable(); Status compress(StringRef InputBuffer, - OwningPtr &CompressedBuffer, + std::unique_ptr &CompressedBuffer, CompressionLevel Level = DefaultCompression); Status uncompress(StringRef InputBuffer, - OwningPtr &UncompressedBuffer, + std::unique_ptr &UncompressedBuffer, size_t UncompressedSize); uint32_t crc32(StringRef Buffer); diff --git a/include/llvm/Support/FileSystem.h b/include/llvm/Support/FileSystem.h index b57a8b07a3..1812d24ead 100644 --- a/include/llvm/Support/FileSystem.h +++ b/include/llvm/Support/FileSystem.h @@ -28,7 +28,6 @@ #define LLVM_SUPPORT_FILESYSTEM_H #include "llvm/ADT/IntrusiveRefCntPtr.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/Twine.h" #include "llvm/Support/DataTypes.h" diff --git a/include/llvm/Support/StreamableMemoryObject.h b/include/llvm/Support/StreamableMemoryObject.h index 1eb4c32dbc..e2908756c3 100644 --- a/include/llvm/Support/StreamableMemoryObject.h +++ b/include/llvm/Support/StreamableMemoryObject.h @@ -11,10 +11,11 @@ #ifndef LLVM_SUPPORT_STREAMABLEMEMORYOBJECT_H #define LLVM_SUPPORT_STREAMABLEMEMORYOBJECT_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/DataStream.h" #include "llvm/Support/MemoryObject.h" +#include +#include #include namespace llvm { @@ -137,7 +138,7 @@ public: private: const static uint32_t kChunkSize = 4096 * 4; mutable std::vector Bytes; - OwningPtr Streamer; + std::unique_ptr Streamer; mutable size_t BytesRead; // Bytes read from stream size_t BytesSkipped;// Bytes skipped at start of stream (e.g. wrapper/header) mutable size_t ObjectSize; // 0 if unknown, set if wrapper seen or EOF reached diff --git a/include/llvm/Support/YAMLParser.h b/include/llvm/Support/YAMLParser.h index 492d6ec7fc..c11aa25094 100644 --- a/include/llvm/Support/YAMLParser.h +++ b/include/llvm/Support/YAMLParser.h @@ -38,7 +38,6 @@ #ifndef LLVM_SUPPORT_YAMLPARSER_H #define LLVM_SUPPORT_YAMLPARSER_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/Allocator.h" @@ -96,8 +95,8 @@ public: void printError(Node *N, const Twine &Msg); private: - OwningPtr scanner; - OwningPtr CurrentDoc; + std::unique_ptr scanner; + std::unique_ptr CurrentDoc; friend class Document; }; @@ -115,7 +114,7 @@ public: NK_Alias }; - Node(unsigned int Type, OwningPtr &, StringRef Anchor, + Node(unsigned int Type, std::unique_ptr &, StringRef Anchor, StringRef Tag); /// @brief Get the value of the anchor attached to this node. If it does not @@ -156,7 +155,7 @@ public: } protected: - OwningPtr &Doc; + std::unique_ptr &Doc; SMRange SourceRange; void operator delete(void *) throw() {} @@ -177,7 +176,7 @@ private: class NullNode : public Node { void anchor() override; public: - NullNode(OwningPtr &D) + NullNode(std::unique_ptr &D) : Node(NK_Null, D, StringRef(), StringRef()) {} static inline bool classof(const Node *N) { @@ -193,7 +192,7 @@ public: class ScalarNode : public Node { void anchor() override; public: - ScalarNode(OwningPtr &D, StringRef Anchor, StringRef Tag, + ScalarNode(std::unique_ptr &D, StringRef Anchor, StringRef Tag, StringRef Val) : Node(NK_Scalar, D, Anchor, Tag), Value(Val) { SMLoc Start = SMLoc::getFromPointer(Val.begin()); @@ -235,11 +234,8 @@ private: class KeyValueNode : public Node { void anchor() override; public: - KeyValueNode(OwningPtr &D) - : Node(NK_KeyValue, D, StringRef(), StringRef()) - , Key(0) - , Value(0) - {} + KeyValueNode(std::unique_ptr &D) + : Node(NK_KeyValue, D, StringRef(), StringRef()), Key(0), Value(0) {} /// @brief Parse and return the key. /// @@ -353,7 +349,7 @@ public: MT_Inline ///< An inline mapping node is used for "[key: value]". }; - MappingNode(OwningPtr &D, StringRef Anchor, StringRef Tag, + MappingNode(std::unique_ptr &D, StringRef Anchor, StringRef Tag, MappingType MT) : Node(NK_Mapping, D, Anchor, Tag), Type(MT), IsAtBeginning(true), IsAtEnd(false), CurrentEntry(0) {} @@ -410,7 +406,7 @@ public: ST_Indentless }; - SequenceNode(OwningPtr &D, StringRef Anchor, StringRef Tag, + SequenceNode(std::unique_ptr &D, StringRef Anchor, StringRef Tag, SequenceType ST) : Node(NK_Sequence, D, Anchor, Tag), SeqType(ST), IsAtBeginning(true), IsAtEnd(false), @@ -453,8 +449,8 @@ private: class AliasNode : public Node { void anchor() override; public: - AliasNode(OwningPtr &D, StringRef Val) - : Node(NK_Alias, D, StringRef(), StringRef()), Name(Val) {} + AliasNode(std::unique_ptr &D, StringRef Val) + : Node(NK_Alias, D, StringRef(), StringRef()), Name(Val) {} StringRef getName() const { return Name; } Node *getTarget(); @@ -531,7 +527,7 @@ private: class document_iterator { public: document_iterator() : Doc(0) {} - document_iterator(OwningPtr &D) : Doc(&D) {} + document_iterator(std::unique_ptr &D) : Doc(&D) {} bool operator ==(const document_iterator &Other) { if (isAtEnd() || Other.isAtEnd()) @@ -558,16 +554,14 @@ public: return *Doc->get(); } - OwningPtr &operator ->() { - return *Doc; - } + std::unique_ptr &operator->() { return *Doc; } private: bool isAtEnd() const { return !Doc || !*Doc; } - OwningPtr *Doc; + std::unique_ptr *Doc; }; } diff --git a/include/llvm/Support/YAMLTraits.h b/include/llvm/Support/YAMLTraits.h index b2f214b42e..e5d2308aee 100644 --- a/include/llvm/Support/YAMLTraits.h +++ b/include/llvm/Support/YAMLTraits.h @@ -852,15 +852,15 @@ public: void nextDocument(); private: - llvm::SourceMgr SrcMgr; // must be before Strm - OwningPtr Strm; - OwningPtr TopNode; - llvm::error_code EC; - llvm::BumpPtrAllocator StringAllocator; - llvm::yaml::document_iterator DocIterator; - std::vector BitValuesUsed; - HNode *CurrentNode; - bool ScalarMatchFound; + llvm::SourceMgr SrcMgr; // must be before Strm + std::unique_ptr Strm; + std::unique_ptr TopNode; + llvm::error_code EC; + llvm::BumpPtrAllocator StringAllocator; + llvm::yaml::document_iterator DocIterator; + std::vector BitValuesUsed; + HNode *CurrentNode; + bool ScalarMatchFound; }; diff --git a/lib/Analysis/MemoryDependenceAnalysis.cpp b/lib/Analysis/MemoryDependenceAnalysis.cpp index 29c8513cab..015ded18d9 100644 --- a/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -59,7 +59,7 @@ INITIALIZE_PASS_END(MemoryDependenceAnalysis, "memdep", "Memory Dependence Analysis", false, true) MemoryDependenceAnalysis::MemoryDependenceAnalysis() -: FunctionPass(ID), PredCache(0) { + : FunctionPass(ID), PredCache() { initializeMemoryDependenceAnalysisPass(*PassRegistry::getPassRegistry()); } MemoryDependenceAnalysis::~MemoryDependenceAnalysis() { diff --git a/lib/AsmParser/Parser.cpp b/lib/AsmParser/Parser.cpp index 67e9c256eb..a1da5e1163 100644 --- a/lib/AsmParser/Parser.cpp +++ b/lib/AsmParser/Parser.cpp @@ -13,7 +13,6 @@ #include "llvm/AsmParser/Parser.h" #include "LLParser.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Module.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/SourceMgr.h" @@ -34,7 +33,7 @@ Module *llvm::ParseAssembly(MemoryBuffer *F, return LLParser(F, SM, Err, M).Run() ? 0 : M; // Otherwise create a new module. - OwningPtr M2(new Module(F->getBufferIdentifier(), Context)); + std::unique_ptr M2(new Module(F->getBufferIdentifier(), Context)); if (LLParser(F, SM, Err, M2.get()).Run()) return 0; return M2.release(); @@ -42,7 +41,7 @@ Module *llvm::ParseAssembly(MemoryBuffer *F, Module *llvm::ParseAssemblyFile(const std::string &Filename, SMDiagnostic &Err, LLVMContext &Context) { - OwningPtr File; + std::unique_ptr File; if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, File)) { Err = SMDiagnostic(Filename, SourceMgr::DK_Error, "Could not open input file: " + ec.message()); diff --git a/lib/Bitcode/Reader/BitcodeReader.h b/lib/Bitcode/Reader/BitcodeReader.h index 1337da1025..15be31f039 100644 --- a/lib/Bitcode/Reader/BitcodeReader.h +++ b/lib/Bitcode/Reader/BitcodeReader.h @@ -127,7 +127,7 @@ class BitcodeReader : public GVMaterializer { Module *TheModule; MemoryBuffer *Buffer; bool BufferOwned; - OwningPtr StreamFile; + std::unique_ptr StreamFile; BitstreamCursor Stream; DataStreamer *LazyStreamer; uint64_t NextUnreadBit; diff --git a/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp b/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp index 27f009915e..567b6e3b18 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp @@ -13,7 +13,6 @@ #define DEBUG_TYPE "asm-printer" #include "llvm/CodeGen/AsmPrinter.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/Twine.h" #include "llvm/CodeGen/MachineBasicBlock.h" @@ -118,16 +117,15 @@ void AsmPrinter::EmitInlineAsm(StringRef Str, const MDNode *LocMDNode, // Tell SrcMgr about this buffer, it takes ownership of the buffer. SrcMgr.AddNewSourceBuffer(Buffer, SMLoc()); - OwningPtr Parser(createMCAsmParser(SrcMgr, - OutContext, OutStreamer, - *MAI)); + std::unique_ptr Parser( + createMCAsmParser(SrcMgr, OutContext, OutStreamer, *MAI)); // Initialize the parser with a fresh subtarget info. It is better to use a // new STI here because the parser may modify it and we do not want those // modifications to persist after parsing the inlineasm. The modifications // made by the parser will be seen by the code emitters because it passes // the current STI down to the EncodeInstruction() method. - OwningPtr STI(TM.getTarget().createMCSubtargetInfo( + std::unique_ptr STI(TM.getTarget().createMCSubtargetInfo( TM.getTargetTriple(), TM.getTargetCPU(), TM.getTargetFeatureString())); // Preserve a copy of the original STI because the parser may modify it. For @@ -136,8 +134,8 @@ void AsmPrinter::EmitInlineAsm(StringRef Str, const MDNode *LocMDNode, // emitInlineAsmEnd(). MCSubtargetInfo STIOrig = *STI; - OwningPtr - TAP(TM.getTarget().createMCAsmParser(*STI, *Parser, *MII)); + std::unique_ptr TAP( + TM.getTarget().createMCAsmParser(*STI, *Parser, *MII)); if (!TAP) report_fatal_error("Inline asm not supported by this streamer because" " we don't have an asm parser for this target\n"); diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.h b/lib/CodeGen/AsmPrinter/DwarfUnit.h index 3a3f1660c9..937a607fa8 100644 --- a/lib/CodeGen/AsmPrinter/DwarfUnit.h +++ b/lib/CodeGen/AsmPrinter/DwarfUnit.h @@ -18,7 +18,6 @@ #include "DwarfDebug.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/Optional.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringMap.h" #include "llvm/IR/DIBuilder.h" #include "llvm/IR/DebugInfo.h" @@ -71,7 +70,7 @@ protected: DICompileUnit CUNode; /// Unit debug information entry. - const OwningPtr UnitDie; + const std::unique_ptr UnitDie; /// Offset of the UnitDie from beginning of debug info section. unsigned DebugInfoOffset; diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index e77acce74f..77f8377d9b 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Target/TargetMachine.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/CodeGen/AsmPrinter.h" #include "llvm/CodeGen/MachineFunctionAnalysis.h" #include "llvm/CodeGen/MachineModuleInfo.h" @@ -174,7 +173,7 @@ bool LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM, const MCRegisterInfo &MRI = *getRegisterInfo(); const MCInstrInfo &MII = *getInstrInfo(); const MCSubtargetInfo &STI = getSubtarget(); - OwningPtr AsmStreamer; + std::unique_ptr AsmStreamer; switch (FileType) { case CGFT_AssemblyFile: { @@ -281,7 +280,7 @@ bool LLVMTargetMachine::addPassesToEmitMC(PassManagerBase &PM, if (MCE == 0 || MAB == 0) return true; - OwningPtr AsmStreamer; + std::unique_ptr AsmStreamer; AsmStreamer.reset(getTarget().createMCObjectStreamer( getTargetTriple(), *Ctx, *MAB, Out, MCE, STI, hasMCRelaxAll(), hasMCNoExecStack())); diff --git a/lib/CodeGen/LiveRegMatrix.cpp b/lib/CodeGen/LiveRegMatrix.cpp index 7c94378663..7f797beec8 100644 --- a/lib/CodeGen/LiveRegMatrix.cpp +++ b/lib/CodeGen/LiveRegMatrix.cpp @@ -67,7 +67,7 @@ void LiveRegMatrix::releaseMemory() { Matrix[i].clear(); // No need to clear Queries here, since LiveIntervalUnion::Query doesn't // have anything important to clear and LiveRegMatrix's runOnFunction() - // does a OwningPtr::reset anyways. + // does a std::unique_ptr::reset anyways. } } diff --git a/lib/CodeGen/MachineScheduler.cpp b/lib/CodeGen/MachineScheduler.cpp index e8b8713d1e..06b64e2b72 100644 --- a/lib/CodeGen/MachineScheduler.cpp +++ b/lib/CodeGen/MachineScheduler.cpp @@ -15,7 +15,6 @@ #define DEBUG_TYPE "misched" #include "llvm/CodeGen/MachineScheduler.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/PriorityQueue.h" #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/CodeGen/LiveIntervalAnalysis.h" @@ -321,7 +320,7 @@ bool MachineScheduler::runOnMachineFunction(MachineFunction &mf) { // Instantiate the selected scheduler for this target, function, and // optimization level. - OwningPtr Scheduler(createMachineScheduler()); + std::unique_ptr Scheduler(createMachineScheduler()); scheduleRegions(*Scheduler); DEBUG(LIS->dump()); @@ -342,7 +341,7 @@ bool PostMachineScheduler::runOnMachineFunction(MachineFunction &mf) { // Instantiate the selected scheduler for this target, function, and // optimization level. - OwningPtr Scheduler(createPostMachineScheduler()); + std::unique_ptr Scheduler(createPostMachineScheduler()); scheduleRegions(*Scheduler); if (VerifyScheduling) diff --git a/lib/CodeGen/RegAllocBase.h b/lib/CodeGen/RegAllocBase.h index c17a8d96ef..68bd4b5b63 100644 --- a/lib/CodeGen/RegAllocBase.h +++ b/lib/CodeGen/RegAllocBase.h @@ -37,7 +37,6 @@ #ifndef LLVM_CODEGEN_REGALLOCBASE #define LLVM_CODEGEN_REGALLOCBASE -#include "llvm/ADT/OwningPtr.h" #include "llvm/CodeGen/LiveInterval.h" #include "llvm/CodeGen/RegisterClassInfo.h" diff --git a/lib/CodeGen/RegAllocBasic.cpp b/lib/CodeGen/RegAllocBasic.cpp index 6768e45c6c..fbb9b69cff 100644 --- a/lib/CodeGen/RegAllocBasic.cpp +++ b/lib/CodeGen/RegAllocBasic.cpp @@ -64,7 +64,7 @@ class RABasic : public MachineFunctionPass, public RegAllocBase MachineFunction *MF; // state - OwningPtr SpillerInstance; + std::unique_ptr SpillerInstance; std::priority_queue, CompSpillWeight> Queue; diff --git a/lib/CodeGen/RegAllocGreedy.cpp b/lib/CodeGen/RegAllocGreedy.cpp index b9cc2fec8d..1621faad97 100644 --- a/lib/CodeGen/RegAllocGreedy.cpp +++ b/lib/CodeGen/RegAllocGreedy.cpp @@ -101,7 +101,7 @@ class RAGreedy : public MachineFunctionPass, LiveDebugVariables *DebugVars; // state - OwningPtr SpillerInstance; + std::unique_ptr SpillerInstance; PQueue Queue; unsigned NextCascade; @@ -196,8 +196,8 @@ class RAGreedy : public MachineFunctionPass, }; // splitting state. - OwningPtr SA; - OwningPtr SE; + std::unique_ptr SA; + std::unique_ptr SE; /// Cached per-block interference maps InterferenceCache IntfCache; diff --git a/lib/CodeGen/RegAllocPBQP.cpp b/lib/CodeGen/RegAllocPBQP.cpp index c9588db738..0273ad09d2 100644 --- a/lib/CodeGen/RegAllocPBQP.cpp +++ b/lib/CodeGen/RegAllocPBQP.cpp @@ -34,7 +34,6 @@ #include "llvm/CodeGen/RegAllocPBQP.h" #include "RegisterCoalescer.h" #include "Spiller.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/CodeGen/CalcSpillWeights.h" #include "llvm/CodeGen/LiveIntervalAnalysis.h" @@ -88,7 +87,7 @@ public: static char ID; /// Construct a PBQP register allocator. - RegAllocPBQP(OwningPtr &b, char *cPassID=0) + RegAllocPBQP(std::unique_ptr &b, char *cPassID=0) : MachineFunctionPass(ID), builder(b.release()), customPassID(cPassID) { initializeSlotIndexesPass(*PassRegistry::getPassRegistry()); initializeLiveIntervalsPass(*PassRegistry::getPassRegistry()); @@ -117,8 +116,7 @@ private: typedef std::map CoalesceMap; typedef std::set RegSet; - - OwningPtr builder; + std::unique_ptr builder; char *customPassID; @@ -129,7 +127,7 @@ private: MachineRegisterInfo *mri; const MachineBlockFrequencyInfo *mbfi; - OwningPtr spiller; + std::unique_ptr spiller; LiveIntervals *lis; LiveStacks *lss; VirtRegMap *vrm; @@ -191,7 +189,7 @@ PBQPRAProblem *PBQPBuilder::build(MachineFunction *mf, const LiveIntervals *lis, MachineRegisterInfo *mri = &mf->getRegInfo(); const TargetRegisterInfo *tri = mf->getTarget().getRegisterInfo(); - OwningPtr p(new PBQPRAProblem()); + std::unique_ptr p(new PBQPRAProblem()); PBQPRAGraph &g = p->getGraph(); RegSet pregs; @@ -314,7 +312,7 @@ PBQPRAProblem *PBQPBuilderWithCoalescing::build(MachineFunction *mf, const MachineBlockFrequencyInfo *mbfi, const RegSet &vregs) { - OwningPtr p(PBQPBuilder::build(mf, lis, mbfi, vregs)); + std::unique_ptr p(PBQPBuilder::build(mf, lis, mbfi, vregs)); PBQPRAGraph &g = p->getGraph(); const TargetMachine &tm = mf->getTarget(); @@ -587,8 +585,8 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) { while (!pbqpAllocComplete) { DEBUG(dbgs() << " PBQP Regalloc round " << round << ":\n"); - OwningPtr problem( - builder->build(mf, lis, mbfi, vregsToAlloc)); + std::unique_ptr problem( + builder->build(mf, lis, mbfi, vregsToAlloc)); #ifndef NDEBUG if (pbqpDumpGraphs) { @@ -622,14 +620,14 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) { return true; } -FunctionPass* llvm::createPBQPRegisterAllocator( - OwningPtr &builder, - char *customPassID) { +FunctionPass * +llvm::createPBQPRegisterAllocator(std::unique_ptr &builder, + char *customPassID) { return new RegAllocPBQP(builder, customPassID); } FunctionPass* llvm::createDefaultPBQPRegisterAllocator() { - OwningPtr Builder; + std::unique_ptr Builder; if (pbqpCoalescing) Builder.reset(new PBQPBuilderWithCoalescing()); else diff --git a/lib/CodeGen/RegisterCoalescer.cpp b/lib/CodeGen/RegisterCoalescer.cpp index cbec942273..43a841ad69 100644 --- a/lib/CodeGen/RegisterCoalescer.cpp +++ b/lib/CodeGen/RegisterCoalescer.cpp @@ -15,7 +15,6 @@ #define DEBUG_TYPE "regalloc" #include "RegisterCoalescer.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallSet.h" #include "llvm/ADT/Statistic.h" diff --git a/lib/CodeGen/TailDuplication.cpp b/lib/CodeGen/TailDuplication.cpp index c493171a8c..df0e52926c 100644 --- a/lib/CodeGen/TailDuplication.cpp +++ b/lib/CodeGen/TailDuplication.cpp @@ -15,7 +15,6 @@ #define DEBUG_TYPE "tailduplication" #include "llvm/CodeGen/Passes.h" #include "llvm/ADT/DenseSet.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SetVector.h" #include "llvm/ADT/SmallSet.h" #include "llvm/ADT/Statistic.h" @@ -65,7 +64,7 @@ namespace { const MachineBranchProbabilityInfo *MBPI; MachineModuleInfo *MMI; MachineRegisterInfo *MRI; - OwningPtr RS; + std::unique_ptr RS; bool PreRegAlloc; // SSAUpdateVRs - A list of virtual registers for which to update SSA form. diff --git a/lib/DebugInfo/DWARFContext.cpp b/lib/DebugInfo/DWARFContext.cpp index 5cce8df521..37e86bd92d 100644 --- a/lib/DebugInfo/DWARFContext.cpp +++ b/lib/DebugInfo/DWARFContext.cpp @@ -301,7 +301,7 @@ void DWARFContext::parseCompileUnits() { const DataExtractor &DIData = DataExtractor(getInfoSection().Data, isLittleEndian(), 0); while (DIData.isValidOffset(offset)) { - OwningPtr CU(new DWARFCompileUnit( + std::unique_ptr CU(new DWARFCompileUnit( getDebugAbbrev(), getInfoSection().Data, getAbbrevSection(), getRangeSection(), getStringSection(), StringRef(), getAddrSection(), &getInfoSection().Relocs, isLittleEndian())); @@ -321,7 +321,7 @@ void DWARFContext::parseTypeUnits() { const DataExtractor &DIData = DataExtractor(I->second.Data, isLittleEndian(), 0); while (DIData.isValidOffset(offset)) { - OwningPtr TU(new DWARFTypeUnit( + std::unique_ptr TU(new DWARFTypeUnit( getDebugAbbrev(), I->second.Data, getAbbrevSection(), getRangeSection(), getStringSection(), StringRef(), getAddrSection(), &I->second.Relocs, isLittleEndian())); @@ -338,7 +338,7 @@ void DWARFContext::parseDWOCompileUnits() { const DataExtractor &DIData = DataExtractor(getInfoDWOSection().Data, isLittleEndian(), 0); while (DIData.isValidOffset(offset)) { - OwningPtr DWOCU(new DWARFCompileUnit( + std::unique_ptr DWOCU(new DWARFCompileUnit( getDebugAbbrevDWO(), getInfoDWOSection().Data, getAbbrevDWOSection(), getRangeDWOSection(), getStringDWOSection(), getStringOffsetDWOSection(), getAddrSection(), @@ -359,7 +359,7 @@ void DWARFContext::parseDWOTypeUnits() { const DataExtractor &DIData = DataExtractor(I->second.Data, isLittleEndian(), 0); while (DIData.isValidOffset(offset)) { - OwningPtr TU(new DWARFTypeUnit( + std::unique_ptr TU(new DWARFTypeUnit( getDebugAbbrevDWO(), I->second.Data, getAbbrevDWOSection(), getRangeDWOSection(), getStringDWOSection(), getStringOffsetDWOSection(), getAddrSection(), &I->second.Relocs, @@ -629,7 +629,7 @@ DWARFContextInMemory::DWARFContextInMemory(object::ObjectFile *Obj) : if (!zlib::isAvailable() || !consumeCompressedDebugSectionHeader(data, OriginalSize)) continue; - OwningPtr UncompressedSection; + std::unique_ptr UncompressedSection; if (zlib::uncompress(data, UncompressedSection, OriginalSize) != zlib::StatusOK) continue; diff --git a/lib/DebugInfo/DWARFContext.h b/lib/DebugInfo/DWARFContext.h index 823e98a6b3..96eaa70bd5 100644 --- a/lib/DebugInfo/DWARFContext.h +++ b/lib/DebugInfo/DWARFContext.h @@ -18,7 +18,6 @@ #include "DWARFDebugRangeList.h" #include "DWARFTypeUnit.h" #include "llvm/ADT/MapVector.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallVector.h" #include "llvm/DebugInfo/DIContext.h" @@ -31,15 +30,15 @@ namespace llvm { class DWARFContext : public DIContext { SmallVector CUs; SmallVector TUs; - OwningPtr Abbrev; - OwningPtr Loc; - OwningPtr Aranges; - OwningPtr Line; - OwningPtr DebugFrame; + std::unique_ptr Abbrev; + std::unique_ptr Loc; + std::unique_ptr Aranges; + std::unique_ptr Line; + std::unique_ptr DebugFrame; SmallVector DWOCUs; SmallVector DWOTUs; - OwningPtr AbbrevDWO; + std::unique_ptr AbbrevDWO; DWARFContext(DWARFContext &) LLVM_DELETED_FUNCTION; DWARFContext &operator=(DWARFContext &) LLVM_DELETED_FUNCTION; diff --git a/lib/DebugInfo/DWARFUnit.h b/lib/DebugInfo/DWARFUnit.h index d7d9aa27a8..5b4cf0905b 100644 --- a/lib/DebugInfo/DWARFUnit.h +++ b/lib/DebugInfo/DWARFUnit.h @@ -14,7 +14,6 @@ #include "DWARFDebugInfoEntry.h" #include "DWARFDebugRangeList.h" #include "DWARFRelocMap.h" -#include "llvm/ADT/OwningPtr.h" #include namespace llvm { @@ -50,14 +49,14 @@ class DWARFUnit { std::vector DieArray; class DWOHolder { - OwningPtr DWOFile; - OwningPtr DWOContext; + std::unique_ptr DWOFile; + std::unique_ptr DWOContext; DWARFUnit *DWOU; public: DWOHolder(object::ObjectFile *DWOFile); DWARFUnit *getUnit() const { return DWOU; } }; - OwningPtr DWO; + std::unique_ptr DWO; protected: virtual bool extractImpl(DataExtractor debug_info, uint32_t *offset_ptr); diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index fee1526780..30185d78cb 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -443,7 +443,7 @@ ExecutionEngine *ExecutionEngine::createJIT(Module *M, } ExecutionEngine *EngineBuilder::create(TargetMachine *TM) { - OwningPtr TheTM(TM); // Take ownership. + std::unique_ptr TheTM(TM); // Take ownership. // Make sure we can resolve symbols in the program as well. The zero arg // to the function tells DynamicLibrary to load the program, not a library. diff --git a/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp b/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp index 150ef1fff9..2ca4e3e411 100644 --- a/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp +++ b/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp @@ -20,7 +20,6 @@ #include "llvm/IR/Function.h" #include "llvm/IR/Metadata.h" #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/CodeGen/MachineFunction.h" #include "llvm/DebugInfo/DIContext.h" #include "llvm/ExecutionEngine/ObjectImage.h" @@ -40,7 +39,7 @@ namespace { class IntelJITEventListener : public JITEventListener { typedef DenseMap MethodIDMap; - OwningPtr Wrapper; + std::unique_ptr Wrapper; MethodIDMap MethodIDs; FilenameCache Filenames; diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp index 64cee037a0..b0e48cae18 100644 --- a/lib/ExecutionEngine/JIT/JITEmitter.cpp +++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp @@ -15,7 +15,6 @@ #define DEBUG_TYPE "jit" #include "JIT.h" #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/Statistic.h" diff --git a/lib/ExecutionEngine/MCJIT/MCJIT.cpp b/lib/ExecutionEngine/MCJIT/MCJIT.cpp index ce746a546b..aa5f724024 100644 --- a/lib/ExecutionEngine/MCJIT/MCJIT.cpp +++ b/lib/ExecutionEngine/MCJIT/MCJIT.cpp @@ -146,7 +146,7 @@ ObjectBufferStream* MCJIT::emitObject(Module *M) { PM.add(new DataLayoutPass(M)); // The RuntimeDyld will take ownership of this shortly - OwningPtr CompiledObject(new ObjectBufferStream()); + std::unique_ptr CompiledObject(new ObjectBufferStream()); // Turn the machine code intermediate representation into bytes in memory // that may be executed. @@ -164,7 +164,7 @@ ObjectBufferStream* MCJIT::emitObject(Module *M) { if (ObjCache) { // MemoryBuffer is a thin wrapper around the actual memory, so it's OK // to create a temporary object here and delete it after the call. - OwningPtr MB(CompiledObject->getMemBuffer()); + std::unique_ptr MB(CompiledObject->getMemBuffer()); ObjCache->notifyObjectCompiled(M, MB.get()); } @@ -183,10 +183,10 @@ void MCJIT::generateCodeForModule(Module *M) { if (OwnedModules.hasModuleBeenLoaded(M)) return; - OwningPtr ObjectToLoad; + std::unique_ptr ObjectToLoad; // Try to load the pre-compiled object from cache if possible if (0 != ObjCache) { - OwningPtr PreCompiledObject(ObjCache->getObject(M)); + std::unique_ptr PreCompiledObject(ObjCache->getObject(M)); if (0 != PreCompiledObject.get()) ObjectToLoad.reset(new ObjectBuffer(PreCompiledObject.release())); } @@ -304,7 +304,7 @@ uint64_t MCJIT::getSymbolAddress(const std::string &Name, // Look for our symbols in each Archive object::Archive::child_iterator ChildIt = A->findSym(Name); if (ChildIt != A->child_end()) { - OwningPtr ChildBin; + std::unique_ptr ChildBin; // FIXME: Support nested archives? if (!ChildIt->getAsBinary(ChildBin) && ChildBin->isObject()) { object::ObjectFile *OF = reinterpret_cast( diff --git a/lib/ExecutionEngine/MCJIT/MCJIT.h b/lib/ExecutionEngine/MCJIT/MCJIT.h index 09c1bae24e..8fb7474357 100644 --- a/lib/ExecutionEngine/MCJIT/MCJIT.h +++ b/lib/ExecutionEngine/MCJIT/MCJIT.h @@ -76,7 +76,7 @@ public: private: MCJIT *ParentEngine; - OwningPtr ClientMM; + std::unique_ptr ClientMM; }; // About Module states: added->loaded->finalized. diff --git a/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp b/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp index f71b3ea4a4..87cef2e076 100644 --- a/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp +++ b/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp @@ -18,7 +18,6 @@ #define DEBUG_TYPE "oprofile-jit-event-listener" #include "llvm/IR/DebugInfo.h" #include "llvm/IR/Function.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/CodeGen/MachineFunction.h" #include "llvm/ExecutionEngine/ObjectImage.h" #include "llvm/ExecutionEngine/OProfileWrapper.h" @@ -229,7 +228,8 @@ void OProfileJITEventListener::NotifyFreeingObject(const ObjectImage &Obj) { namespace llvm { JITEventListener *JITEventListener::createOProfileJITEventListener() { - static OwningPtr JITProfilingWrapper(new OProfileWrapper); + static std::unique_ptr JITProfilingWrapper( + new OProfileWrapper); return new OProfileJITEventListener(*JITProfilingWrapper); } diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index 6055ffe823..d45b47218a 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp @@ -96,7 +96,7 @@ ObjectImage *RuntimeDyldImpl::loadObject(ObjectBuffer *InputBuffer) { ObjectImage *RuntimeDyldImpl::loadObject(ObjectImage *InputObject) { MutexGuard locked(lock); - OwningPtr Obj(InputObject); + std::unique_ptr Obj(InputObject); if (!Obj) return NULL; diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp index c3736691c2..6ca7fd38d2 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp @@ -16,7 +16,6 @@ #include "JITRegistrar.h" #include "ObjectImageCommon.h" #include "llvm/ADT/IntervalMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Triple.h" diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp index be80cbcfda..62de7b707c 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp @@ -13,7 +13,6 @@ #define DEBUG_TYPE "dyld" #include "RuntimeDyldMachO.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringRef.h" using namespace llvm; diff --git a/lib/IR/AsmWriter.h b/lib/IR/AsmWriter.h index 8f4a37777e..222d3a490f 100644 --- a/lib/IR/AsmWriter.h +++ b/lib/IR/AsmWriter.h @@ -16,7 +16,6 @@ #define LLVM_IR_ASSEMBLYWRITER_H #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Attributes.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/TypeFinder.h" @@ -67,7 +66,7 @@ protected: const Module *TheModule; private: - OwningPtr ModuleSlotTracker; + std::unique_ptr ModuleSlotTracker; SlotTracker &Machine; TypePrinting TypePrinter; AssemblyAnnotationWriter *AnnotationWriter; diff --git a/lib/IR/Core.cpp b/lib/IR/Core.cpp index efca2bffbf..6c012736de 100644 --- a/lib/IR/Core.cpp +++ b/lib/IR/Core.cpp @@ -2536,7 +2536,7 @@ LLVMBool LLVMCreateMemoryBufferWithContentsOfFile( LLVMMemoryBufferRef *OutMemBuf, char **OutMessage) { - OwningPtr MB; + std::unique_ptr MB; error_code ec; if (!(ec = MemoryBuffer::getFile(Path, MB))) { *OutMemBuf = wrap(MB.release()); @@ -2549,7 +2549,7 @@ LLVMBool LLVMCreateMemoryBufferWithContentsOfFile( LLVMBool LLVMCreateMemoryBufferWithSTDIN(LLVMMemoryBufferRef *OutMemBuf, char **OutMessage) { - OwningPtr MB; + std::unique_ptr MB; error_code ec; if (!(ec = MemoryBuffer::getSTDIN(MB))) { *OutMemBuf = wrap(MB.release()); diff --git a/lib/IR/GCOV.cpp b/lib/IR/GCOV.cpp index a0591fffb9..dc9cb4b2a8 100644 --- a/lib/IR/GCOV.cpp +++ b/lib/IR/GCOV.cpp @@ -13,7 +13,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/GCOV.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/Debug.h" #include "llvm/Support/FileSystem.h" @@ -472,7 +471,7 @@ void FileInfo::print(StringRef GCNOFile, StringRef GCDAFile) { for (StringMap::const_iterator I = LineInfo.begin(), E = LineInfo.end(); I != E; ++I) { StringRef Filename = I->first(); - OwningPtr Buff; + std::unique_ptr Buff; if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, Buff)) { errs() << Filename << ": " << ec.message() << "\n"; return; diff --git a/lib/IR/Module.cpp b/lib/IR/Module.cpp index 6093d35689..6a3a38f60b 100644 --- a/lib/IR/Module.cpp +++ b/lib/IR/Module.cpp @@ -43,7 +43,7 @@ template class llvm::SymbolTableListTraits; // Module::Module(StringRef MID, LLVMContext &C) - : Context(C), Materializer(NULL), ModuleID(MID), DL("") { + : Context(C), Materializer(), ModuleID(MID), DL("") { ValSymTab = new ValueSymbolTable(); NamedMDSymTab = new StringMap(); Context.addModule(this); diff --git a/lib/IRReader/IRReader.cpp b/lib/IRReader/IRReader.cpp index 29a70403ae..8be8ab882e 100644 --- a/lib/IRReader/IRReader.cpp +++ b/lib/IRReader/IRReader.cpp @@ -10,7 +10,6 @@ #include "llvm/IRReader/IRReader.h" #include "llvm-c/Core.h" #include "llvm-c/IRReader.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/AsmParser/Parser.h" #include "llvm/Bitcode/ReaderWriter.h" #include "llvm/IR/LLVMContext.h" @@ -53,7 +52,7 @@ Module *llvm::getLazyIRModule(MemoryBuffer *Buffer, SMDiagnostic &Err, Module *llvm::getLazyIRFileModule(const std::string &Filename, SMDiagnostic &Err, LLVMContext &Context) { - OwningPtr File; + std::unique_ptr File; if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, File)) { Err = SMDiagnostic(Filename, SourceMgr::DK_Error, "Could not open input file: " + ec.message()); @@ -86,7 +85,7 @@ Module *llvm::ParseIR(MemoryBuffer *Buffer, SMDiagnostic &Err, Module *llvm::ParseIRFile(const std::string &Filename, SMDiagnostic &Err, LLVMContext &Context) { - OwningPtr File; + std::unique_ptr File; if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, File)) { Err = SMDiagnostic(Filename, SourceMgr::DK_Error, "Could not open input file: " + ec.message()); diff --git a/lib/LTO/LTOCodeGenerator.cpp b/lib/LTO/LTOCodeGenerator.cpp index 4e28c328ad..cdb4f95276 100644 --- a/lib/LTO/LTOCodeGenerator.cpp +++ b/lib/LTO/LTOCodeGenerator.cpp @@ -264,7 +264,7 @@ const void* LTOCodeGenerator::compile(size_t* length, delete NativeObjectFile; // read .o file into memory buffer - OwningPtr BuffPtr; + std::unique_ptr BuffPtr; if (error_code ec = MemoryBuffer::getFile(name, BuffPtr, -1, false)) { errMsg = ec.message(); sys::fs::remove(NativeObjectPath); diff --git a/lib/LTO/LTOModule.cpp b/lib/LTO/LTOModule.cpp index 4e71be8b4b..90de83270c 100644 --- a/lib/LTO/LTOModule.cpp +++ b/lib/LTO/LTOModule.cpp @@ -13,7 +13,6 @@ //===----------------------------------------------------------------------===// #include "llvm/LTO/LTOModule.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/Triple.h" #include "llvm/Bitcode/ReaderWriter.h" #include "llvm/IR/Constants.h" @@ -80,7 +79,7 @@ bool LTOModule::isBitcodeFileForTarget(const void *mem, size_t length, bool LTOModule::isBitcodeFileForTarget(const char *path, const char *triplePrefix) { - OwningPtr buffer; + std::unique_ptr buffer; if (MemoryBuffer::getFile(path, buffer)) return false; return isTargetMatch(buffer.release(), triplePrefix); @@ -98,7 +97,7 @@ bool LTOModule::isTargetMatch(MemoryBuffer *buffer, const char *triplePrefix) { /// the buffer. LTOModule *LTOModule::makeLTOModule(const char *path, TargetOptions options, std::string &errMsg) { - OwningPtr buffer; + std::unique_ptr buffer; if (error_code ec = MemoryBuffer::getFile(path, buffer)) { errMsg = ec.message(); return NULL; @@ -117,7 +116,7 @@ LTOModule *LTOModule::makeLTOModule(int fd, const char *path, off_t offset, TargetOptions options, std::string &errMsg) { - OwningPtr buffer; + std::unique_ptr buffer; if (error_code ec = MemoryBuffer::getOpenFileSlice(fd, path, buffer, map_size, offset)) { errMsg = ec.message(); @@ -129,7 +128,7 @@ LTOModule *LTOModule::makeLTOModule(int fd, const char *path, LTOModule *LTOModule::makeLTOModule(const void *mem, size_t length, TargetOptions options, std::string &errMsg, StringRef path) { - OwningPtr buffer(makeBuffer(mem, length, path)); + std::unique_ptr buffer(makeBuffer(mem, length, path)); if (!buffer) return NULL; return makeLTOModule(buffer.release(), options, errMsg); @@ -146,7 +145,7 @@ LTOModule *LTOModule::makeLTOModule(MemoryBuffer *buffer, delete buffer; return NULL; } - OwningPtr m(ModuleOrErr.get()); + std::unique_ptr m(ModuleOrErr.get()); std::string TripleStr = m->getTargetTriple(); if (TripleStr.empty()) @@ -725,20 +724,19 @@ bool LTOModule::addAsmGlobalSymbols(std::string &errMsg) { if (inlineAsm.empty()) return false; - OwningPtr Streamer(new RecordStreamer(_context)); + std::unique_ptr Streamer(new RecordStreamer(_context)); MemoryBuffer *Buffer = MemoryBuffer::getMemBuffer(inlineAsm); SourceMgr SrcMgr; SrcMgr.AddNewSourceBuffer(Buffer, SMLoc()); - OwningPtr Parser(createMCAsmParser(SrcMgr, - _context, *Streamer, - *_target->getMCAsmInfo())); + std::unique_ptr Parser( + createMCAsmParser(SrcMgr, _context, *Streamer, *_target->getMCAsmInfo())); const Target &T = _target->getTarget(); - OwningPtr MCII(T.createMCInstrInfo()); - OwningPtr - STI(T.createMCSubtargetInfo(_target->getTargetTriple(), - _target->getTargetCPU(), - _target->getTargetFeatureString())); - OwningPtr TAP(T.createMCAsmParser(*STI, *Parser.get(), *MCII)); + std::unique_ptr MCII(T.createMCInstrInfo()); + std::unique_ptr STI(T.createMCSubtargetInfo( + _target->getTargetTriple(), _target->getTargetCPU(), + _target->getTargetFeatureString())); + std::unique_ptr TAP( + T.createMCAsmParser(*STI, *Parser.get(), *MCII)); if (!TAP) { errMsg = "target " + std::string(T.getName()) + " does not define AsmParser."; diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp index 8b2ab02bec..edece8b63d 100644 --- a/lib/MC/ELFObjectWriter.cpp +++ b/lib/MC/ELFObjectWriter.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm/MC/MCELFObjectWriter.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallString.h" @@ -79,7 +78,7 @@ class ELFObjectWriter : public MCObjectWriter { }; /// The target specific ELF writer instance. - llvm::OwningPtr TargetObjectWriter; + std::unique_ptr TargetObjectWriter; SmallPtrSet UsedInReloc; SmallPtrSet WeakrefUsedInReloc; diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp index 8f0a702fb1..d9a04575ff 100644 --- a/lib/MC/MCAsmStreamer.cpp +++ b/lib/MC/MCAsmStreamer.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/MC/MCStreamer.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Twine.h" @@ -41,9 +40,9 @@ protected: formatted_raw_ostream &OS; const MCAsmInfo *MAI; private: - OwningPtr InstPrinter; - OwningPtr Emitter; - OwningPtr AsmBackend; + std::unique_ptr InstPrinter; + std::unique_ptr Emitter; + std::unique_ptr AsmBackend; SmallString<128> CommentToEmit; raw_svector_ostream CommentStream; diff --git a/lib/MC/MCDisassembler.cpp b/lib/MC/MCDisassembler.cpp index e365c37c32..afd3cb7ff0 100644 --- a/lib/MC/MCDisassembler.cpp +++ b/lib/MC/MCDisassembler.cpp @@ -16,13 +16,9 @@ using namespace llvm; MCDisassembler::~MCDisassembler() { } -void -MCDisassembler::setupForSymbolicDisassembly( - LLVMOpInfoCallback GetOpInfo, - LLVMSymbolLookupCallback SymbolLookUp, - void *DisInfo, - MCContext *Ctx, - OwningPtr &RelInfo) { +void MCDisassembler::setupForSymbolicDisassembly( + LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, + void *DisInfo, MCContext *Ctx, std::unique_ptr &RelInfo) { this->GetOpInfo = GetOpInfo; this->SymbolLookUp = SymbolLookUp; this->DisInfo = DisInfo; @@ -33,16 +29,12 @@ MCDisassembler::setupForSymbolicDisassembly( SymbolLookUp, DisInfo)); } -void -MCDisassembler::setupForSymbolicDisassembly( - LLVMOpInfoCallback GetOpInfo, - LLVMSymbolLookupCallback SymbolLookUp, - void *DisInfo, - MCContext *Ctx, - std::unique_ptr &RelInfo) { - OwningPtr MCRI; +void MCDisassembler::setupForSymbolicDisassembly( + LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, + void *DisInfo, MCContext *Ctx, OwningPtr &RelInfo) { + std::unique_ptr MCRI; setupForSymbolicDisassembly(GetOpInfo, SymbolLookUp, DisInfo, Ctx, MCRI); - RelInfo = MCRI.take_unique(); + RelInfo = std::move(MCRI); } bool MCDisassembler::tryAddingSymbolicOperand(MCInst &Inst, int64_t Value, @@ -63,6 +55,6 @@ void MCDisassembler::tryAddingPcLoadReferenceComment(int64_t Value, Symbolizer->tryAddingPcLoadReferenceComment(cStream, Value, Address); } -void MCDisassembler::setSymbolizer(OwningPtr &Symzer) { +void MCDisassembler::setSymbolizer(std::unique_ptr &Symzer) { Symbolizer.reset(Symzer.release()); } diff --git a/lib/MC/MCDisassembler/Disassembler.cpp b/lib/MC/MCDisassembler/Disassembler.cpp index 3302f8c8ab..4e4bad1430 100644 --- a/lib/MC/MCDisassembler/Disassembler.cpp +++ b/lib/MC/MCDisassembler/Disassembler.cpp @@ -77,14 +77,13 @@ LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const char *CPU, if (!DisAsm) return 0; - OwningPtr RelInfo( - TheTarget->createMCRelocationInfo(Triple, *Ctx)); + std::unique_ptr RelInfo( + TheTarget->createMCRelocationInfo(Triple, *Ctx)); if (!RelInfo) return 0; - OwningPtr Symbolizer( - TheTarget->createMCSymbolizer(Triple, GetOpInfo, SymbolLookUp, DisInfo, - Ctx, RelInfo.release())); + std::unique_ptr Symbolizer(TheTarget->createMCSymbolizer( + Triple, GetOpInfo, SymbolLookUp, DisInfo, Ctx, RelInfo.release())); DisAsm->setSymbolizer(Symbolizer); DisAsm->setupForSymbolicDisassembly(GetOpInfo, SymbolLookUp, DisInfo, Ctx, RelInfo); diff --git a/lib/MC/MCDisassembler/Disassembler.h b/lib/MC/MCDisassembler/Disassembler.h index 4855af27dd..d1d40cd238 100644 --- a/lib/MC/MCDisassembler/Disassembler.h +++ b/lib/MC/MCDisassembler/Disassembler.h @@ -18,7 +18,6 @@ #define LLVM_MC_DISASSEMBLER_H #include "llvm-c/Disassembler.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/Support/raw_ostream.h" #include @@ -56,23 +55,23 @@ private: // LLVMDisasmInstruction(). // // The LLVM target corresponding to the disassembler. - // FIXME: using llvm::OwningPtr causes a malloc error + // FIXME: using std::unique_ptr causes a malloc error // when this LLVMDisasmContext is deleted. const Target *TheTarget; // The assembly information for the target architecture. - llvm::OwningPtr MAI; + std::unique_ptr MAI; // The register information for the target architecture. - llvm::OwningPtr MRI; + std::unique_ptr MRI; // The subtarget information for the target architecture. - llvm::OwningPtr MSI; + std::unique_ptr MSI; // The instruction information for the target architecture. - llvm::OwningPtr MII; + std::unique_ptr MII; // The assembly context for creating symbols and MCExprs. - llvm::OwningPtr Ctx; + std::unique_ptr Ctx; // The disassembler for the target architecture. - llvm::OwningPtr DisAsm; + std::unique_ptr DisAsm; // The instruction printer for the target architecture. - llvm::OwningPtr IP; + std::unique_ptr IP; // The options used to set up the disassembler. uint64_t Options; // The CPU string. diff --git a/lib/MC/MCExternalSymbolizer.cpp b/lib/MC/MCExternalSymbolizer.cpp index 9cd5f6b68c..660a11c274 100644 --- a/lib/MC/MCExternalSymbolizer.cpp +++ b/lib/MC/MCExternalSymbolizer.cpp @@ -191,7 +191,7 @@ MCSymbolizer *createMCSymbolizer(StringRef TT, LLVMOpInfoCallback GetOpInfo, MCRelocationInfo *RelInfo) { assert(Ctx != 0 && "No MCContext given for symbolic disassembly"); - OwningPtr RelInfoOwingPtr(RelInfo); + std::unique_ptr RelInfoOwingPtr(RelInfo); return new MCExternalSymbolizer(*Ctx, RelInfoOwingPtr, GetOpInfo, SymbolLookUp, DisInfo); } diff --git a/lib/MC/MCModuleYAML.cpp b/lib/MC/MCModuleYAML.cpp index e2de57849b..102971b732 100644 --- a/lib/MC/MCModuleYAML.cpp +++ b/lib/MC/MCModuleYAML.cpp @@ -442,7 +442,7 @@ StringRef mcmodule2yaml(raw_ostream &OS, const MCModule &MCM, return ""; } -StringRef yaml2mcmodule(OwningPtr &MCM, StringRef YamlContent, +StringRef yaml2mcmodule(std::unique_ptr &MCM, StringRef YamlContent, const MCInstrInfo &MII, const MCRegisterInfo &MRI) { MCM.reset(new MCModule); YAML2MCModule Parser(*MCM); diff --git a/lib/MC/MCObjectSymbolizer.cpp b/lib/MC/MCObjectSymbolizer.cpp index 7653fece41..8aafcf6ee7 100644 --- a/lib/MC/MCObjectSymbolizer.cpp +++ b/lib/MC/MCObjectSymbolizer.cpp @@ -34,7 +34,8 @@ class MCMachObjectSymbolizer : public MCObjectSymbolizer { uint64_t StubsIndSymIndex; public: - MCMachObjectSymbolizer(MCContext &Ctx, OwningPtr &RelInfo, + MCMachObjectSymbolizer(MCContext &Ctx, + std::unique_ptr &RelInfo, const MachOObjectFile *MOOF); StringRef findExternalFunctionAt(uint64_t Addr) override; @@ -44,12 +45,11 @@ public: }; } // End unnamed namespace - -MCMachObjectSymbolizer:: -MCMachObjectSymbolizer(MCContext &Ctx, OwningPtr &RelInfo, - const MachOObjectFile *MOOF) - : MCObjectSymbolizer(Ctx, RelInfo, MOOF), MOOF(MOOF), - StubsStart(0), StubsCount(0), StubSize(0), StubsIndSymIndex(0) { +MCMachObjectSymbolizer::MCMachObjectSymbolizer( + MCContext &Ctx, std::unique_ptr &RelInfo, + const MachOObjectFile *MOOF) + : MCObjectSymbolizer(Ctx, RelInfo, MOOF), MOOF(MOOF), StubsStart(0), + StubsCount(0), StubSize(0), StubsIndSymIndex(0) { for (section_iterator SI = MOOF->section_begin(), SE = MOOF->section_end(); SI != SE; ++SI) { @@ -120,11 +120,10 @@ tryAddingPcLoadReferenceComment(raw_ostream &cStream, int64_t Value, //===- MCObjectSymbolizer -------------------------------------------------===// -MCObjectSymbolizer::MCObjectSymbolizer(MCContext &Ctx, - OwningPtr &RelInfo, - const ObjectFile *Obj) - : MCSymbolizer(Ctx, RelInfo), Obj(Obj), SortedSections(), AddrToReloc() { -} +MCObjectSymbolizer::MCObjectSymbolizer( + MCContext &Ctx, std::unique_ptr &RelInfo, + const ObjectFile *Obj) + : MCSymbolizer(Ctx, RelInfo), Obj(Obj), SortedSections(), AddrToReloc() {} bool MCObjectSymbolizer:: tryAddingSymbolicOperand(MCInst &MI, raw_ostream &cStream, @@ -188,10 +187,9 @@ StringRef MCObjectSymbolizer::findExternalFunctionAt(uint64_t Addr) { return StringRef(); } -MCObjectSymbolizer * -MCObjectSymbolizer::createObjectSymbolizer(MCContext &Ctx, - OwningPtr &RelInfo, - const ObjectFile *Obj) { +MCObjectSymbolizer *MCObjectSymbolizer::createObjectSymbolizer( + MCContext &Ctx, std::unique_ptr &RelInfo, + const ObjectFile *Obj) { if (const MachOObjectFile *MOOF = dyn_cast(Obj)) return new MCMachObjectSymbolizer(Ctx, RelInfo, MOOF); return new MCObjectSymbolizer(Ctx, RelInfo, Obj); diff --git a/lib/MC/MCSymbolizer.cpp b/lib/MC/MCSymbolizer.cpp index d3c7311e01..6395b11351 100644 --- a/lib/MC/MCSymbolizer.cpp +++ b/lib/MC/MCSymbolizer.cpp @@ -12,9 +12,9 @@ using namespace llvm; -MCSymbolizer::MCSymbolizer(MCContext &Ctx, OwningPtr &RelInfo) - : Ctx(Ctx), RelInfo(RelInfo.release()) { -} +MCSymbolizer::MCSymbolizer(MCContext &Ctx, + std::unique_ptr &RelInfo) + : Ctx(Ctx), RelInfo(RelInfo.release()) {} MCSymbolizer::~MCSymbolizer() { } diff --git a/lib/MC/WinCOFFObjectWriter.cpp b/lib/MC/WinCOFFObjectWriter.cpp index 381fe0ee03..d0a014cca9 100644 --- a/lib/MC/WinCOFFObjectWriter.cpp +++ b/lib/MC/WinCOFFObjectWriter.cpp @@ -15,7 +15,6 @@ #include "llvm/MC/MCWinCOFFObjectWriter.h" #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Twine.h" @@ -125,7 +124,7 @@ public: typedef DenseMap symbol_map; typedef DenseMap section_map; - llvm::OwningPtr TargetObjectWriter; + std::unique_ptr TargetObjectWriter; // Root level file contents. COFF::header Header; diff --git a/lib/Object/Binary.cpp b/lib/Object/Binary.cpp index 673a34e98a..63fd3ed011 100644 --- a/lib/Object/Binary.cpp +++ b/lib/Object/Binary.cpp @@ -43,7 +43,7 @@ StringRef Binary::getFileName() const { ErrorOr object::createBinary(MemoryBuffer *Source, LLVMContext *Context) { - OwningPtr scopedSource(Source); + std::unique_ptr scopedSource(Source); sys::fs::file_magic Type = sys::fs::identify_magic(Source->getBuffer()); switch (Type) { @@ -80,7 +80,7 @@ ErrorOr object::createBinary(MemoryBuffer *Source, } ErrorOr object::createBinary(StringRef Path) { - OwningPtr File; + std::unique_ptr File; if (error_code EC = MemoryBuffer::getFileOrSTDIN(Path, File)) return EC; return createBinary(File.release()); diff --git a/lib/Object/COFFObjectFile.cpp b/lib/Object/COFFObjectFile.cpp index 95faa13256..6ef2fbfed5 100644 --- a/lib/Object/COFFObjectFile.cpp +++ b/lib/Object/COFFObjectFile.cpp @@ -1068,7 +1068,8 @@ error_code ExportDirectoryEntryRef::getSymbolName(StringRef &Result) const { ErrorOr ObjectFile::createCOFFObjectFile(MemoryBuffer *Object, bool BufferOwned) { error_code EC; - OwningPtr Ret(new COFFObjectFile(Object, EC, BufferOwned)); + std::unique_ptr Ret( + new COFFObjectFile(Object, EC, BufferOwned)); if (EC) return EC; return Ret.release(); diff --git a/lib/Object/ELFObjectFile.cpp b/lib/Object/ELFObjectFile.cpp index 17b615e017..a2c4df2007 100644 --- a/lib/Object/ELFObjectFile.cpp +++ b/lib/Object/ELFObjectFile.cpp @@ -24,7 +24,7 @@ ErrorOr ObjectFile::createELFObjectFile(MemoryBuffer *Obj, 1ULL << countTrailingZeros(uintptr_t(Obj->getBufferStart())); error_code EC; - OwningPtr R; + std::unique_ptr R; if (Ident.first == ELF::ELFCLASS32 && Ident.second == ELF::ELFDATA2LSB) #if !LLVM_IS_UNALIGNED_ACCESS_FAST if (MaxAlignment >= 4) diff --git a/lib/Object/IRObjectFile.cpp b/lib/Object/IRObjectFile.cpp index e8d51ecbf6..d5ea80d1d0 100644 --- a/lib/Object/IRObjectFile.cpp +++ b/lib/Object/IRObjectFile.cpp @@ -144,7 +144,7 @@ basic_symbol_iterator IRObjectFile::symbol_end_impl() const { ErrorOr llvm::object::SymbolicFile::createIRObjectFile( MemoryBuffer *Object, LLVMContext &Context, bool BufferOwned) { error_code EC; - OwningPtr Ret( + std::unique_ptr Ret( new IRObjectFile(Object, EC, Context, BufferOwned)); if (EC) return EC; diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp index 00599efce0..5dd9e5596b 100644 --- a/lib/Object/MachOObjectFile.cpp +++ b/lib/Object/MachOObjectFile.cpp @@ -1549,7 +1549,7 @@ ErrorOr ObjectFile::createMachOObjectFile(MemoryBuffer *Buffer, bool BufferOwned) { StringRef Magic = Buffer->getBuffer().slice(0, 4); error_code EC; - OwningPtr Ret; + std::unique_ptr Ret; if (Magic == "\xFE\xED\xFA\xCE") Ret.reset(new MachOObjectFile(Buffer, false, false, EC, BufferOwned)); else if (Magic == "\xCE\xFA\xED\xFE") diff --git a/lib/Object/MachOUniversal.cpp b/lib/Object/MachOUniversal.cpp index 3975a18c60..70baa9f63a 100644 --- a/lib/Object/MachOUniversal.cpp +++ b/lib/Object/MachOUniversal.cpp @@ -72,7 +72,7 @@ MachOUniversalBinary::ObjectForArch::ObjectForArch( } error_code MachOUniversalBinary::ObjectForArch::getAsObjectFile( - OwningPtr &Result) const { + std::unique_ptr &Result) const { if (Parent) { StringRef ParentData = Parent->getData(); StringRef ObjectData = ParentData.substr(Header.offset, Header.size); @@ -95,7 +95,8 @@ void MachOUniversalBinary::anchor() { } ErrorOr MachOUniversalBinary::create(MemoryBuffer *Source) { error_code EC; - OwningPtr Ret(new MachOUniversalBinary(Source, EC)); + std::unique_ptr Ret( + new MachOUniversalBinary(Source, EC)); if (EC) return EC; return Ret.release(); @@ -134,9 +135,8 @@ static bool getCTMForArch(Triple::ArchType Arch, MachO::CPUType &CTM) { } } -error_code -MachOUniversalBinary::getObjectForArch(Triple::ArchType Arch, - OwningPtr &Result) const { +error_code MachOUniversalBinary::getObjectForArch( + Triple::ArchType Arch, std::unique_ptr &Result) const { MachO::CPUType CTM; if (!getCTMForArch(Arch, CTM)) return object_error::arch_not_found; diff --git a/lib/Object/ObjectFile.cpp b/lib/Object/ObjectFile.cpp index 058bc3436a..d30f0cca49 100644 --- a/lib/Object/ObjectFile.cpp +++ b/lib/Object/ObjectFile.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Object/ObjectFile.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" @@ -87,7 +86,7 @@ ErrorOr ObjectFile::createObjectFile(MemoryBuffer *Object, } ErrorOr ObjectFile::createObjectFile(StringRef ObjectPath) { - OwningPtr File; + std::unique_ptr File; if (error_code EC = MemoryBuffer::getFile(ObjectPath, File)) return EC; return createObjectFile(File.release()); diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp index deb5c3983d..b3c2614ec9 100644 --- a/lib/Support/CommandLine.cpp +++ b/lib/Support/CommandLine.cpp @@ -18,7 +18,6 @@ #include "llvm/Support/CommandLine.h" #include "llvm/ADT/ArrayRef.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringMap.h" @@ -620,7 +619,7 @@ void cl::TokenizeWindowsCommandLine(StringRef Src, StringSaver &Saver, static bool ExpandResponseFile(const char *FName, StringSaver &Saver, TokenizerCallback Tokenizer, SmallVectorImpl &NewArgv) { - OwningPtr MemBuf; + std::unique_ptr MemBuf; if (MemoryBuffer::getFile(FName, MemBuf)) return false; StringRef Str(MemBuf->getBufferStart(), MemBuf->getBufferSize()); diff --git a/lib/Support/Compression.cpp b/lib/Support/Compression.cpp index b5ddb7002c..5e5336144a 100644 --- a/lib/Support/Compression.cpp +++ b/lib/Support/Compression.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/Compression.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringRef.h" #include "llvm/Config/config.h" #include "llvm/Support/Compiler.h" @@ -48,10 +47,10 @@ static zlib::Status encodeZlibReturnValue(int ReturnValue) { bool zlib::isAvailable() { return true; } zlib::Status zlib::compress(StringRef InputBuffer, - OwningPtr &CompressedBuffer, + std::unique_ptr &CompressedBuffer, CompressionLevel Level) { unsigned long CompressedSize = ::compressBound(InputBuffer.size()); - OwningArrayPtr TmpBuffer(new char[CompressedSize]); + std::unique_ptr TmpBuffer(new char[CompressedSize]); int CLevel = encodeZlibCompressionLevel(Level); Status Res = encodeZlibReturnValue(::compress2( (Bytef *)TmpBuffer.get(), &CompressedSize, @@ -66,9 +65,9 @@ zlib::Status zlib::compress(StringRef InputBuffer, } zlib::Status zlib::uncompress(StringRef InputBuffer, - OwningPtr &UncompressedBuffer, + std::unique_ptr &UncompressedBuffer, size_t UncompressedSize) { - OwningArrayPtr TmpBuffer(new char[UncompressedSize]); + std::unique_ptr TmpBuffer(new char[UncompressedSize]); Status Res = encodeZlibReturnValue( ::uncompress((Bytef *)TmpBuffer.get(), (uLongf *)&UncompressedSize, (const Bytef *)InputBuffer.data(), InputBuffer.size())); @@ -88,12 +87,12 @@ uint32_t zlib::crc32(StringRef Buffer) { #else bool zlib::isAvailable() { return false; } zlib::Status zlib::compress(StringRef InputBuffer, - OwningPtr &CompressedBuffer, + std::unique_ptr &CompressedBuffer, CompressionLevel Level) { return zlib::StatusUnsupported; } zlib::Status zlib::uncompress(StringRef InputBuffer, - OwningPtr &UncompressedBuffer, + std::unique_ptr &UncompressedBuffer, size_t UncompressedSize) { return zlib::StatusUnsupported; } diff --git a/lib/Support/FileUtilities.cpp b/lib/Support/FileUtilities.cpp index 7f5d540487..b2dc47dc69 100644 --- a/lib/Support/FileUtilities.cpp +++ b/lib/Support/FileUtilities.cpp @@ -13,7 +13,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/FileUtilities.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Path.h" @@ -177,13 +176,13 @@ int llvm::DiffFilesWithTolerance(StringRef NameA, std::string *Error) { // Now its safe to mmap the files into memory because both files // have a non-zero size. - OwningPtr F1; + std::unique_ptr F1; if (error_code ec = MemoryBuffer::getFile(NameA, F1)) { if (Error) *Error = ec.message(); return 2; } - OwningPtr F2; + std::unique_ptr F2; if (error_code ec = MemoryBuffer::getFile(NameB, F2)) { if (Error) *Error = ec.message(); diff --git a/lib/Support/LockFileManager.cpp b/lib/Support/LockFileManager.cpp index 3e23298e4f..61afb79fb2 100644 --- a/lib/Support/LockFileManager.cpp +++ b/lib/Support/LockFileManager.cpp @@ -36,7 +36,7 @@ LockFileManager::readLockFile(StringRef LockFileName) { // Read the owning host and PID out of the lock file. If it appears that the // owning process is dead, the lock file is invalid. - OwningPtr MB; + std::unique_ptr MB; if (MemoryBuffer::getFile(LockFileName, MB)) return None; diff --git a/lib/Support/SourceMgr.cpp b/lib/Support/SourceMgr.cpp index f9aef6dba6..4bfd96abe5 100644 --- a/lib/Support/SourceMgr.cpp +++ b/lib/Support/SourceMgr.cpp @@ -14,7 +14,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/SourceMgr.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/Twine.h" #include "llvm/Support/Locale.h" @@ -55,7 +54,7 @@ SourceMgr::~SourceMgr() { size_t SourceMgr::AddIncludeFile(const std::string &Filename, SMLoc IncludeLoc, std::string &IncludedFile) { - OwningPtr NewBuf; + std::unique_ptr NewBuf; IncludedFile = Filename; MemoryBuffer::getFile(IncludedFile.c_str(), NewBuf); diff --git a/lib/Support/StringRef.cpp b/lib/Support/StringRef.cpp index bfae754362..bd2a37bb5e 100644 --- a/lib/Support/StringRef.cpp +++ b/lib/Support/StringRef.cpp @@ -10,7 +10,6 @@ #include "llvm/ADT/StringRef.h" #include "llvm/ADT/APInt.h" #include "llvm/ADT/Hashing.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/edit_distance.h" #include diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp index 0456f5d638..7cf4d372a5 100644 --- a/lib/Support/Timer.cpp +++ b/lib/Support/Timer.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/Timer.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringMap.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Debug.h" diff --git a/lib/Support/Windows/Program.inc b/lib/Support/Windows/Program.inc index 1b777084c7..5827c105af 100644 --- a/lib/Support/Windows/Program.inc +++ b/lib/Support/Windows/Program.inc @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "WindowsSupport.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/FileSystem.h" #include #include @@ -187,7 +186,7 @@ static bool Execute(ProcessInfo &PI, StringRef Program, const char **args, } // Now build the command line. - OwningArrayPtr command(new char[len+1]); + std::unique_ptr command(new char[len+1]); char *p = command.get(); for (unsigned i = 0; args[i]; i++) { diff --git a/lib/Support/YAMLParser.cpp b/lib/Support/YAMLParser.cpp index c3d1ff1b9e..acfc22c180 100644 --- a/lib/Support/YAMLParser.cpp +++ b/lib/Support/YAMLParser.cpp @@ -1561,12 +1561,10 @@ bool Scanner::fetchMoreTokens() { } Stream::Stream(StringRef Input, SourceMgr &SM) - : scanner(new Scanner(Input, SM)) - , CurrentDoc(0) {} + : scanner(new Scanner(Input, SM)), CurrentDoc() {} Stream::Stream(MemoryBuffer *InputBuffer, SourceMgr &SM) - : scanner(new Scanner(InputBuffer, SM)) - , CurrentDoc(0) {} + : scanner(new Scanner(InputBuffer, SM)), CurrentDoc() {} Stream::~Stream() {} @@ -1601,11 +1599,9 @@ void Stream::skip() { i->skip(); } -Node::Node(unsigned int Type, OwningPtr &D, StringRef A, StringRef T) - : Doc(D) - , TypeID(Type) - , Anchor(A) - , Tag(T) { +Node::Node(unsigned int Type, std::unique_ptr &D, StringRef A, + StringRef T) + : Doc(D), TypeID(Type), Anchor(A), Tag(T) { SMLoc Start = SMLoc::getFromPointer(peekNext().Range.begin()); SourceRange = SMRange(Start, Start); } diff --git a/lib/TableGen/Main.cpp b/lib/TableGen/Main.cpp index e45679b060..fd81ab4f2b 100644 --- a/lib/TableGen/Main.cpp +++ b/lib/TableGen/Main.cpp @@ -16,7 +16,6 @@ //===----------------------------------------------------------------------===// #include "TGParser.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/ToolOutputFile.h" @@ -81,7 +80,7 @@ int TableGenMain(char *argv0, TableGenMainFn *MainFn) { RecordKeeper Records; // Parse the input file. - OwningPtr File; + std::unique_ptr File; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, File)) { errs() << "Could not open input file '" << InputFilename << "': " diff --git a/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/lib/Transforms/Instrumentation/AddressSanitizer.cpp index beeb49465d..e8d2e0a008 100644 --- a/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -19,7 +19,6 @@ #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DepthFirstIterator.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallSet.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/SmallVector.h" @@ -349,7 +348,7 @@ struct AddressSanitizer : public FunctionPass { Function *AsanHandleNoReturnFunc; Function *AsanCovFunction; Function *AsanPtrCmpFunction, *AsanPtrSubFunction; - OwningPtr BL; + std::unique_ptr BL; // This array is indexed by AccessIsWrite and log2(AccessSize). Function *AsanErrorCallback[2][kNumberOfAccessSizes]; // This array is indexed by AccessIsWrite. @@ -386,7 +385,7 @@ class AddressSanitizerModule : public ModulePass { bool CheckInitOrder; SmallString<64> BlacklistFile; - OwningPtr BL; + std::unique_ptr BL; SetOfDynamicallyInitializedGlobals DynamicallyInitializedGlobals; Type *IntptrTy; LLVMContext *C; diff --git a/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp b/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp index dd44a006bc..3f473a96b0 100644 --- a/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp +++ b/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp @@ -190,7 +190,7 @@ class DataFlowSanitizer : public ModulePass { Constant *DFSanSetLabelFn; Constant *DFSanNonzeroLabelFn; MDNode *ColdCallWeights; - OwningPtr ABIList; + std::unique_ptr ABIList; DenseMap UnwrappedFnMap; AttributeSet ReadOnlyNoneAttrs; diff --git a/lib/Transforms/Instrumentation/DebugIR.cpp b/lib/Transforms/Instrumentation/DebugIR.cpp index 241baba8bd..45e2c11c15 100644 --- a/lib/Transforms/Instrumentation/DebugIR.cpp +++ b/lib/Transforms/Instrumentation/DebugIR.cpp @@ -503,7 +503,7 @@ bool DebugIR::updateExtension(StringRef NewExtension) { return true; } -void DebugIR::generateFilename(OwningPtr &fd) { +void DebugIR::generateFilename(std::unique_ptr &fd) { SmallVector PathVec; fd.reset(new int); sys::fs::createTemporaryFile("debug-ir", "ll", *fd, PathVec); @@ -524,7 +524,7 @@ std::string DebugIR::getPath() { } void DebugIR::writeDebugBitcode(const Module *M, int *fd) { - OwningPtr Out; + std::unique_ptr Out; std::string error; if (!fd) { @@ -542,12 +542,12 @@ void DebugIR::writeDebugBitcode(const Module *M, int *fd) { Out->close(); } -void DebugIR::createDebugInfo(Module &M, OwningPtr &DisplayM) { +void DebugIR::createDebugInfo(Module &M, std::unique_ptr &DisplayM) { if (M.getFunctionList().size() == 0) // no functions -- no debug info needed return; - OwningPtr VMap; + std::unique_ptr VMap; if (WriteSourceToDisk && (HideDebugIntrinsics || HideDebugMetadata)) { VMap.reset(new ValueToValueMapTy); @@ -566,7 +566,7 @@ void DebugIR::createDebugInfo(Module &M, OwningPtr &DisplayM) { bool DebugIR::isMissingPath() { return Filename.empty() || Directory.empty(); } bool DebugIR::runOnModule(Module &M) { - OwningPtr fd; + std::unique_ptr fd; if (isMissingPath() && !getSourceInfo(M)) { if (!WriteSourceToDisk) @@ -585,7 +585,7 @@ bool DebugIR::runOnModule(Module &M) { // file name from the DICompileUnit descriptor. DebugMetadataRemover::process(M, !ParsedPath); - OwningPtr DisplayM; + std::unique_ptr DisplayM; createDebugInfo(M, DisplayM); if (WriteSourceToDisk) { Module *OutputM = DisplayM.get() ? DisplayM.get() : &M; diff --git a/lib/Transforms/Instrumentation/DebugIR.h b/lib/Transforms/Instrumentation/DebugIR.h index a6852bf6e3..3f57da570e 100644 --- a/lib/Transforms/Instrumentation/DebugIR.h +++ b/lib/Transforms/Instrumentation/DebugIR.h @@ -16,7 +16,6 @@ #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_DEBUGIR_H #define LLVM_TRANSFORMS_INSTRUMENTATION_DEBUGIR_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/Pass.h" namespace llvm { @@ -79,11 +78,11 @@ private: bool updateExtension(llvm::StringRef NewExtension); /// Generate a temporary filename and open an fd - void generateFilename(llvm::OwningPtr &fd); + void generateFilename(std::unique_ptr &fd); /// Creates DWARF CU/Subroutine metadata void createDebugInfo(llvm::Module &M, - llvm::OwningPtr &DisplayM); + std::unique_ptr &DisplayM); /// Returns true if either Directory or Filename is missing, false otherwise. bool isMissingPath(); diff --git a/lib/Transforms/Instrumentation/GCOVProfiling.cpp b/lib/Transforms/Instrumentation/GCOVProfiling.cpp index d990de2a18..d04a5bf8ca 100644 --- a/lib/Transforms/Instrumentation/GCOVProfiling.cpp +++ b/lib/Transforms/Instrumentation/GCOVProfiling.cpp @@ -687,7 +687,7 @@ GlobalVariable *GCOVProfiler::buildEdgeLookupTable( Type *Int64PtrTy = Type::getInt64PtrTy(*Ctx); ArrayType *EdgeTableTy = ArrayType::get(Int64PtrTy, TableSize); - OwningArrayPtr EdgeTable(new Constant*[TableSize]); + std::unique_ptr EdgeTable(new Constant *[TableSize]); Constant *NullValue = Constant::getNullValue(Int64PtrTy); for (size_t i = 0; i != TableSize; ++i) EdgeTable[i] = NullValue; diff --git a/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/lib/Transforms/Instrumentation/MemorySanitizer.cpp index 9f7f729cfa..b4ae443475 100644 --- a/lib/Transforms/Instrumentation/MemorySanitizer.cpp +++ b/lib/Transforms/Instrumentation/MemorySanitizer.cpp @@ -272,7 +272,7 @@ class MemorySanitizer : public FunctionPass { /// \brief Path to blacklist file. SmallString<64> BlacklistFile; /// \brief The blacklist. - OwningPtr BL; + std::unique_ptr BL; /// \brief An empty volatile inline asm that prevents callback merge. InlineAsm *EmptyAsm; @@ -489,7 +489,7 @@ struct MemorySanitizerVisitor : public InstVisitor { MemorySanitizer &MS; SmallVector ShadowPHINodes, OriginPHINodes; ValueMap ShadowMap, OriginMap; - OwningPtr VAHelper; + std::unique_ptr VAHelper; // The following flags disable parts of MSan instrumentation based on // blacklist contents and command-line options. diff --git a/lib/Transforms/Instrumentation/ThreadSanitizer.cpp b/lib/Transforms/Instrumentation/ThreadSanitizer.cpp index bc022600cb..fed7508dbc 100644 --- a/lib/Transforms/Instrumentation/ThreadSanitizer.cpp +++ b/lib/Transforms/Instrumentation/ThreadSanitizer.cpp @@ -99,7 +99,7 @@ struct ThreadSanitizer : public FunctionPass { const DataLayout *DL; Type *IntptrTy; SmallString<64> BlacklistFile; - OwningPtr BL; + std::unique_ptr BL; IntegerType *OrdTy; // Callbacks to run-time library are computed in doInitialization. Function *TsanFuncEntry; diff --git a/lib/Transforms/Scalar/SampleProfile.cpp b/lib/Transforms/Scalar/SampleProfile.cpp index dcb9376e52..d48e43d47c 100644 --- a/lib/Transforms/Scalar/SampleProfile.cpp +++ b/lib/Transforms/Scalar/SampleProfile.cpp @@ -26,7 +26,6 @@ #include "llvm/Transforms/Scalar.h" #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallSet.h" #include "llvm/ADT/StringMap.h" @@ -240,7 +239,7 @@ public: static char ID; SampleProfileLoader(StringRef Name = SampleProfileFile) - : FunctionPass(ID), Profiler(0), Filename(Name) { + : FunctionPass(ID), Profiler(), Filename(Name) { initializeSampleProfileLoaderPass(*PassRegistry::getPassRegistry()); } @@ -261,7 +260,7 @@ public: protected: /// \brief Profile reader object. - OwningPtr Profiler; + std::unique_ptr Profiler; /// \brief Name of the profile file to load. StringRef Filename; @@ -399,7 +398,7 @@ void SampleModuleProfile::dump() { /// profiles for large programs, as the representation is extremely /// inefficient. void SampleModuleProfile::loadText() { - OwningPtr Buffer; + std::unique_ptr Buffer; error_code EC = MemoryBuffer::getFile(Filename, Buffer); if (EC) report_fatal_error("Could not open file " + Filename + ": " + EC.message()); diff --git a/lib/Transforms/Utils/SpecialCaseList.cpp b/lib/Transforms/Utils/SpecialCaseList.cpp index a177c82931..c318560ff8 100644 --- a/lib/Transforms/Utils/SpecialCaseList.cpp +++ b/lib/Transforms/Utils/SpecialCaseList.cpp @@ -15,7 +15,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Transforms/Utils/SpecialCaseList.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringExtras.h" @@ -55,7 +54,7 @@ SpecialCaseList *SpecialCaseList::create( const StringRef Path, std::string &Error) { if (Path.empty()) return new SpecialCaseList(); - OwningPtr File; + std::unique_ptr File; if (error_code EC = MemoryBuffer::getFile(Path, File)) { Error = (Twine("Can't open file '") + Path + "': " + EC.message()).str(); return 0; @@ -65,7 +64,7 @@ SpecialCaseList *SpecialCaseList::create( SpecialCaseList *SpecialCaseList::create( const MemoryBuffer *MB, std::string &Error) { - OwningPtr SCL(new SpecialCaseList()); + std::unique_ptr SCL(new SpecialCaseList()); if (!SCL->parse(MB, Error)) return 0; return SCL.release(); diff --git a/tools/bugpoint/BugDriver.cpp b/tools/bugpoint/BugDriver.cpp index c23a7912c7..2d1b903829 100644 --- a/tools/bugpoint/BugDriver.cpp +++ b/tools/bugpoint/BugDriver.cpp @@ -122,7 +122,7 @@ bool BugDriver::addSources(const std::vector &Filenames) { outs() << "Read input file : '" << Filenames[0] << "'\n"; for (unsigned i = 1, e = Filenames.size(); i != e; ++i) { - OwningPtr M(ParseInputFile(Filenames[i], Context)); + std::unique_ptr M(ParseInputFile(Filenames[i], Context)); if (M.get() == 0) return true; outs() << "Linking in input file: '" << Filenames[i] << "'\n"; diff --git a/tools/bugpoint/Miscompilation.cpp b/tools/bugpoint/Miscompilation.cpp index 8aebe5ea83..db26fe2ea0 100644 --- a/tools/bugpoint/Miscompilation.cpp +++ b/tools/bugpoint/Miscompilation.cpp @@ -128,8 +128,8 @@ ReduceMiscompilingPasses::doTest(std::vector &Prefix, // Ok, so now we know that the prefix passes work, try running the suffix // passes on the result of the prefix passes. // - OwningPtr PrefixOutput(ParseInputFile(BitcodeResult, - BD.getContext())); + std::unique_ptr PrefixOutput( + ParseInputFile(BitcodeResult, BD.getContext())); if (!PrefixOutput) { errs() << BD.getToolName() << ": Error reading bitcode file '" << BitcodeResult << "'!\n"; @@ -145,7 +145,8 @@ ReduceMiscompilingPasses::doTest(std::vector &Prefix, << "' passes compile correctly after the '" << getPassesString(Prefix) << "' passes: "; - OwningPtr OriginalInput(BD.swapProgramIn(PrefixOutput.release())); + std::unique_ptr OriginalInput( + BD.swapProgramIn(PrefixOutput.release())); if (BD.runPasses(BD.getProgram(), Suffix, BitcodeResult, false/*delete*/, true/*quiet*/)) { errs() << " Error running this sequence of passes" diff --git a/tools/gold/gold-plugin.cpp b/tools/gold/gold-plugin.cpp index 31a1555ebb..4726d82d69 100644 --- a/tools/gold/gold-plugin.cpp +++ b/tools/gold/gold-plugin.cpp @@ -14,7 +14,6 @@ #include "llvm/Config/config.h" // plugin-api.h requires HAVE_STDINT_H #include "llvm-c/lto.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringSet.h" #include "llvm/Support/Errno.h" #include "llvm/Support/FileSystem.h" @@ -246,7 +245,7 @@ static ld_plugin_status claim_file_hook(const ld_plugin_input_file *file, int *claimed) { lto_module_t M; const void *view; - OwningPtr buffer; + std::unique_ptr buffer; if (get_view) { if (get_view(file->handle, &view) != LDPS_OK) { (*message)(LDPL_ERROR, "Failed to get a view of %s", file->name); diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index bb72f252fe..8fbdc49e5e 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -206,7 +206,7 @@ int main(int argc, char **argv) { static int compileModule(char **argv, LLVMContext &Context) { // Load the module to be compiled... SMDiagnostic Err; - OwningPtr M; + std::unique_ptr M; Module *mod = 0; Triple TheTriple; @@ -266,10 +266,9 @@ static int compileModule(char **argv, LLVMContext &Context) { TargetOptions Options = InitTargetOptionsFromCodeGenFlags(); Options.DisableIntegratedAS = NoIntegratedAssembler; - OwningPtr - target(TheTarget->createTargetMachine(TheTriple.getTriple(), - MCPU, FeaturesStr, Options, - RelocModel, CMModel, OLvl)); + std::unique_ptr target( + TheTarget->createTargetMachine(TheTriple.getTriple(), MCPU, FeaturesStr, + Options, RelocModel, CMModel, OLvl)); assert(target.get() && "Could not allocate target machine!"); assert(mod && "Should have exited after outputting help!"); TargetMachine &Target = *target.get(); @@ -284,8 +283,8 @@ static int compileModule(char **argv, LLVMContext &Context) { FloatABIForCalls = FloatABI::Soft; // Figure out where we are going to send the output. - OwningPtr Out - (GetOutputStream(TheTarget->getName(), TheTriple.getOS(), argv[0])); + std::unique_ptr Out( + GetOutputStream(TheTarget->getName(), TheTriple.getOS(), argv[0])); if (!Out) return 1; // Build up all of the passes that we want to do to the module. diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index 7bbc5dc97b..a9125a48b8 100644 --- a/tools/lli/lli.cpp +++ b/tools/lli/lli.cpp @@ -284,7 +284,7 @@ public: if (!getCacheFilename(ModuleID, CacheName)) return NULL; // Load the object from the cache filename - OwningPtr IRObjectBuffer; + std::unique_ptr IRObjectBuffer; MemoryBuffer::getFile(CacheName.c_str(), IRObjectBuffer, -1, false); // If the file isn't there, that's OK. if (!IRObjectBuffer) @@ -537,7 +537,7 @@ int main(int argc, char **argv, char * const *envp) { } for (unsigned i = 0, e = ExtraArchives.size(); i != e; ++i) { - OwningPtr ArBuf; + std::unique_ptr ArBuf; error_code ec; ec = MemoryBuffer::getFileOrSTDIN(ExtraArchives[i], ArBuf); if (ec) { @@ -662,7 +662,7 @@ int main(int argc, char **argv, char * const *envp) { // address space, assign the section addresses to resolve any relocations, // and send it to the target. - OwningPtr Target; + std::unique_ptr Target; if (!ChildExecPath.empty()) { // Remote execution on a child process #ifndef LLVM_ON_UNIX // FIXME: Remove this pointless fallback mode which causes tests to "pass" diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index e1987b107f..047f54e56e 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/tools/llvm-ar/llvm-ar.cpp @@ -770,7 +770,7 @@ static void performWriteOperation(ArchiveOperation Operation, MemberBuffers.resize(NewMembers.size()); for (unsigned I = 0, N = NewMembers.size(); I < N; ++I) { - OwningPtr MemberBuffer; + std::unique_ptr MemberBuffer; NewArchiveIterator &Member = NewMembers[I]; if (Member.isNewMember()) { @@ -938,7 +938,7 @@ int ar_main(char **argv) { static int performOperation(ArchiveOperation Operation) { // Create or open the archive object. - OwningPtr Buf; + std::unique_ptr Buf; error_code EC = MemoryBuffer::getFile(ArchiveName, Buf, -1, false); if (EC && EC != llvm::errc::no_such_file_or_directory) { errs() << ToolName << ": error opening '" << ArchiveName diff --git a/tools/llvm-as/llvm-as.cpp b/tools/llvm-as/llvm-as.cpp index a9a230536e..7583b121b4 100644 --- a/tools/llvm-as/llvm-as.cpp +++ b/tools/llvm-as/llvm-as.cpp @@ -69,8 +69,8 @@ static void WriteOutputFile(const Module *M) { } std::string ErrorInfo; - OwningPtr Out(new tool_output_file( - OutputFilename.c_str(), ErrorInfo, sys::fs::F_None)); + std::unique_ptr Out( + new tool_output_file(OutputFilename.c_str(), ErrorInfo, sys::fs::F_None)); if (!ErrorInfo.empty()) { errs() << ErrorInfo << '\n'; exit(1); @@ -93,7 +93,7 @@ int main(int argc, char **argv) { // Parse the file now... SMDiagnostic Err; - OwningPtr M(ParseAssemblyFile(InputFilename, Err, Context)); + std::unique_ptr M(ParseAssemblyFile(InputFilename, Err, Context)); if (M.get() == 0) { Err.print(argv[0], errs()); return 1; diff --git a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp index 632f85e746..9e17783e70 100644 --- a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp +++ b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp @@ -27,7 +27,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/Bitcode/BitstreamReader.h" #include "llvm/Bitcode/LLVMBitCodes.h" #include "llvm/Bitcode/ReaderWriter.h" @@ -479,7 +478,7 @@ static void PrintSize(uint64_t Bits) { /// AnalyzeBitcode - Analyze the bitcode file specified by InputFilename. static int AnalyzeBitcode() { // Read the input file. - OwningPtr MemBuf; + std::unique_ptr MemBuf; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, MemBuf)) diff --git a/tools/llvm-cov/llvm-cov.cpp b/tools/llvm-cov/llvm-cov.cpp index ce59694ad2..587ee11899 100644 --- a/tools/llvm-cov/llvm-cov.cpp +++ b/tools/llvm-cov/llvm-cov.cpp @@ -11,7 +11,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/FileSystem.h" @@ -96,7 +95,7 @@ int main(int argc, char **argv) { GCOVFile GF; - OwningPtr GCNO_Buff; + std::unique_ptr GCNO_Buff; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputGCNO, GCNO_Buff)) { errs() << InputGCNO << ": " << ec.message() << "\n"; return 1; @@ -107,7 +106,7 @@ int main(int argc, char **argv) { return 1; } - OwningPtr GCDA_Buff; + std::unique_ptr GCDA_Buff; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputGCDA, GCDA_Buff)) { if (ec != errc::no_such_file_or_directory) { errs() << InputGCDA << ": " << ec.message() << "\n"; diff --git a/tools/llvm-dis/llvm-dis.cpp b/tools/llvm-dis/llvm-dis.cpp index b1263d5cc9..df649cccff 100644 --- a/tools/llvm-dis/llvm-dis.cpp +++ b/tools/llvm-dis/llvm-dis.cpp @@ -123,7 +123,7 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, "llvm .bc -> .ll disassembler\n"); std::string ErrorMessage; - OwningPtr M; + std::unique_ptr M; // Use the bitcode streaming interface DataStreamer *streamer = getDataFileStreamer(InputFilename, &ErrorMessage); @@ -171,14 +171,14 @@ int main(int argc, char **argv) { } std::string ErrorInfo; - OwningPtr Out(new tool_output_file( - OutputFilename.c_str(), ErrorInfo, sys::fs::F_None)); + std::unique_ptr Out( + new tool_output_file(OutputFilename.c_str(), ErrorInfo, sys::fs::F_None)); if (!ErrorInfo.empty()) { errs() << ErrorInfo << '\n'; return 1; } - OwningPtr Annotator; + std::unique_ptr Annotator; if (ShowAnnotations) Annotator.reset(new CommentWriter()); diff --git a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp index 05e8d630d9..f019e9e9a9 100644 --- a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp +++ b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp @@ -11,7 +11,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/Triple.h" #include "llvm/DebugInfo/DIContext.h" @@ -87,7 +86,7 @@ static void PrintDILineInfo(DILineInfo dli) { } static void DumpInput(const StringRef &Filename) { - OwningPtr Buff; + std::unique_ptr Buff; if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, Buff)) { errs() << Filename << ": " << ec.message() << "\n"; @@ -99,9 +98,9 @@ static void DumpInput(const StringRef &Filename) { errs() << Filename << ": " << EC.message() << '\n'; return; } - OwningPtr Obj(ObjOrErr.get()); + std::unique_ptr Obj(ObjOrErr.get()); - OwningPtr DICtx(DIContext::getDWARFContext(Obj.get())); + std::unique_ptr DICtx(DIContext::getDWARFContext(Obj.get())); if (Address == -1ULL) { outs() << Filename diff --git a/tools/llvm-extract/llvm-extract.cpp b/tools/llvm-extract/llvm-extract.cpp index b1c1f68f55..2e5a2af244 100644 --- a/tools/llvm-extract/llvm-extract.cpp +++ b/tools/llvm-extract/llvm-extract.cpp @@ -100,7 +100,7 @@ int main(int argc, char **argv) { // Use lazy loading, since we only care about selected global values. SMDiagnostic Err; - OwningPtr M; + std::unique_ptr M; M.reset(getLazyIRFileModule(InputFilename, Err, Context)); if (M.get() == 0) { diff --git a/tools/llvm-jitlistener/llvm-jitlistener.cpp b/tools/llvm-jitlistener/llvm-jitlistener.cpp index dbaf075e91..a9bbc702a9 100644 --- a/tools/llvm-jitlistener/llvm-jitlistener.cpp +++ b/tools/llvm-jitlistener/llvm-jitlistener.cpp @@ -15,7 +15,6 @@ #include "llvm/IR/LLVMContext.h" #include "../../lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/Triple.h" #include "llvm/ExecutionEngine/JITEventListener.h" #include "llvm/ExecutionEngine/JITMemoryManager.h" @@ -163,16 +162,15 @@ protected: LLVMContext Context; // Global ownership Module *TheModule; // Owned by ExecutionEngine. JITMemoryManager *JMM; // Owned by ExecutionEngine. - OwningPtr TheJIT; + std::unique_ptr TheJIT; public: void ProcessInput(const std::string &Filename) { InitEE(Filename); - llvm::OwningPtr Listener(JITEventListener::createIntelJITEventListener( - new IntelJITEventsWrapper(NotifyEvent, 0, - IsProfilingActive, 0, 0, - GetNewMethodID))); + std::unique_ptr Listener( + JITEventListener::createIntelJITEventListener(new IntelJITEventsWrapper( + NotifyEvent, 0, IsProfilingActive, 0, 0, GetNewMethodID))); TheJIT->RegisterJITEventListener(Listener.get()); diff --git a/tools/llvm-link/llvm-link.cpp b/tools/llvm-link/llvm-link.cpp index 1449148287..1f0e2246ce 100644 --- a/tools/llvm-link/llvm-link.cpp +++ b/tools/llvm-link/llvm-link.cpp @@ -82,8 +82,8 @@ int main(int argc, char **argv) { unsigned BaseArg = 0; std::string ErrorMessage; - OwningPtr Composite(LoadFile(argv[0], - InputFilenames[BaseArg], Context)); + std::unique_ptr Composite( + LoadFile(argv[0], InputFilenames[BaseArg], Context)); if (Composite.get() == 0) { errs() << argv[0] << ": error loading file '" << InputFilenames[BaseArg] << "'\n"; @@ -92,7 +92,7 @@ int main(int argc, char **argv) { Linker L(Composite.get(), SuppressWarnings); for (unsigned i = BaseArg+1; i < InputFilenames.size(); ++i) { - OwningPtr M(LoadFile(argv[0], InputFilenames[i], Context)); + std::unique_ptr M(LoadFile(argv[0], InputFilenames[i], Context)); if (M.get() == 0) { errs() << argv[0] << ": error loading file '" < Module(LTOModule::makeLTOModule(InputFilenames[i].c_str(), - Options, error)); + std::unique_ptr Module( + LTOModule::makeLTOModule(InputFilenames[i].c_str(), Options, error)); if (!error.empty()) { errs() << argv[0] << ": error loading file '" << InputFilenames[i] << "': " << error << "\n"; diff --git a/tools/llvm-mc/Disassembler.cpp b/tools/llvm-mc/Disassembler.cpp index 92fc3a3f03..509a1d4ec3 100644 --- a/tools/llvm-mc/Disassembler.cpp +++ b/tools/llvm-mc/Disassembler.cpp @@ -13,7 +13,6 @@ //===----------------------------------------------------------------------===// #include "Disassembler.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/Triple.h" #include "llvm/MC/MCDisassembler.h" #include "llvm/MC/MCInst.h" @@ -159,7 +158,7 @@ int Disassembler::disassemble(const Target &T, MemoryBuffer &Buffer, SourceMgr &SM, raw_ostream &Out) { - OwningPtr DisAsm(T.createMCDisassembler(STI)); + std::unique_ptr DisAsm(T.createMCDisassembler(STI)); if (!DisAsm) { errs() << "error: no disassembler for target " << Triple << "\n"; return -1; diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp index 9061f1d1b3..3e76f35dc6 100644 --- a/tools/llvm-mc/llvm-mc.cpp +++ b/tools/llvm-mc/llvm-mc.cpp @@ -13,7 +13,6 @@ //===----------------------------------------------------------------------===// #include "Disassembler.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/MC/MCAsmBackend.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCContext.h" @@ -320,9 +319,9 @@ static int AsLexInput(SourceMgr &SrcMgr, MCAsmInfo &MAI, tool_output_file *Out) static int AssembleInput(const char *ProgName, const Target *TheTarget, SourceMgr &SrcMgr, MCContext &Ctx, MCStreamer &Str, MCAsmInfo &MAI, MCSubtargetInfo &STI, MCInstrInfo &MCII) { - OwningPtr Parser(createMCAsmParser(SrcMgr, Ctx, - Str, MAI)); - OwningPtr TAP(TheTarget->createMCAsmParser(STI, *Parser, MCII)); + std::unique_ptr Parser(createMCAsmParser(SrcMgr, Ctx, Str, MAI)); + std::unique_ptr TAP( + TheTarget->createMCAsmParser(STI, *Parser, MCII)); if (!TAP) { errs() << ProgName << ": error: this target does not support assembly parsing.\n"; @@ -363,7 +362,7 @@ int main(int argc, char **argv) { if (!TheTarget) return 1; - OwningPtr BufferPtr; + std::unique_ptr BufferPtr; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, BufferPtr)) { errs() << ProgName << ": " << ec.message() << '\n'; return 1; @@ -379,15 +378,15 @@ int main(int argc, char **argv) { // it later. SrcMgr.setIncludeDirs(IncludeDirs); - llvm::OwningPtr MRI(TheTarget->createMCRegInfo(TripleName)); + std::unique_ptr MRI(TheTarget->createMCRegInfo(TripleName)); assert(MRI && "Unable to create target register info!"); - llvm::OwningPtr MAI(TheTarget->createMCAsmInfo(*MRI, TripleName)); + std::unique_ptr MAI(TheTarget->createMCAsmInfo(*MRI, TripleName)); assert(MAI && "Unable to create target asm info!"); // FIXME: This is not pretty. MCContext has a ptr to MCObjectFileInfo and // MCObjectFileInfo needs a MCContext reference in order to initialize itself. - OwningPtr MOFI(new MCObjectFileInfo()); + std::unique_ptr MOFI(new MCObjectFileInfo()); MCContext Ctx(MAI.get(), MRI.get(), MOFI.get(), &SrcMgr); MOFI->InitMCObjectFileInfo(TripleName, RelocModel, CMModel, Ctx); @@ -413,16 +412,16 @@ int main(int argc, char **argv) { FeaturesStr = Features.getString(); } - OwningPtr Out(GetOutputStream()); + std::unique_ptr Out(GetOutputStream()); if (!Out) return 1; formatted_raw_ostream FOS(Out->os()); - OwningPtr Str; + std::unique_ptr Str; - OwningPtr MCII(TheTarget->createMCInstrInfo()); - OwningPtr - STI(TheTarget->createMCSubtargetInfo(TripleName, MCPU, FeaturesStr)); + std::unique_ptr MCII(TheTarget->createMCInstrInfo()); + std::unique_ptr STI( + TheTarget->createMCSubtargetInfo(TripleName, MCPU, FeaturesStr)); MCInstPrinter *IP = NULL; if (FileType == OFT_AssemblyFile) { diff --git a/tools/llvm-mcmarkup/llvm-mcmarkup.cpp b/tools/llvm-mcmarkup/llvm-mcmarkup.cpp index 72a075c50d..f3a3e45fdd 100644 --- a/tools/llvm-mcmarkup/llvm-mcmarkup.cpp +++ b/tools/llvm-mcmarkup/llvm-mcmarkup.cpp @@ -11,7 +11,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Format.h" #include "llvm/Support/ManagedStatic.h" @@ -136,7 +135,7 @@ MarkupTag MarkupParser::parseTag() { } static void parseMCMarkup(StringRef Filename) { - OwningPtr BufferPtr; + std::unique_ptr BufferPtr; if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, BufferPtr)) { errs() << ToolName << ": " << ec.message() << '\n'; return; diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index 7053b36340..70c789f328 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -518,7 +518,7 @@ static void dumpSymbolNamesFromObject(SymbolicFile *Obj) { } static void dumpSymbolNamesFromFile(std::string &Filename) { - OwningPtr Buffer; + std::unique_ptr Buffer; if (error(MemoryBuffer::getFileOrSTDIN(Filename, Buffer), Filename)) return; @@ -526,7 +526,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { ErrorOr BinaryOrErr = createBinary(Buffer.release(), &Context); if (error(BinaryOrErr.getError(), Filename)) return; - OwningPtr Bin(BinaryOrErr.get()); + std::unique_ptr Bin(BinaryOrErr.get()); if (Archive *A = dyn_cast(Bin.get())) { if (ArchiveMap) { @@ -552,7 +552,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { for (Archive::child_iterator I = A->child_begin(), E = A->child_end(); I != E; ++I) { - OwningPtr Child; + std::unique_ptr Child; if (I->getAsBinary(Child, &Context)) continue; if (SymbolicFile *O = dyn_cast(Child.get())) { @@ -566,7 +566,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { for (MachOUniversalBinary::object_iterator I = UB->begin_objects(), E = UB->end_objects(); I != E; ++I) { - OwningPtr Obj; + std::unique_ptr Obj; if (!I->getAsObjectFile(Obj)) { outs() << Obj->getFileName() << ":\n"; dumpSymbolNamesFromObject(Obj.get()); diff --git a/tools/llvm-objdump/MachODump.cpp b/tools/llvm-objdump/MachODump.cpp index d67b3c63ad..df96f00bd7 100644 --- a/tools/llvm-objdump/MachODump.cpp +++ b/tools/llvm-objdump/MachODump.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm-objdump.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Triple.h" @@ -201,14 +200,14 @@ static void DisassembleInputMachO2(StringRef Filename, MachOObjectFile *MachOOF); void llvm::DisassembleInputMachO(StringRef Filename) { - OwningPtr Buff; + std::unique_ptr Buff; if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, Buff)) { errs() << "llvm-objdump: " << Filename << ": " << ec.message() << "\n"; return; } - OwningPtr MachOOF(static_cast( + std::unique_ptr MachOOF(static_cast( ObjectFile::createMachOObjectFile(Buff.release()).get())); DisassembleInputMachO2(Filename, MachOOF.get()); @@ -221,21 +220,22 @@ static void DisassembleInputMachO2(StringRef Filename, // GetTarget prints out stuff. return; } - OwningPtr InstrInfo(TheTarget->createMCInstrInfo()); - OwningPtr - InstrAnalysis(TheTarget->createMCInstrAnalysis(InstrInfo.get())); + std::unique_ptr InstrInfo(TheTarget->createMCInstrInfo()); + std::unique_ptr InstrAnalysis( + TheTarget->createMCInstrAnalysis(InstrInfo.get())); // Set up disassembler. - OwningPtr MRI(TheTarget->createMCRegInfo(TripleName)); - OwningPtr AsmInfo( + std::unique_ptr MRI( + TheTarget->createMCRegInfo(TripleName)); + std::unique_ptr AsmInfo( TheTarget->createMCAsmInfo(*MRI, TripleName)); - OwningPtr - STI(TheTarget->createMCSubtargetInfo(TripleName, "", "")); - OwningPtr DisAsm(TheTarget->createMCDisassembler(*STI)); + std::unique_ptr STI( + TheTarget->createMCSubtargetInfo(TripleName, "", "")); + std::unique_ptr DisAsm( + TheTarget->createMCDisassembler(*STI)); int AsmPrinterVariant = AsmInfo->getAssemblerDialect(); - OwningPtr - IP(TheTarget->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *InstrInfo, - *MRI, *STI)); + std::unique_ptr IP(TheTarget->createMCInstPrinter( + AsmPrinterVariant, *AsmInfo, *InstrInfo, *MRI, *STI)); if (!InstrAnalysis || !AsmInfo || !STI || !DisAsm || !IP) { errs() << "error: couldn't initialize disassembler for target " @@ -285,14 +285,14 @@ static void DisassembleInputMachO2(StringRef Filename, raw_ostream &DebugOut = nulls(); #endif - OwningPtr diContext; + std::unique_ptr diContext; ObjectFile *DbgObj = MachOOF; // Try to find debug info and set up the DIContext for it. if (UseDbg) { // A separate DSym file path was specified, parse it as a macho file, // get the sections and supply it to the section name parsing machinery. if (!DSYMFile.empty()) { - OwningPtr Buf; + std::unique_ptr Buf; if (error_code ec = MemoryBuffer::getFileOrSTDIN(DSYMFile, Buf)) { errs() << "llvm-objdump: " << Filename << ": " << ec.message() << '\n'; return; diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index d8460fdb24..7a3d0e29d9 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/tools/llvm-objdump/llvm-objdump.cpp @@ -17,7 +17,6 @@ //===----------------------------------------------------------------------===// #include "llvm-objdump.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Triple.h" @@ -282,60 +281,61 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) { FeaturesStr = Features.getString(); } - OwningPtr MRI(TheTarget->createMCRegInfo(TripleName)); + std::unique_ptr MRI( + TheTarget->createMCRegInfo(TripleName)); if (!MRI) { errs() << "error: no register info for target " << TripleName << "\n"; return; } // Set up disassembler. - OwningPtr AsmInfo( - TheTarget->createMCAsmInfo(*MRI, TripleName)); + std::unique_ptr AsmInfo( + TheTarget->createMCAsmInfo(*MRI, TripleName)); if (!AsmInfo) { errs() << "error: no assembly info for target " << TripleName << "\n"; return; } - OwningPtr STI( - TheTarget->createMCSubtargetInfo(TripleName, "", FeaturesStr)); + std::unique_ptr STI( + TheTarget->createMCSubtargetInfo(TripleName, "", FeaturesStr)); if (!STI) { errs() << "error: no subtarget info for target " << TripleName << "\n"; return; } - OwningPtr MII(TheTarget->createMCInstrInfo()); + std::unique_ptr MII(TheTarget->createMCInstrInfo()); if (!MII) { errs() << "error: no instruction info for target " << TripleName << "\n"; return; } - OwningPtr DisAsm(TheTarget->createMCDisassembler(*STI)); + std::unique_ptr DisAsm(TheTarget->createMCDisassembler(*STI)); if (!DisAsm) { errs() << "error: no disassembler for target " << TripleName << "\n"; return; } - OwningPtr MOFI; - OwningPtr Ctx; + std::unique_ptr MOFI; + std::unique_ptr Ctx; if (Symbolize) { MOFI.reset(new MCObjectFileInfo); Ctx.reset(new MCContext(AsmInfo.get(), MRI.get(), MOFI.get())); - OwningPtr RelInfo( - TheTarget->createMCRelocationInfo(TripleName, *Ctx.get())); + std::unique_ptr RelInfo( + TheTarget->createMCRelocationInfo(TripleName, *Ctx.get())); if (RelInfo) { - OwningPtr Symzer( - MCObjectSymbolizer::createObjectSymbolizer(*Ctx.get(), RelInfo, Obj)); + std::unique_ptr Symzer( + MCObjectSymbolizer::createObjectSymbolizer(*Ctx.get(), RelInfo, Obj)); if (Symzer) DisAsm->setSymbolizer(Symzer); } } - OwningPtr - MIA(TheTarget->createMCInstrAnalysis(MII.get())); + std::unique_ptr MIA( + TheTarget->createMCInstrAnalysis(MII.get())); int AsmPrinterVariant = AsmInfo->getAssemblerDialect(); - OwningPtr IP(TheTarget->createMCInstPrinter( + std::unique_ptr IP(TheTarget->createMCInstPrinter( AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI)); if (!IP) { errs() << "error: no instruction printer for target " << TripleName @@ -344,9 +344,9 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) { } if (CFG || !YAMLCFG.empty()) { - OwningPtr OD( - new MCObjectDisassembler(*Obj, *DisAsm, *MIA)); - OwningPtr Mod(OD->buildModule(/* withCFG */ true)); + std::unique_ptr OD( + new MCObjectDisassembler(*Obj, *DisAsm, *MIA)); + std::unique_ptr Mod(OD->buildModule(/* withCFG */ true)); for (MCModule::const_atom_iterator AI = Mod->atom_begin(), AE = Mod->atom_end(); AI != AE; ++AI) { @@ -814,7 +814,7 @@ static void DumpObject(const ObjectFile *o) { static void DumpArchive(const Archive *a) { for (Archive::child_iterator i = a->child_begin(), e = a->child_end(); i != e; ++i) { - OwningPtr child; + std::unique_ptr child; if (error_code EC = i->getAsBinary(child)) { // Ignore non-object files. if (EC != object_error::invalid_file_type) @@ -849,7 +849,7 @@ static void DumpInput(StringRef file) { errs() << ToolName << ": '" << file << "': " << EC.message() << ".\n"; return; } - OwningPtr binary(BinaryOrErr.get()); + std::unique_ptr binary(BinaryOrErr.get()); if (Archive *a = dyn_cast(binary.get())) DumpArchive(a); diff --git a/tools/llvm-profdata/llvm-profdata.cpp b/tools/llvm-profdata/llvm-profdata.cpp index 236780b485..b338efd27e 100644 --- a/tools/llvm-profdata/llvm-profdata.cpp +++ b/tools/llvm-profdata/llvm-profdata.cpp @@ -11,7 +11,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/ManagedStatic.h" @@ -101,8 +100,8 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, "LLVM profile data merger\n"); - OwningPtr File1; - OwningPtr File2; + std::unique_ptr File1; + std::unique_ptr File2; if (error_code ec = MemoryBuffer::getFile(Filename1, File1)) exitWithError(ec.message(), Filename1); if (error_code ec = MemoryBuffer::getFile(Filename2, File2)) diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp index 2c8afdfbb7..c33af18fe9 100644 --- a/tools/llvm-readobj/COFFDumper.cpp +++ b/tools/llvm-readobj/COFFDumper.cpp @@ -104,9 +104,8 @@ private: namespace llvm { -error_code createCOFFDumper(const object::ObjectFile *Obj, - StreamWriter& Writer, - OwningPtr &Result) { +error_code createCOFFDumper(const object::ObjectFile *Obj, StreamWriter &Writer, + std::unique_ptr &Result) { const COFFObjectFile *COFFObj = dyn_cast(Obj); if (!COFFObj) return readobj_error::unsupported_obj_file_format; diff --git a/tools/llvm-readobj/ELFDumper.cpp b/tools/llvm-readobj/ELFDumper.cpp index adab38fef6..cc51089afd 100644 --- a/tools/llvm-readobj/ELFDumper.cpp +++ b/tools/llvm-readobj/ELFDumper.cpp @@ -83,14 +83,13 @@ namespace llvm { template static error_code createELFDumper(const ELFFile *Obj, StreamWriter &Writer, - OwningPtr &Result) { + std::unique_ptr &Result) { Result.reset(new ELFDumper(Obj, Writer)); return readobj_error::success; } -error_code createELFDumper(const object::ObjectFile *Obj, - StreamWriter& Writer, - OwningPtr &Result) { +error_code createELFDumper(const object::ObjectFile *Obj, StreamWriter &Writer, + std::unique_ptr &Result) { // Little-endian 32-bit if (const ELF32LEObjectFile *ELFObj = dyn_cast(Obj)) return createELFDumper(ELFObj->getELFFile(), Writer, Result); diff --git a/tools/llvm-readobj/MachODumper.cpp b/tools/llvm-readobj/MachODumper.cpp index 6ff817c25c..1631777423 100644 --- a/tools/llvm-readobj/MachODumper.cpp +++ b/tools/llvm-readobj/MachODumper.cpp @@ -56,8 +56,8 @@ private: namespace llvm { error_code createMachODumper(const object::ObjectFile *Obj, - StreamWriter& Writer, - OwningPtr &Result) { + StreamWriter &Writer, + std::unique_ptr &Result) { const MachOObjectFile *MachOObj = dyn_cast(Obj); if (!MachOObj) return readobj_error::unsupported_obj_file_format; diff --git a/tools/llvm-readobj/ObjDumper.h b/tools/llvm-readobj/ObjDumper.h index 64bab05632..9e0fd2f990 100644 --- a/tools/llvm-readobj/ObjDumper.h +++ b/tools/llvm-readobj/ObjDumper.h @@ -10,6 +10,8 @@ #ifndef LLVM_READOBJ_OBJDUMPER_H #define LLVM_READOBJ_OBJDUMPER_H +#include + namespace llvm { namespace object { @@ -18,9 +20,6 @@ namespace object { class error_code; -template -class OwningPtr; - class StreamWriter; class ObjDumper { @@ -47,17 +46,15 @@ protected: StreamWriter& W; }; -error_code createCOFFDumper(const object::ObjectFile *Obj, - StreamWriter& Writer, - OwningPtr &Result); +error_code createCOFFDumper(const object::ObjectFile *Obj, StreamWriter &Writer, + std::unique_ptr &Result); -error_code createELFDumper(const object::ObjectFile *Obj, - StreamWriter& Writer, - OwningPtr &Result); +error_code createELFDumper(const object::ObjectFile *Obj, StreamWriter &Writer, + std::unique_ptr &Result); error_code createMachODumper(const object::ObjectFile *Obj, - StreamWriter& Writer, - OwningPtr &Result); + StreamWriter &Writer, + std::unique_ptr &Result); } // namespace llvm diff --git a/tools/llvm-readobj/llvm-readobj.cpp b/tools/llvm-readobj/llvm-readobj.cpp index 56f60114fe..5be959f85c 100644 --- a/tools/llvm-readobj/llvm-readobj.cpp +++ b/tools/llvm-readobj/llvm-readobj.cpp @@ -179,9 +179,8 @@ static void reportError(StringRef Input, StringRef Message) { } /// @brief Creates an format-specific object file dumper. -static error_code createDumper(const ObjectFile *Obj, - StreamWriter &Writer, - OwningPtr &Result) { +static error_code createDumper(const ObjectFile *Obj, StreamWriter &Writer, + std::unique_ptr &Result) { if (!Obj) return readobj_error::unsupported_file_format; @@ -199,7 +198,7 @@ static error_code createDumper(const ObjectFile *Obj, /// @brief Dumps the specified object file. static void dumpObject(const ObjectFile *Obj) { StreamWriter Writer(outs()); - OwningPtr Dumper; + std::unique_ptr Dumper; if (error_code EC = createDumper(Obj, Writer, Dumper)) { reportError(Obj->getFileName(), EC); return; @@ -244,7 +243,7 @@ static void dumpArchive(const Archive *Arc) { for (Archive::child_iterator ArcI = Arc->child_begin(), ArcE = Arc->child_end(); ArcI != ArcE; ++ArcI) { - OwningPtr child; + std::unique_ptr child; if (error_code EC = ArcI->getAsBinary(child)) { // Ignore non-object files. if (EC != object_error::invalid_file_type) @@ -274,7 +273,7 @@ static void dumpInput(StringRef File) { reportError(File, EC); return; } - OwningPtr Binary(BinaryOrErr.get()); + std::unique_ptr Binary(BinaryOrErr.get()); if (Archive *Arc = dyn_cast(Binary.get())) dumpArchive(Arc); diff --git a/tools/llvm-rtdyld/llvm-rtdyld.cpp b/tools/llvm-rtdyld/llvm-rtdyld.cpp index d9e640fc35..ffac5dce82 100644 --- a/tools/llvm-rtdyld/llvm-rtdyld.cpp +++ b/tools/llvm-rtdyld/llvm-rtdyld.cpp @@ -11,7 +11,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringMap.h" #include "llvm/DebugInfo/DIContext.h" #include "llvm/ExecutionEngine/ObjectBuffer.h" @@ -133,8 +132,8 @@ static int printLineInfoForInput() { RuntimeDyld Dyld(&MemMgr); // Load the input memory buffer. - OwningPtr InputBuffer; - OwningPtr LoadedObject; + std::unique_ptr InputBuffer; + std::unique_ptr LoadedObject; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFileList[i], InputBuffer)) return Error("unable to read input: '" + ec.message() + "'"); @@ -148,7 +147,8 @@ static int printLineInfoForInput() { // Resolve all the relocations we can. Dyld.resolveRelocations(); - OwningPtr Context(DIContext::getDWARFContext(LoadedObject->getObjectFile())); + std::unique_ptr Context( + DIContext::getDWARFContext(LoadedObject->getObjectFile())); // Use symbol info to iterate functions in the object. for (object::symbol_iterator I = LoadedObject->begin_symbols(), @@ -191,8 +191,8 @@ static int executeInput() { InputFileList.push_back("-"); for(unsigned i = 0, e = InputFileList.size(); i != e; ++i) { // Load the input memory buffer. - OwningPtr InputBuffer; - OwningPtr LoadedObject; + std::unique_ptr InputBuffer; + std::unique_ptr LoadedObject; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFileList[i], InputBuffer)) return Error("unable to read input: '" + ec.message() + "'"); diff --git a/tools/llvm-size/llvm-size.cpp b/tools/llvm-size/llvm-size.cpp index c2d2446275..89528dc8b4 100644 --- a/tools/llvm-size/llvm-size.cpp +++ b/tools/llvm-size/llvm-size.cpp @@ -236,13 +236,13 @@ static void PrintFileSectionSizes(StringRef file) { errs() << ToolName << ": " << file << ": " << EC.message() << ".\n"; return; } - OwningPtr binary(BinaryOrErr.get()); + std::unique_ptr binary(BinaryOrErr.get()); if (Archive *a = dyn_cast(binary.get())) { // This is an archive. Iterate over each member and display its sizes. for (object::Archive::child_iterator i = a->child_begin(), e = a->child_end(); i != e; ++i) { - OwningPtr child; + std::unique_ptr child; if (error_code ec = i->getAsBinary(child)) { errs() << ToolName << ": " << file << ": " << ec.message() << ".\n"; continue; diff --git a/tools/llvm-stress/llvm-stress.cpp b/tools/llvm-stress/llvm-stress.cpp index d31b86f56b..6afcae43f9 100644 --- a/tools/llvm-stress/llvm-stress.cpp +++ b/tools/llvm-stress/llvm-stress.cpp @@ -11,7 +11,7 @@ // different components in LLVM. // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" + #include "llvm/Analysis/CallGraphSCCPass.h" #include "llvm/IR/Constants.h" #include "llvm/IR/IRPrintingPasses.h" @@ -625,15 +625,15 @@ static void FillFunction(Function *F, Random &R) { // List of modifiers which add new random instructions. std::vector Modifiers; - OwningPtr LM(new LoadModifier(BB, &PT, &R)); - OwningPtr SM(new StoreModifier(BB, &PT, &R)); - OwningPtr EE(new ExtractElementModifier(BB, &PT, &R)); - OwningPtr SHM(new ShuffModifier(BB, &PT, &R)); - OwningPtr IE(new InsertElementModifier(BB, &PT, &R)); - OwningPtr BM(new BinModifier(BB, &PT, &R)); - OwningPtr CM(new CastModifier(BB, &PT, &R)); - OwningPtr SLM(new SelectModifier(BB, &PT, &R)); - OwningPtr PM(new CmpModifier(BB, &PT, &R)); + std::unique_ptr LM(new LoadModifier(BB, &PT, &R)); + std::unique_ptr SM(new StoreModifier(BB, &PT, &R)); + std::unique_ptr EE(new ExtractElementModifier(BB, &PT, &R)); + std::unique_ptr SHM(new ShuffModifier(BB, &PT, &R)); + std::unique_ptr IE(new InsertElementModifier(BB, &PT, &R)); + std::unique_ptr BM(new BinModifier(BB, &PT, &R)); + std::unique_ptr CM(new CastModifier(BB, &PT, &R)); + std::unique_ptr SLM(new SelectModifier(BB, &PT, &R)); + std::unique_ptr PM(new CmpModifier(BB, &PT, &R)); Modifiers.push_back(LM.get()); Modifiers.push_back(SM.get()); Modifiers.push_back(EE.get()); @@ -687,7 +687,7 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, "llvm codegen stress-tester\n"); llvm_shutdown_obj Y; - OwningPtr M(new Module("/tmp/autogen.bc", getGlobalContext())); + std::unique_ptr M(new Module("/tmp/autogen.bc", getGlobalContext())); Function *F = GenEmptyFunction(M.get()); // Pick an initial seed value @@ -698,7 +698,7 @@ int main(int argc, char **argv) { IntroduceControlFlow(F, R); // Figure out what stream we are supposed to write to... - OwningPtr Out; + std::unique_ptr Out; // Default to standard output. if (OutputFilename.empty()) OutputFilename = "-"; diff --git a/tools/llvm-symbolizer/LLVMSymbolize.cpp b/tools/llvm-symbolizer/LLVMSymbolize.cpp index 91abe46e09..31b6c68c8a 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.cpp +++ b/tools/llvm-symbolizer/LLVMSymbolize.cpp @@ -231,7 +231,7 @@ static std::string getDarwinDWARFResourceForPath(const std::string &Path) { } static bool checkFileCRC(StringRef Path, uint32_t CRCHash) { - OwningPtr MB; + std::unique_ptr MB; if (MemoryBuffer::getFileOrSTDIN(Path, MB)) return false; return !zlib::isAvailable() || CRCHash == zlib::crc32(MB->getBuffer()); @@ -313,7 +313,7 @@ LLVMSymbolizer::getOrCreateBinary(const std::string &Path) { Binary *DbgBin = 0; ErrorOr BinaryOrErr = createBinary(Path); if (!error(BinaryOrErr.getError())) { - OwningPtr ParsedBinary(BinaryOrErr.get()); + std::unique_ptr ParsedBinary(BinaryOrErr.get()); // Check if it's a universal binary. Bin = ParsedBinary.release(); ParsedBinariesAndObjects.push_back(Bin); @@ -361,7 +361,7 @@ LLVMSymbolizer::getObjectFileFromBinary(Binary *Bin, const std::string &ArchName std::make_pair(UB, ArchName)); if (I != ObjectFileForArch.end()) return I->second; - OwningPtr ParsedObj; + std::unique_ptr ParsedObj; if (!UB->getObjectForArch(Triple(ArchName).getArch(), ParsedObj)) { Res = ParsedObj.release(); ParsedBinariesAndObjects.push_back(Res); diff --git a/tools/llvm-symbolizer/LLVMSymbolize.h b/tools/llvm-symbolizer/LLVMSymbolize.h index 4ad3e97306..53fd818378 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.h +++ b/tools/llvm-symbolizer/LLVMSymbolize.h @@ -13,7 +13,6 @@ #ifndef LLVM_SYMBOLIZE_H #define LLVM_SYMBOLIZE_H -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallVector.h" #include "llvm/DebugInfo/DIContext.h" #include "llvm/Object/MachOUniversal.h" @@ -104,7 +103,7 @@ private: uint64_t &Size) const; void addSymbol(const symbol_iterator &Sym); ObjectFile *Module; - OwningPtr DebugInfoContext; + std::unique_ptr DebugInfoContext; struct SymbolDesc { uint64_t Addr; diff --git a/tools/macho-dump/macho-dump.cpp b/tools/macho-dump/macho-dump.cpp index dbb2700b77..9cfbdfb1b1 100644 --- a/tools/macho-dump/macho-dump.cpp +++ b/tools/macho-dump/macho-dump.cpp @@ -381,7 +381,7 @@ int main(int argc, char **argv) { ErrorOr BinaryOrErr = createBinary(InputFile); if (error_code EC = BinaryOrErr.getError()) return Error("unable to read input: '" + EC.message() + "'"); - OwningPtr Binary(BinaryOrErr.get()); + std::unique_ptr Binary(BinaryOrErr.get()); const MachOObjectFile *InputObject = dyn_cast(Binary.get()); if (!InputObject) diff --git a/tools/obj2yaml/obj2yaml.cpp b/tools/obj2yaml/obj2yaml.cpp index d675f59cf4..38779fe456 100644 --- a/tools/obj2yaml/obj2yaml.cpp +++ b/tools/obj2yaml/obj2yaml.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "obj2yaml.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Object/Archive.h" #include "llvm/Object/COFF.h" #include "llvm/Support/CommandLine.h" @@ -38,7 +37,7 @@ int main(int argc, char *argv[]) { llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. // Process the input file - OwningPtr buf; + std::unique_ptr buf; // TODO: If this is an archive, then burst it and dump each entry if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, buf)) { diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 1501bde219..14a40a4af7 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -356,7 +356,7 @@ int main(int argc, char **argv) { SMDiagnostic Err; // Load the input module... - OwningPtr M; + std::unique_ptr M; M.reset(ParseIRFile(InputFilename, Err, Context)); if (M.get() == 0) { @@ -369,7 +369,7 @@ int main(int argc, char **argv) { M->setTargetTriple(Triple::normalize(TargetTriple)); // Figure out what stream we are supposed to write to... - OwningPtr Out; + std::unique_ptr Out; if (NoOutput) { if (!OutputFilename.empty()) errs() << "WARNING: The -o (output filename) option is ignored when\n" @@ -442,13 +442,13 @@ int main(int argc, char **argv) { TargetMachine *Machine = 0; if (ModuleTriple.getArch()) Machine = GetTargetMachine(Triple(ModuleTriple)); - OwningPtr TM(Machine); + std::unique_ptr TM(Machine); // Add internal analysis passes from the target machine. if (TM.get()) TM->addAnalysisPasses(Passes); - OwningPtr FPasses; + std::unique_ptr FPasses; if (OptLevelO1 || OptLevelO2 || OptLevelOs || OptLevelOz || OptLevelO3) { FPasses.reset(new FunctionPassManager(M.get())); if (DL) diff --git a/tools/yaml2obj/yaml2obj.cpp b/tools/yaml2obj/yaml2obj.cpp index 6d1107c858..cc0fecc3c6 100644 --- a/tools/yaml2obj/yaml2obj.cpp +++ b/tools/yaml2obj/yaml2obj.cpp @@ -15,7 +15,6 @@ //===----------------------------------------------------------------------===// #include "yaml2obj.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/MemoryBuffer.h" @@ -57,7 +56,7 @@ int main(int argc, char **argv) { PrettyStackTraceProgram X(argc, argv); llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. - OwningPtr Buf; + std::unique_ptr Buf; if (MemoryBuffer::getFileOrSTDIN(Input, Buf)) return 1; if (Format == YOF_COFF) { diff --git a/unittests/Analysis/CFGTest.cpp b/unittests/Analysis/CFGTest.cpp index bc029e3786..8d8c560d9e 100644 --- a/unittests/Analysis/CFGTest.cpp +++ b/unittests/Analysis/CFGTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Analysis/CFG.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Analysis/LoopInfo.h" #include "llvm/AsmParser/Parser.h" #include "llvm/IR/Dominators.h" @@ -116,7 +115,7 @@ protected: PM.run(*M); } - OwningPtr M; + std::unique_ptr M; Instruction *A, *B; }; diff --git a/unittests/Bitcode/BitReaderTest.cpp b/unittests/Bitcode/BitReaderTest.cpp index eca8845430..ba030230a2 100644 --- a/unittests/Bitcode/BitReaderTest.cpp +++ b/unittests/Bitcode/BitReaderTest.cpp @@ -45,7 +45,7 @@ static Module *makeLLVMModule() { } static void writeModuleToBuffer(SmallVectorImpl &Buffer) { - OwningPtr Mod(makeLLVMModule()); + std::unique_ptr Mod(makeLLVMModule()); raw_svector_ostream OS(Buffer); WriteBitcodeToFile(Mod.get(), OS); } @@ -56,7 +56,7 @@ TEST(BitReaderTest, MaterializeFunctionsForBlockAddr) { // PR11677 MemoryBuffer *Buffer = MemoryBuffer::getMemBuffer(Mem.str(), "test", false); ErrorOr ModuleOrErr = getLazyBitcodeModule(Buffer, getGlobalContext()); - OwningPtr m(ModuleOrErr.get()); + std::unique_ptr m(ModuleOrErr.get()); PassManager passes; passes.add(createVerifierPass()); passes.run(*m); diff --git a/unittests/ExecutionEngine/ExecutionEngineTest.cpp b/unittests/ExecutionEngine/ExecutionEngineTest.cpp index 3e304e7986..e6f07dce1e 100644 --- a/unittests/ExecutionEngine/ExecutionEngineTest.cpp +++ b/unittests/ExecutionEngine/ExecutionEngineTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/ExecutionEngine/Interpreter.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/LLVMContext.h" @@ -38,7 +37,7 @@ protected: Module *const M; std::string Error; - const OwningPtr Engine; + const std::unique_ptr Engine; }; TEST_F(ExecutionEngineTest, ForwardGlobalMapping) { diff --git a/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp b/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp index 41b4f2f774..175b9fb107 100644 --- a/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp +++ b/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/ExecutionEngine/JITEventListener.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/CodeGen/MachineCodeInfo.h" #include "llvm/ExecutionEngine/JIT.h" #include "llvm/IR/Instructions.h" @@ -69,7 +68,7 @@ class JITEventListenerTest : public testing::Test { } Module *M; - const OwningPtr EE; + const std::unique_ptr EE; }; // Tests on SystemZ disabled as we're running the old JIT diff --git a/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h b/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h index 7f6dad63e5..61220f545f 100644 --- a/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h +++ b/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h @@ -53,8 +53,8 @@ inline const char* getFilename() { template class JITEventListenerTestBase : public testing::Test { protected: - llvm::OwningPtr MockWrapper; - llvm::OwningPtr Listener; + std::unique_ptr MockWrapper; + std::unique_ptr Listener; public: llvm::Module* M; diff --git a/unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp b/unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp index 731f7807f5..ab308844f2 100644 --- a/unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp +++ b/unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp @@ -9,7 +9,6 @@ #include "llvm/ExecutionEngine/JITMemoryManager.h" #include "llvm/ADT/ArrayRef.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalValue.h" @@ -31,27 +30,27 @@ Function *makeFakeFunction() { // the code in the case that we don't have to allocate more memory to store the // function bodies. TEST(JITMemoryManagerTest, NoAllocations) { - OwningPtr MemMgr( + std::unique_ptr MemMgr( JITMemoryManager::CreateDefaultMemManager()); uintptr_t size; std::string Error; // Allocate the functions. - OwningPtr F1(makeFakeFunction()); + std::unique_ptr F1(makeFakeFunction()); size = 1024; uint8_t *FunctionBody1 = MemMgr->startFunctionBody(F1.get(), size); memset(FunctionBody1, 0xFF, 1024); MemMgr->endFunctionBody(F1.get(), FunctionBody1, FunctionBody1 + 1024); EXPECT_TRUE(MemMgr->CheckInvariants(Error)) << Error; - OwningPtr F2(makeFakeFunction()); + std::unique_ptr F2(makeFakeFunction()); size = 1024; uint8_t *FunctionBody2 = MemMgr->startFunctionBody(F2.get(), size); memset(FunctionBody2, 0xFF, 1024); MemMgr->endFunctionBody(F2.get(), FunctionBody2, FunctionBody2 + 1024); EXPECT_TRUE(MemMgr->CheckInvariants(Error)) << Error; - OwningPtr F3(makeFakeFunction()); + std::unique_ptr F3(makeFakeFunction()); size = 1024; uint8_t *FunctionBody3 = MemMgr->startFunctionBody(F3.get(), size); memset(FunctionBody3, 0xFF, 1024); @@ -70,7 +69,7 @@ TEST(JITMemoryManagerTest, NoAllocations) { // Make three large functions that take up most of the space in the slab. Then // try allocating three smaller functions that don't require additional slabs. TEST(JITMemoryManagerTest, TestCodeAllocation) { - OwningPtr MemMgr( + std::unique_ptr MemMgr( JITMemoryManager::CreateDefaultMemManager()); uintptr_t size; std::string Error; @@ -81,7 +80,7 @@ TEST(JITMemoryManagerTest, TestCodeAllocation) { smallFuncSize * 2); // Allocate big functions - OwningPtr F1(makeFakeFunction()); + std::unique_ptr F1(makeFakeFunction()); size = bigFuncSize; uint8_t *FunctionBody1 = MemMgr->startFunctionBody(F1.get(), size); ASSERT_LE(bigFuncSize, size); @@ -89,7 +88,7 @@ TEST(JITMemoryManagerTest, TestCodeAllocation) { MemMgr->endFunctionBody(F1.get(), FunctionBody1, FunctionBody1 + bigFuncSize); EXPECT_TRUE(MemMgr->CheckInvariants(Error)) << Error; - OwningPtr F2(makeFakeFunction()); + std::unique_ptr F2(makeFakeFunction()); size = bigFuncSize; uint8_t *FunctionBody2 = MemMgr->startFunctionBody(F2.get(), size); ASSERT_LE(bigFuncSize, size); @@ -97,7 +96,7 @@ TEST(JITMemoryManagerTest, TestCodeAllocation) { MemMgr->endFunctionBody(F2.get(), FunctionBody2, FunctionBody2 + bigFuncSize); EXPECT_TRUE(MemMgr->CheckInvariants(Error)) << Error; - OwningPtr F3(makeFakeFunction()); + std::unique_ptr F3(makeFakeFunction()); size = bigFuncSize; uint8_t *FunctionBody3 = MemMgr->startFunctionBody(F3.get(), size); ASSERT_LE(bigFuncSize, size); @@ -109,7 +108,7 @@ TEST(JITMemoryManagerTest, TestCodeAllocation) { EXPECT_EQ(3U, MemMgr->GetNumCodeSlabs()); // Allocate small functions - OwningPtr F4(makeFakeFunction()); + std::unique_ptr F4(makeFakeFunction()); size = smallFuncSize; uint8_t *FunctionBody4 = MemMgr->startFunctionBody(F4.get(), size); ASSERT_LE(smallFuncSize, size); @@ -118,7 +117,7 @@ TEST(JITMemoryManagerTest, TestCodeAllocation) { FunctionBody4 + smallFuncSize); EXPECT_TRUE(MemMgr->CheckInvariants(Error)) << Error; - OwningPtr F5(makeFakeFunction()); + std::unique_ptr F5(makeFakeFunction()); size = smallFuncSize; uint8_t *FunctionBody5 = MemMgr->startFunctionBody(F5.get(), size); ASSERT_LE(smallFuncSize, size); @@ -127,7 +126,7 @@ TEST(JITMemoryManagerTest, TestCodeAllocation) { FunctionBody5 + smallFuncSize); EXPECT_TRUE(MemMgr->CheckInvariants(Error)) << Error; - OwningPtr F6(makeFakeFunction()); + std::unique_ptr F6(makeFakeFunction()); size = smallFuncSize; uint8_t *FunctionBody6 = MemMgr->startFunctionBody(F6.get(), size); ASSERT_LE(smallFuncSize, size); @@ -157,7 +156,7 @@ TEST(JITMemoryManagerTest, TestCodeAllocation) { // Allocate five global ints of varying widths and alignment, and check their // alignment and overlap. TEST(JITMemoryManagerTest, TestSmallGlobalInts) { - OwningPtr MemMgr( + std::unique_ptr MemMgr( JITMemoryManager::CreateDefaultMemManager()); uint8_t *a = (uint8_t *)MemMgr->allocateGlobal(8, 0); uint16_t *b = (uint16_t*)MemMgr->allocateGlobal(16, 2); @@ -204,7 +203,7 @@ TEST(JITMemoryManagerTest, TestSmallGlobalInts) { // Allocate a small global, a big global, and a third global, and make sure we // only use two slabs for that. TEST(JITMemoryManagerTest, TestLargeGlobalArray) { - OwningPtr MemMgr( + std::unique_ptr MemMgr( JITMemoryManager::CreateDefaultMemManager()); size_t Size = 4 * MemMgr->GetDefaultDataSlabSize(); uint64_t *a = (uint64_t*)MemMgr->allocateGlobal(64, 8); @@ -234,7 +233,7 @@ TEST(JITMemoryManagerTest, TestLargeGlobalArray) { // Allocate lots of medium globals so that we can test moving the bump allocator // to a new slab. TEST(JITMemoryManagerTest, TestManyGlobals) { - OwningPtr MemMgr( + std::unique_ptr MemMgr( JITMemoryManager::CreateDefaultMemManager()); size_t SlabSize = MemMgr->GetDefaultDataSlabSize(); size_t Size = 128; @@ -257,7 +256,7 @@ TEST(JITMemoryManagerTest, TestManyGlobals) { // Allocate lots of function stubs so that we can test moving the stub bump // allocator to a new slab. TEST(JITMemoryManagerTest, TestManyStubs) { - OwningPtr MemMgr( + std::unique_ptr MemMgr( JITMemoryManager::CreateDefaultMemManager()); size_t SlabSize = MemMgr->GetDefaultStubSlabSize(); size_t Size = 128; @@ -279,7 +278,7 @@ TEST(JITMemoryManagerTest, TestManyStubs) { // Check section allocation and alignment TEST(JITMemoryManagerTest, AllocateSection) { - OwningPtr MemMgr( + std::unique_ptr MemMgr( JITMemoryManager::CreateDefaultMemManager()); uint8_t *code1 = MemMgr->allocateCodeSection(256, 0, 1, StringRef()); uint8_t *data1 = MemMgr->allocateDataSection(256, 16, 2, StringRef(), true); diff --git a/unittests/ExecutionEngine/JIT/JITTest.cpp b/unittests/ExecutionEngine/JIT/JITTest.cpp index 4e1d6e7890..9e65fee4b1 100644 --- a/unittests/ExecutionEngine/JIT/JITTest.cpp +++ b/unittests/ExecutionEngine/JIT/JITTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/ExecutionEngine/JIT.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/AsmParser/Parser.h" #include "llvm/Bitcode/ReaderWriter.h" @@ -77,7 +76,8 @@ std::string DumpFunction(const Function *F) { } class RecordingJITMemoryManager : public JITMemoryManager { - const OwningPtr Base; + const std::unique_ptr Base; + public: RecordingJITMemoryManager() : Base(JITMemoryManager::CreateDefaultMemManager()) { @@ -203,7 +203,7 @@ class JITTest : public testing::Test { LLVMContext Context; Module *M; // Owned by ExecutionEngine. RecordingJITMemoryManager *RJMM; - OwningPtr TheJIT; + std::unique_ptr TheJIT; }; // Regression test for a bug. The JIT used to allocate globals inside the same @@ -220,13 +220,13 @@ TEST(JIT, GlobalInFunction) { // memory is more easily tested. MemMgr->setPoisonMemory(true); std::string Error; - OwningPtr JIT(EngineBuilder(M) - .setEngineKind(EngineKind::JIT) - .setErrorStr(&Error) - .setJITMemoryManager(MemMgr) - // The next line enables the fix: - .setAllocateGVsWithCode(false) - .create()); + std::unique_ptr JIT(EngineBuilder(M) + .setEngineKind(EngineKind::JIT) + .setErrorStr(&Error) + .setJITMemoryManager(MemMgr) + // The next line enables the fix: + .setAllocateGVsWithCode(false) + .create()); ASSERT_EQ(Error, ""); // Create a global variable. @@ -669,7 +669,8 @@ TEST(LazyLoadedJITTest, MaterializableAvailableExternallyFunctionIsntCompiled) { "} "); ASSERT_FALSE(Bitcode.empty()) << "Assembling failed"; Module *M; - OwningPtr TheJIT(getJITFromBitcode(Context, Bitcode, M)); + std::unique_ptr TheJIT( + getJITFromBitcode(Context, Bitcode, M)); ASSERT_TRUE(TheJIT.get()) << "Failed to create JIT."; TheJIT->DisableLazyCompilation(true); @@ -708,7 +709,8 @@ TEST(LazyLoadedJITTest, EagerCompiledRecursionThroughGhost) { "} "); ASSERT_FALSE(Bitcode.empty()) << "Assembling failed"; Module *M; - OwningPtr TheJIT(getJITFromBitcode(Context, Bitcode, M)); + std::unique_ptr TheJIT( + getJITFromBitcode(Context, Bitcode, M)); ASSERT_TRUE(TheJIT.get()) << "Failed to create JIT."; TheJIT->DisableLazyCompilation(true); diff --git a/unittests/ExecutionEngine/JIT/MultiJITTest.cpp b/unittests/ExecutionEngine/JIT/MultiJITTest.cpp index 92b7a92acb..48aa955769 100644 --- a/unittests/ExecutionEngine/JIT/MultiJITTest.cpp +++ b/unittests/ExecutionEngine/JIT/MultiJITTest.cpp @@ -81,9 +81,9 @@ TEST(MultiJitTest, EagerMode) { createModule2(Context2, M2, FooF2); // Now we create the JIT in eager mode - OwningPtr EE1(EngineBuilder(M1).create()); + std::unique_ptr EE1(EngineBuilder(M1).create()); EE1->DisableLazyCompilation(true); - OwningPtr EE2(EngineBuilder(M2).create()); + std::unique_ptr EE2(EngineBuilder(M2).create()); EE2->DisableLazyCompilation(true); // Call the `foo' function with no arguments: @@ -111,9 +111,9 @@ TEST(MultiJitTest, LazyMode) { createModule2(Context2, M2, FooF2); // Now we create the JIT in lazy mode - OwningPtr EE1(EngineBuilder(M1).create()); + std::unique_ptr EE1(EngineBuilder(M1).create()); EE1->DisableLazyCompilation(false); - OwningPtr EE2(EngineBuilder(M2).create()); + std::unique_ptr EE2(EngineBuilder(M2).create()); EE2->DisableLazyCompilation(false); // Call the `foo' function with no arguments: @@ -145,8 +145,8 @@ TEST(MultiJitTest, JitPool) { createModule2(Context2, M2, FooF2); // Now we create two JITs - OwningPtr EE1(EngineBuilder(M1).create()); - OwningPtr EE2(EngineBuilder(M2).create()); + std::unique_ptr EE1(EngineBuilder(M1).create()); + std::unique_ptr EE2(EngineBuilder(M2).create()); Function *F1 = EE1->FindFunctionNamed("foo1"); void *foo1 = EE1->getPointerToFunction(F1); diff --git a/unittests/ExecutionEngine/MCJIT/MCJITMemoryManagerTest.cpp b/unittests/ExecutionEngine/MCJIT/MCJITMemoryManagerTest.cpp index c24346de84..f862999da8 100644 --- a/unittests/ExecutionEngine/MCJIT/MCJITMemoryManagerTest.cpp +++ b/unittests/ExecutionEngine/MCJIT/MCJITMemoryManagerTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/ExecutionEngine/SectionMemoryManager.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ExecutionEngine/JIT.h" #include "gtest/gtest.h" @@ -17,7 +16,7 @@ using namespace llvm; namespace { TEST(MCJITMemoryManagerTest, BasicAllocations) { - OwningPtr MemMgr(new SectionMemoryManager()); + std::unique_ptr MemMgr(new SectionMemoryManager()); uint8_t *code1 = MemMgr->allocateCodeSection(256, 0, 1, ""); uint8_t *data1 = MemMgr->allocateDataSection(256, 0, 2, "", true); @@ -50,7 +49,7 @@ TEST(MCJITMemoryManagerTest, BasicAllocations) { } TEST(MCJITMemoryManagerTest, LargeAllocations) { - OwningPtr MemMgr(new SectionMemoryManager()); + std::unique_ptr MemMgr(new SectionMemoryManager()); uint8_t *code1 = MemMgr->allocateCodeSection(0x100000, 0, 1, ""); uint8_t *data1 = MemMgr->allocateDataSection(0x100000, 0, 2, "", true); @@ -83,7 +82,7 @@ TEST(MCJITMemoryManagerTest, LargeAllocations) { } TEST(MCJITMemoryManagerTest, ManyAllocations) { - OwningPtr MemMgr(new SectionMemoryManager()); + std::unique_ptr MemMgr(new SectionMemoryManager()); uint8_t* code[10000]; uint8_t* data[10000]; @@ -118,7 +117,7 @@ TEST(MCJITMemoryManagerTest, ManyAllocations) { } TEST(MCJITMemoryManagerTest, ManyVariedAllocations) { - OwningPtr MemMgr(new SectionMemoryManager()); + std::unique_ptr MemMgr(new SectionMemoryManager()); uint8_t* code[10000]; uint8_t* data[10000]; diff --git a/unittests/ExecutionEngine/MCJIT/MCJITMultipleModuleTest.cpp b/unittests/ExecutionEngine/MCJIT/MCJITMultipleModuleTest.cpp index 62ed0a8cb1..c5ca36e417 100644 --- a/unittests/ExecutionEngine/MCJIT/MCJITMultipleModuleTest.cpp +++ b/unittests/ExecutionEngine/MCJIT/MCJITMultipleModuleTest.cpp @@ -90,7 +90,7 @@ TEST_F(MCJITMultipleModuleTest, multiple_empty_modules) { TEST_F(MCJITMultipleModuleTest, two_module_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA, *FB; createTwoModuleCase(A, FA, B, FB); @@ -110,7 +110,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_case) { TEST_F(MCJITMultipleModuleTest, two_module_reverse_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA, *FB; createTwoModuleCase(A, FA, B, FB); @@ -131,7 +131,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_reverse_case) { TEST_F(MCJITMultipleModuleTest, two_module_extern_reverse_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA, *FB; createTwoModuleExternCase(A, FA, B, FB); @@ -152,7 +152,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_extern_reverse_case) { TEST_F(MCJITMultipleModuleTest, two_module_extern_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA, *FB; createTwoModuleExternCase(A, FA, B, FB); @@ -172,7 +172,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_extern_case) { TEST_F(MCJITMultipleModuleTest, two_module_consecutive_call_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA1, *FA2, *FB; createTwoModuleExternCase(A, FA1, B, FB); FA2 = insertSimpleCallFunction(A.get(), FA1); @@ -199,7 +199,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_consecutive_call_case) { TEST_F(MCJITMultipleModuleTest, two_module_global_variables_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA, *FB; GlobalVariable *GVA, *GVB; A.reset(createEmptyModule("A")); @@ -237,7 +237,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_global_variables_case) { TEST_F(MCJITMultipleModuleTest, three_module_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B, C; + std::unique_ptr A, B, C; Function *FA, *FB, *FC; createThreeModuleCase(A, FA, B, FB, C, FC); @@ -262,7 +262,7 @@ TEST_F(MCJITMultipleModuleTest, three_module_case) { TEST_F(MCJITMultipleModuleTest, three_module_case_reverse_order) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B, C; + std::unique_ptr A, B, C; Function *FA, *FB, *FC; createThreeModuleCase(A, FA, B, FB, C, FC); @@ -287,7 +287,7 @@ TEST_F(MCJITMultipleModuleTest, three_module_case_reverse_order) { TEST_F(MCJITMultipleModuleTest, three_module_chain_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B, C; + std::unique_ptr A, B, C; Function *FA, *FB, *FC; createThreeModuleChainedCallsCase(A, FA, B, FB, C, FC); @@ -312,7 +312,7 @@ TEST_F(MCJITMultipleModuleTest, three_module_chain_case) { TEST_F(MCJITMultipleModuleTest, three_modules_chain_case_reverse_order) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B, C; + std::unique_ptr A, B, C; Function *FA, *FB, *FC; createThreeModuleChainedCallsCase(A, FA, B, FB, C, FC); @@ -337,7 +337,7 @@ TEST_F(MCJITMultipleModuleTest, three_modules_chain_case_reverse_order) { TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA, *FB1, *FB2; createCrossModuleRecursiveCase(A, FA, B, FB1, FB2); @@ -358,7 +358,7 @@ TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case) { TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case_reverse_order) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA, *FB1, *FB2; createCrossModuleRecursiveCase(A, FA, B, FB1, FB2); @@ -379,7 +379,7 @@ TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case_reverse_order) { TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case3) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr A, B; + std::unique_ptr A, B; Function *FA, *FB1, *FB2; createCrossModuleRecursiveCase(A, FA, B, FB1, FB2); diff --git a/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp b/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp index f16928b7a9..46847d3e51 100644 --- a/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp +++ b/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "MCJITTestBase.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringMap.h" @@ -101,7 +100,7 @@ protected: void compileAndRun(int ExpectedRC = OriginalRC) { // This function shouldn't be called until after SetUp. - ASSERT_TRUE(TheJIT.isValid()); + ASSERT_TRUE(bool(TheJIT)); ASSERT_TRUE(0 != Main); // We may be using a null cache, so ensure compilation is valid. @@ -133,7 +132,7 @@ TEST_F(MCJITObjectCacheTest, SetNullObjectCache) { TEST_F(MCJITObjectCacheTest, VerifyBasicObjectCaching) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr Cache(new TestObjectCache); + std::unique_ptr Cache(new TestObjectCache); // Save a copy of the module pointer before handing it off to MCJIT. const Module * SavedModulePointer = M.get(); @@ -162,7 +161,7 @@ TEST_F(MCJITObjectCacheTest, VerifyBasicObjectCaching) { TEST_F(MCJITObjectCacheTest, VerifyLoadFromCache) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr Cache(new TestObjectCache); + std::unique_ptr Cache(new TestObjectCache); // Compile this module with an MCJIT engine createJIT(M.release()); @@ -196,7 +195,7 @@ TEST_F(MCJITObjectCacheTest, VerifyLoadFromCache) { TEST_F(MCJITObjectCacheTest, VerifyNonLoadFromCache) { SKIP_UNSUPPORTED_PLATFORM; - OwningPtr Cache(new TestObjectCache); + std::unique_ptr Cache(new TestObjectCache); // Compile this module with an MCJIT engine createJIT(M.release()); diff --git a/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h b/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h index a8f6b2b1b8..b2cb3bbef6 100644 --- a/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h +++ b/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h @@ -185,11 +185,9 @@ protected: // Populates Modules A and B: // Module A { Extern FB1, Function FA which calls FB1 }, // Module B { Extern FA, Function FB1, Function FB2 which calls FA }, - void createCrossModuleRecursiveCase(OwningPtr &A, - Function *&FA, - OwningPtr &B, - Function *&FB1, - Function *&FB2) { + void createCrossModuleRecursiveCase(std::unique_ptr &A, Function *&FA, + std::unique_ptr &B, + Function *&FB1, Function *&FB2) { // Define FB1 in B. B.reset(createEmptyModule("B")); FB1 = insertAccumulateFunction(B.get(), 0, "FB1"); @@ -211,12 +209,10 @@ protected: // Module A { Function FA }, // Module B { Extern FA, Function FB which calls FA }, // Module C { Extern FB, Function FC which calls FB }, - void createThreeModuleChainedCallsCase(OwningPtr &A, - Function *&FA, - OwningPtr &B, - Function *&FB, - OwningPtr &C, - Function *&FC) { + void + createThreeModuleChainedCallsCase(std::unique_ptr &A, Function *&FA, + std::unique_ptr &B, Function *&FB, + std::unique_ptr &C, Function *&FC) { A.reset(createEmptyModule("A")); FA = insertAddFunction(A.get()); @@ -233,8 +229,8 @@ protected: // Module A { Function FA }, // Populates Modules A and B: // Module B { Function FB } - void createTwoModuleCase(OwningPtr &A, Function *&FA, - OwningPtr &B, Function *&FB) { + void createTwoModuleCase(std::unique_ptr &A, Function *&FA, + std::unique_ptr &B, Function *&FB) { A.reset(createEmptyModule("A")); FA = insertAddFunction(A.get()); @@ -244,8 +240,8 @@ protected: // Module A { Function FA }, // Module B { Extern FA, Function FB which calls FA } - void createTwoModuleExternCase(OwningPtr &A, Function *&FA, - OwningPtr &B, Function *&FB) { + void createTwoModuleExternCase(std::unique_ptr &A, Function *&FA, + std::unique_ptr &B, Function *&FB) { A.reset(createEmptyModule("A")); FA = insertAddFunction(A.get()); @@ -258,12 +254,9 @@ protected: // Module A { Function FA }, // Module B { Extern FA, Function FB which calls FA }, // Module C { Extern FB, Function FC which calls FA }, - void createThreeModuleCase(OwningPtr &A, - Function *&FA, - OwningPtr &B, - Function *&FB, - OwningPtr &C, - Function *&FC) { + void createThreeModuleCase(std::unique_ptr &A, Function *&FA, + std::unique_ptr &B, Function *&FB, + std::unique_ptr &C, Function *&FC) { A.reset(createEmptyModule("A")); FA = insertAddFunction(A.get()); @@ -342,10 +335,10 @@ protected: CodeModel::Model CodeModel; StringRef MArch; SmallVector MAttrs; - OwningPtr TheJIT; + std::unique_ptr TheJIT; RTDyldMemoryManager *MM; - OwningPtr M; + std::unique_ptr M; }; } // namespace llvm diff --git a/unittests/IR/ConstantsTest.cpp b/unittests/IR/ConstantsTest.cpp index fee38b891d..b3aa8102b6 100644 --- a/unittests/IR/ConstantsTest.cpp +++ b/unittests/IR/ConstantsTest.cpp @@ -162,7 +162,7 @@ TEST(ConstantsTest, PointerCast) { } TEST(ConstantsTest, AsInstructionsTest) { - OwningPtr M(new Module("MyModule", getGlobalContext())); + std::unique_ptr M(new Module("MyModule", getGlobalContext())); Type *Int64Ty = Type::getInt64Ty(getGlobalContext()); Type *Int32Ty = Type::getInt32Ty(getGlobalContext()); diff --git a/unittests/IR/DominatorTreeTest.cpp b/unittests/IR/DominatorTreeTest.cpp index d10031cb41..98c2317f2c 100644 --- a/unittests/IR/DominatorTreeTest.cpp +++ b/unittests/IR/DominatorTreeTest.cpp @@ -218,7 +218,7 @@ namespace llvm { TEST(DominatorTree, Unreachable) { DPass *P = new DPass(); - OwningPtr M(makeLLVMModule(P)); + std::unique_ptr M(makeLLVMModule(P)); PassManager Passes; Passes.add(P); Passes.run(*M); diff --git a/unittests/IR/IRBuilderTest.cpp b/unittests/IR/IRBuilderTest.cpp index 5d67e700a9..9796e44599 100644 --- a/unittests/IR/IRBuilderTest.cpp +++ b/unittests/IR/IRBuilderTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/IR/IRBuilder.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/BasicBlock.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/Function.h" @@ -41,7 +40,7 @@ protected: } LLVMContext Ctx; - OwningPtr M; + std::unique_ptr M; Function *F; BasicBlock *BB; GlobalVariable *GV; @@ -109,7 +108,7 @@ TEST_F(IRBuilderTest, LandingPadName) { } TEST_F(IRBuilderTest, DataLayout) { - OwningPtr M(new Module("test", Ctx)); + std::unique_ptr M(new Module("test", Ctx)); M->setDataLayout("e-n32"); EXPECT_TRUE(M->getDataLayout()->isLegalInteger(32)); M->setDataLayout("e"); diff --git a/unittests/IR/LegacyPassManagerTest.cpp b/unittests/IR/LegacyPassManagerTest.cpp index 284a513b52..df6f460df9 100644 --- a/unittests/IR/LegacyPassManagerTest.cpp +++ b/unittests/IR/LegacyPassManagerTest.cpp @@ -346,7 +346,7 @@ namespace llvm { template void MemoryTestHelper(int run) { - OwningPtr M(makeLLVMModule()); + std::unique_ptr M(makeLLVMModule()); T *P = new T(); PassManager Passes; Passes.add(new DataLayoutPass(M.get())); diff --git a/unittests/IR/PassManagerTest.cpp b/unittests/IR/PassManagerTest.cpp index ee1deff8df..75ba02b3a4 100644 --- a/unittests/IR/PassManagerTest.cpp +++ b/unittests/IR/PassManagerTest.cpp @@ -175,7 +175,7 @@ Module *parseIR(const char *IR) { class PassManagerTest : public ::testing::Test { protected: - OwningPtr M; + std::unique_ptr M; public: PassManagerTest() diff --git a/unittests/IR/PatternMatch.cpp b/unittests/IR/PatternMatch.cpp index da1638163f..bebee15366 100644 --- a/unittests/IR/PatternMatch.cpp +++ b/unittests/IR/PatternMatch.cpp @@ -32,7 +32,7 @@ namespace { struct PatternMatchTest : ::testing::Test { LLVMContext Ctx; - OwningPtr M; + std::unique_ptr M; Function *F; BasicBlock *BB; IRBuilder IRB; diff --git a/unittests/IR/ValueHandleTest.cpp b/unittests/IR/ValueHandleTest.cpp index bbca701776..15a0c226f7 100644 --- a/unittests/IR/ValueHandleTest.cpp +++ b/unittests/IR/ValueHandleTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/IR/ValueHandle.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Constants.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/LLVMContext.h" @@ -336,7 +335,7 @@ TEST_F(ValueHandle, DestroyingOtherVHOnSameValueDoesntBreakIteration) { class DestroyingVH : public CallbackVH { public: - OwningPtr ToClear[2]; + std::unique_ptr ToClear[2]; DestroyingVH(Value *V) { ToClear[0].reset(new WeakVH(V)); setValPtr(V); diff --git a/unittests/IR/ValueMapTest.cpp b/unittests/IR/ValueMapTest.cpp index 2e7e5dc493..176b56cfbe 100644 --- a/unittests/IR/ValueMapTest.cpp +++ b/unittests/IR/ValueMapTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/IR/ValueMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Config/llvm-config.h" #include "llvm/IR/Constants.h" #include "llvm/IR/Instructions.h" @@ -24,8 +23,8 @@ template class ValueMapTest : public testing::Test { protected: Constant *ConstantV; - OwningPtr BitcastV; - OwningPtr AddV; + std::unique_ptr BitcastV; + std::unique_ptr AddV; ValueMapTest() : ConstantV(ConstantInt::get(Type::getInt32Ty(getGlobalContext()), 0)), diff --git a/unittests/IR/ValueTest.cpp b/unittests/IR/ValueTest.cpp index f10e58922e..d92bc82768 100644 --- a/unittests/IR/ValueTest.cpp +++ b/unittests/IR/ValueTest.cpp @@ -45,7 +45,7 @@ TEST(ValueTest, UsedInBasicBlock) { TEST(GlobalTest, CreateAddressSpace) { LLVMContext &Ctx = getGlobalContext(); - OwningPtr M(new Module("TestModule", Ctx)); + std::unique_ptr M(new Module("TestModule", Ctx)); Type *Int8Ty = Type::getInt8Ty(Ctx); Type *Int32Ty = Type::getInt32Ty(Ctx); diff --git a/unittests/IR/VerifierTest.cpp b/unittests/IR/VerifierTest.cpp index a5ce5fc9d3..0a660a6b91 100644 --- a/unittests/IR/VerifierTest.cpp +++ b/unittests/IR/VerifierTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/IR/Verifier.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/Function.h" diff --git a/unittests/Linker/LinkModulesTest.cpp b/unittests/Linker/LinkModulesTest.cpp index ef3772d3a7..7b40b9f672 100644 --- a/unittests/Linker/LinkModulesTest.cpp +++ b/unittests/Linker/LinkModulesTest.cpp @@ -62,7 +62,7 @@ protected: M.reset(); } - OwningPtr M; + std::unique_ptr M; Function *F; GlobalVariable *GV; BasicBlock *EntryBB; diff --git a/unittests/Option/OptionParsingTest.cpp b/unittests/Option/OptionParsingTest.cpp index 11d6d1e87e..6beb286cab 100644 --- a/unittests/Option/OptionParsingTest.cpp +++ b/unittests/Option/OptionParsingTest.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Option/Arg.h" #include "llvm/Option/ArgList.h" @@ -68,7 +67,8 @@ const char *Args[] = { TEST(Option, OptionParsing) { TestOptTable T; unsigned MAI, MAC; - OwningPtr AL(T.ParseArgs(Args, array_endof(Args), MAI, MAC)); + std::unique_ptr AL( + T.ParseArgs(Args, array_endof(Args), MAI, MAC)); // Check they all exist. EXPECT_TRUE(AL->hasArg(OPT_A)); @@ -111,7 +111,7 @@ TEST(Option, OptionParsing) { TEST(Option, ParseWithFlagExclusions) { TestOptTable T; unsigned MAI, MAC; - OwningPtr AL; + std::unique_ptr AL; // Exclude flag3 to avoid parsing as OPT_SLASH_C. AL.reset(T.ParseArgs(Args, array_endof(Args), MAI, MAC, @@ -142,7 +142,8 @@ TEST(Option, ParseAliasInGroup) { unsigned MAI, MAC; const char *MyArgs[] = { "-I" }; - OwningPtr AL(T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); + std::unique_ptr AL( + T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); EXPECT_TRUE(AL->hasArg(OPT_H)); } @@ -151,7 +152,8 @@ TEST(Option, AliasArgs) { unsigned MAI, MAC; const char *MyArgs[] = { "-J", "-Joo" }; - OwningPtr AL(T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); + std::unique_ptr AL( + T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); EXPECT_TRUE(AL->hasArg(OPT_B)); EXPECT_EQ(AL->getAllArgValues(OPT_B)[0], "foo"); EXPECT_EQ(AL->getAllArgValues(OPT_B)[1], "bar"); @@ -162,7 +164,8 @@ TEST(Option, IgnoreCase) { unsigned MAI, MAC; const char *MyArgs[] = { "-a", "-joo" }; - OwningPtr AL(T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); + std::unique_ptr AL( + T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); EXPECT_TRUE(AL->hasArg(OPT_A)); EXPECT_TRUE(AL->hasArg(OPT_B)); } @@ -172,7 +175,8 @@ TEST(Option, DoNotIgnoreCase) { unsigned MAI, MAC; const char *MyArgs[] = { "-a", "-joo" }; - OwningPtr AL(T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); + std::unique_ptr AL( + T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); EXPECT_FALSE(AL->hasArg(OPT_A)); EXPECT_FALSE(AL->hasArg(OPT_B)); } @@ -182,7 +186,8 @@ TEST(Option, SlurpEmpty) { unsigned MAI, MAC; const char *MyArgs[] = { "-A", "-slurp" }; - OwningPtr AL(T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); + std::unique_ptr AL( + T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); EXPECT_TRUE(AL->hasArg(OPT_A)); EXPECT_TRUE(AL->hasArg(OPT_Slurp)); EXPECT_EQ(AL->getAllArgValues(OPT_Slurp).size(), 0U); @@ -193,7 +198,8 @@ TEST(Option, Slurp) { unsigned MAI, MAC; const char *MyArgs[] = { "-A", "-slurp", "-B", "--", "foo" }; - OwningPtr AL(T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); + std::unique_ptr AL( + T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC)); EXPECT_EQ(AL->size(), 2U); EXPECT_TRUE(AL->hasArg(OPT_A)); EXPECT_FALSE(AL->hasArg(OPT_B)); diff --git a/unittests/Support/CompressionTest.cpp b/unittests/Support/CompressionTest.cpp index c0a9adadb7..db6a8bb146 100644 --- a/unittests/Support/CompressionTest.cpp +++ b/unittests/Support/CompressionTest.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/Compression.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringRef.h" #include "llvm/Config/config.h" #include "llvm/Support/MemoryBuffer.h" @@ -25,8 +24,8 @@ namespace { #if LLVM_ENABLE_ZLIB == 1 && HAVE_LIBZ void TestZlibCompression(StringRef Input, zlib::CompressionLevel Level) { - OwningPtr Compressed; - OwningPtr Uncompressed; + std::unique_ptr Compressed; + std::unique_ptr Uncompressed; EXPECT_EQ(zlib::StatusOK, zlib::compress(Input, Compressed, Level)); // Check that uncompressed buffer is the same as original. EXPECT_EQ(zlib::StatusOK, zlib::uncompress(Compressed->getBuffer(), diff --git a/unittests/Support/LineIteratorTest.cpp b/unittests/Support/LineIteratorTest.cpp index d684e25df5..18f3fa99bc 100644 --- a/unittests/Support/LineIteratorTest.cpp +++ b/unittests/Support/LineIteratorTest.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/LineIterator.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/MemoryBuffer.h" #include "gtest/gtest.h" @@ -18,9 +17,9 @@ using namespace llvm::sys; namespace { TEST(LineIteratorTest, Basic) { - OwningPtr Buffer(MemoryBuffer::getMemBuffer("line 1\n" - "line 2\n" - "line 3")); + std::unique_ptr Buffer(MemoryBuffer::getMemBuffer("line 1\n" + "line 2\n" + "line 3")); line_iterator I = line_iterator(*Buffer), E; @@ -42,11 +41,12 @@ TEST(LineIteratorTest, Basic) { } TEST(LineIteratorTest, CommentSkipping) { - OwningPtr Buffer(MemoryBuffer::getMemBuffer("line 1\n" - "line 2\n" - "# Comment 1\n" - "line 4\n" - "# Comment 2")); + std::unique_ptr Buffer( + MemoryBuffer::getMemBuffer("line 1\n" + "line 2\n" + "# Comment 1\n" + "line 4\n" + "# Comment 2")); line_iterator I = line_iterator(*Buffer, '#'), E; @@ -68,11 +68,11 @@ TEST(LineIteratorTest, CommentSkipping) { } TEST(LineIteratorTest, BlankSkipping) { - OwningPtr Buffer(MemoryBuffer::getMemBuffer("\n\n\n" - "line 1\n" - "\n\n\n" - "line 2\n" - "\n\n\n")); + std::unique_ptr Buffer(MemoryBuffer::getMemBuffer("\n\n\n" + "line 1\n" + "\n\n\n" + "line 2\n" + "\n\n\n")); line_iterator I = line_iterator(*Buffer), E; @@ -91,7 +91,7 @@ TEST(LineIteratorTest, BlankSkipping) { } TEST(LineIteratorTest, EmptyBuffers) { - OwningPtr Buffer(MemoryBuffer::getMemBuffer("")); + std::unique_ptr Buffer(MemoryBuffer::getMemBuffer("")); EXPECT_TRUE(line_iterator(*Buffer).is_at_eof()); EXPECT_EQ(line_iterator(), line_iterator(*Buffer)); diff --git a/unittests/Support/Path.cpp b/unittests/Support/Path.cpp index 29a77f3780..d5bee7ae5d 100644 --- a/unittests/Support/Path.cpp +++ b/unittests/Support/Path.cpp @@ -555,7 +555,7 @@ TEST_F(FileSystemTest, CarriageReturn) { File << '\n'; } { - OwningPtr Buf; + std::unique_ptr Buf; MemoryBuffer::getFile(FilePathname.c_str(), Buf); EXPECT_EQ(Buf->getBuffer(), "\r\n"); } @@ -566,7 +566,7 @@ TEST_F(FileSystemTest, CarriageReturn) { File << '\n'; } { - OwningPtr Buf; + std::unique_ptr Buf; MemoryBuffer::getFile(FilePathname.c_str(), Buf); EXPECT_EQ(Buf->getBuffer(), "\n"); } diff --git a/unittests/Transforms/DebugIR/DebugIR.cpp b/unittests/Transforms/DebugIR/DebugIR.cpp index 590fa8eac6..497dae30cb 100644 --- a/unittests/Transforms/DebugIR/DebugIR.cpp +++ b/unittests/Transforms/DebugIR/DebugIR.cpp @@ -90,8 +90,8 @@ protected: LLVMContext Context; char *cwd; - OwningPtr M; - OwningPtr D; + std::unique_ptr M; + std::unique_ptr D; }; // Test empty named Module that is not supposed to be output to disk. diff --git a/unittests/Transforms/Utils/SpecialCaseList.cpp b/unittests/Transforms/Utils/SpecialCaseList.cpp index 07ac908caa..748834f85e 100644 --- a/unittests/Transforms/Utils/SpecialCaseList.cpp +++ b/unittests/Transforms/Utils/SpecialCaseList.cpp @@ -40,7 +40,7 @@ protected: } SpecialCaseList *makeSpecialCaseList(StringRef List, std::string &Error) { - OwningPtr MB(MemoryBuffer::getMemBuffer(List)); + std::unique_ptr MB(MemoryBuffer::getMemBuffer(List)); return SpecialCaseList::create(MB.get(), Error); } @@ -60,9 +60,10 @@ TEST_F(SpecialCaseListTest, ModuleIsIn) { Function *F = makeFunction("foo", M); GlobalVariable *GV = makeGlobal("bar", "t", M); - OwningPtr SCL(makeSpecialCaseList("# This is a comment.\n" - "\n" - "src:hello\n")); + std::unique_ptr SCL( + makeSpecialCaseList("# This is a comment.\n" + "\n" + "src:hello\n")); EXPECT_TRUE(SCL->isIn(M)); EXPECT_TRUE(SCL->isIn(*F)); EXPECT_TRUE(SCL->isIn(*GV)); @@ -83,7 +84,7 @@ TEST_F(SpecialCaseListTest, FunctionIsIn) { Function *Foo = makeFunction("foo", M); Function *Bar = makeFunction("bar", M); - OwningPtr SCL(makeSpecialCaseList("fun:foo\n")); + std::unique_ptr SCL(makeSpecialCaseList("fun:foo\n")); EXPECT_TRUE(SCL->isIn(*Foo)); EXPECT_FALSE(SCL->isIn(*Bar)); @@ -107,7 +108,7 @@ TEST_F(SpecialCaseListTest, GlobalIsIn) { GlobalVariable *Foo = makeGlobal("foo", "t1", M); GlobalVariable *Bar = makeGlobal("bar", "t2", M); - OwningPtr SCL(makeSpecialCaseList("global:foo\n")); + std::unique_ptr SCL(makeSpecialCaseList("global:foo\n")); EXPECT_TRUE(SCL->isIn(*Foo)); EXPECT_FALSE(SCL->isIn(*Bar)); EXPECT_FALSE(SCL->isIn(*Foo, "init")); @@ -157,7 +158,7 @@ TEST_F(SpecialCaseListTest, AliasIsIn) { GlobalAlias *FooAlias = makeAlias("fooalias", Foo); GlobalAlias *BarAlias = makeAlias("baralias", Bar); - OwningPtr SCL(makeSpecialCaseList("fun:foo\n")); + std::unique_ptr SCL(makeSpecialCaseList("fun:foo\n")); EXPECT_FALSE(SCL->isIn(*FooAlias)); EXPECT_FALSE(SCL->isIn(*BarAlias)); @@ -193,9 +194,9 @@ TEST_F(SpecialCaseListTest, Substring) { GlobalAlias *GA1 = makeAlias("buffoonery", F); GlobalAlias *GA2 = makeAlias("foobar", GV); - OwningPtr SCL(makeSpecialCaseList("src:hello\n" - "fun:foo\n" - "global:bar\n")); + std::unique_ptr SCL(makeSpecialCaseList("src:hello\n" + "fun:foo\n" + "global:bar\n")); EXPECT_FALSE(SCL->isIn(M)); EXPECT_FALSE(SCL->isIn(*F)); EXPECT_FALSE(SCL->isIn(*GV)); @@ -224,7 +225,7 @@ TEST_F(SpecialCaseListTest, InvalidSpecialCaseList) { } TEST_F(SpecialCaseListTest, EmptySpecialCaseList) { - OwningPtr SCL(makeSpecialCaseList("")); + std::unique_ptr SCL(makeSpecialCaseList("")); Module M("foo", Ctx); EXPECT_FALSE(SCL->isIn(M)); } diff --git a/utils/FileCheck/FileCheck.cpp b/utils/FileCheck/FileCheck.cpp index b0196f7fa8..a1f4be9cf7 100644 --- a/utils/FileCheck/FileCheck.cpp +++ b/utils/FileCheck/FileCheck.cpp @@ -16,7 +16,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringMap.h" @@ -821,7 +820,7 @@ static StringRef FindFirstMatchingPrefix(StringRef &Buffer, /// Returns true in case of an error, false otherwise. static bool ReadCheckFile(SourceMgr &SM, std::vector &CheckStrings) { - OwningPtr File; + std::unique_ptr File; if (error_code ec = MemoryBuffer::getFileOrSTDIN(CheckFilename, File)) { errs() << "Could not open check file '" << CheckFilename << "': " @@ -1218,7 +1217,7 @@ int main(int argc, char **argv) { return 2; // Open the file to check and add it to SourceMgr. - OwningPtr File; + std::unique_ptr File; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, File)) { errs() << "Could not open input file '" << InputFilename << "': " diff --git a/utils/FileUpdate/FileUpdate.cpp b/utils/FileUpdate/FileUpdate.cpp index 3064503478..5ccf3f32a0 100644 --- a/utils/FileUpdate/FileUpdate.cpp +++ b/utils/FileUpdate/FileUpdate.cpp @@ -13,7 +13,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/PrettyStackTrace.h" @@ -44,7 +43,7 @@ int main(int argc, char **argv) { } // Get the input data. - OwningPtr In; + std::unique_ptr In; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, In)) { errs() << argv[0] << ": error: Unable to get input '" << InputFilename << "': " << ec.message() << '\n'; @@ -52,7 +51,7 @@ int main(int argc, char **argv) { } // Get the output data. - OwningPtr Out; + std::unique_ptr Out; MemoryBuffer::getFile(OutputFilename.c_str(), Out); // If the output exists and the contents match, we are done. diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index e9760625f6..fab0004343 100644 --- a/utils/TableGen/AsmMatcherEmitter.cpp +++ b/utils/TableGen/AsmMatcherEmitter.cpp @@ -97,7 +97,6 @@ //===----------------------------------------------------------------------===// #include "CodeGenTarget.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/PointerUnion.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallPtrSet.h" @@ -1350,7 +1349,7 @@ void AsmMatcherInfo::buildInfo() { if (CGI.TheDef->getValueAsBit("isCodeGenOnly")) continue; - OwningPtr II(new MatchableInfo(CGI)); + std::unique_ptr II(new MatchableInfo(CGI)); II->initialize(*this, SingletonRegisters, AsmVariantNo, RegisterPrefix); @@ -1383,7 +1382,7 @@ void AsmMatcherInfo::buildInfo() { .startswith( MatchPrefix)) continue; - OwningPtr II(new MatchableInfo(Alias)); + std::unique_ptr II(new MatchableInfo(Alias)); II->initialize(*this, SingletonRegisters, AsmVariantNo, RegisterPrefix); @@ -1455,7 +1454,7 @@ void AsmMatcherInfo::buildInfo() { II->TheDef->getValueAsString("TwoOperandAliasConstraint"); if (Constraint != "") { // Start by making a copy of the original matchable. - OwningPtr AliasII(new MatchableInfo(*II)); + std::unique_ptr AliasII(new MatchableInfo(*II)); // Adjust it to be a two-operand alias. AliasII->formTwoOperandAlias(Constraint); diff --git a/utils/TableGen/DAGISelMatcher.h b/utils/TableGen/DAGISelMatcher.h index 441acd56b2..2fb4359e8c 100644 --- a/utils/TableGen/DAGISelMatcher.h +++ b/utils/TableGen/DAGISelMatcher.h @@ -11,7 +11,6 @@ #define TBLGEN_DAGISELMATCHER_H #include "llvm/ADT/ArrayRef.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringRef.h" #include "llvm/CodeGen/ValueTypes.h" @@ -41,7 +40,7 @@ void EmitMatcherTable(const Matcher *Matcher, const CodeGenDAGPatterns &CGP, class Matcher { // The next matcher node that is executed after this one. Null if this is the // last stage of a match. - OwningPtr Next; + std::unique_ptr Next; virtual void anchor(); public: enum KindTy { @@ -100,7 +99,7 @@ public: void setNext(Matcher *C) { Next.reset(C); } Matcher *takeNext() { return Next.release(); } - OwningPtr &getNextPtr() { return Next; } + std::unique_ptr &getNextPtr() { return Next; } bool isEqual(const Matcher *M) const { if (getKind() != M->getKind()) return false; diff --git a/utils/TableGen/DAGISelMatcherOpt.cpp b/utils/TableGen/DAGISelMatcherOpt.cpp index bde864aa0f..b7f3b6c36c 100644 --- a/utils/TableGen/DAGISelMatcherOpt.cpp +++ b/utils/TableGen/DAGISelMatcherOpt.cpp @@ -22,7 +22,7 @@ using namespace llvm; /// ContractNodes - Turn multiple matcher node patterns like 'MoveChild+Record' /// into single compound nodes like RecordChild. -static void ContractNodes(OwningPtr &MatcherPtr, +static void ContractNodes(std::unique_ptr &MatcherPtr, const CodeGenDAGPatterns &CGP) { // If we reached the end of the chain, we're done. Matcher *N = MatcherPtr.get(); @@ -31,7 +31,7 @@ static void ContractNodes(OwningPtr &MatcherPtr, // If we have a scope node, walk down all of the children. if (ScopeMatcher *Scope = dyn_cast(N)) { for (unsigned i = 0, e = Scope->getNumChildren(); i != e; ++i) { - OwningPtr Child(Scope->takeChild(i)); + std::unique_ptr Child(Scope->takeChild(i)); ContractNodes(Child, CGP); Scope->resetChild(i, Child.release()); } @@ -187,7 +187,7 @@ static void ContractNodes(OwningPtr &MatcherPtr, /// run a the complex pattern if the pattern predicate will fail. For this /// reason, we refuse to sink the pattern predicate past a ComplexPattern. /// -static void SinkPatternPredicates(OwningPtr &MatcherPtr) { +static void SinkPatternPredicates(std::unique_ptr &MatcherPtr) { // Recursively scan for a PatternPredicate. // If we reached the end of the chain, we're done. Matcher *N = MatcherPtr.get(); @@ -196,7 +196,7 @@ static void SinkPatternPredicates(OwningPtr &MatcherPtr) { // Walk down all members of a scope node. if (ScopeMatcher *Scope = dyn_cast(N)) { for (unsigned i = 0, e = Scope->getNumChildren(); i != e; ++i) { - OwningPtr Child(Scope->takeChild(i)); + std::unique_ptr Child(Scope->takeChild(i)); SinkPatternPredicates(Child); Scope->resetChild(i, Child.release()); } @@ -252,7 +252,7 @@ static Matcher *FindNodeWithKind(Matcher *M, Matcher::KindTy Kind) { /// ABC /// XYZ /// -static void FactorNodes(OwningPtr &MatcherPtr) { +static void FactorNodes(std::unique_ptr &MatcherPtr) { // If we reached the end of the chain, we're done. Matcher *N = MatcherPtr.get(); if (N == 0) return; @@ -269,7 +269,7 @@ static void FactorNodes(OwningPtr &MatcherPtr) { for (unsigned i = 0, e = Scope->getNumChildren(); i != e; ++i) { // Factor the subexpression. - OwningPtr Child(Scope->takeChild(i)); + std::unique_ptr Child(Scope->takeChild(i)); FactorNodes(Child); if (Matcher *N = Child.release()) @@ -512,7 +512,7 @@ static void FactorNodes(OwningPtr &MatcherPtr) { Matcher *llvm::OptimizeMatcher(Matcher *TheMatcher, const CodeGenDAGPatterns &CGP) { - OwningPtr MatcherPtr(TheMatcher); + std::unique_ptr MatcherPtr(TheMatcher); ContractNodes(MatcherPtr, CGP); SinkPatternPredicates(MatcherPtr); FactorNodes(MatcherPtr); diff --git a/utils/yaml-bench/YAMLBench.cpp b/utils/yaml-bench/YAMLBench.cpp index f20a4ccc81..3e80f23da7 100644 --- a/utils/yaml-bench/YAMLBench.cpp +++ b/utils/yaml-bench/YAMLBench.cpp @@ -188,7 +188,7 @@ static std::string createJSONText(size_t MemoryMB, unsigned ValueSize) { int main(int argc, char **argv) { llvm::cl::ParseCommandLineOptions(argc, argv); if (Input.getNumOccurrences()) { - OwningPtr Buf; + std::unique_ptr Buf; if (MemoryBuffer::getFileOrSTDIN(Input, Buf)) return 1; -- cgit v1.2.3