diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-03-26 19:26:05 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-03-26 19:26:05 +0000 |
commit | 1b67cfd40f426ed7730009df444646020a4a8ecf (patch) | |
tree | 802cd8158a7e5d6015291d1ab9de40f694a0de6f /clang/lib/CodeGen/CodeGenPGO.h | |
parent | 3586be721697cf7dbad82d45fffa80506d84a3e1 (diff) | |
download | bcm5719-llvm-1b67cfd40f426ed7730009df444646020a4a8ecf.tar.gz bcm5719-llvm-1b67cfd40f426ed7730009df444646020a4a8ecf.zip |
InstrProf: Use unique_ptr
llvm-svn: 204846
Diffstat (limited to 'clang/lib/CodeGen/CodeGenPGO.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenPGO.h | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/clang/lib/CodeGen/CodeGenPGO.h b/clang/lib/CodeGen/CodeGenPGO.h index 2645537cba6..c59a58e3f89 100644 --- a/clang/lib/CodeGen/CodeGenPGO.h +++ b/clang/lib/CodeGen/CodeGenPGO.h @@ -53,26 +53,22 @@ public: class CodeGenPGO { private: CodeGenModule &CGM; - std::string *PrefixedFuncName; + std::unique_ptr<std::string> PrefixedFuncName; StringRef RawFuncName; llvm::GlobalValue::LinkageTypes VarLinkage; unsigned NumRegionCounters; uint64_t FunctionHash; llvm::GlobalVariable *RegionCounters; - llvm::DenseMap<const Stmt*, unsigned> *RegionCounterMap; - llvm::DenseMap<const Stmt*, uint64_t> *StmtCountMap; - std::vector<uint64_t> *RegionCounts; + std::unique_ptr<llvm::DenseMap<const Stmt *, unsigned>> RegionCounterMap; + std::unique_ptr<llvm::DenseMap<const Stmt *, uint64_t>> StmtCountMap; + std::unique_ptr<std::vector<uint64_t>> RegionCounts; uint64_t CurrentRegionCount; public: CodeGenPGO(CodeGenModule &CGM) - : CGM(CGM), PrefixedFuncName(0), NumRegionCounters(0), FunctionHash(0), - RegionCounters(0), RegionCounterMap(0), StmtCountMap(0), - RegionCounts(0), CurrentRegionCount(0) {} - ~CodeGenPGO() { - if (PrefixedFuncName) delete PrefixedFuncName; - } + : CGM(CGM), NumRegionCounters(0), FunctionHash(0), RegionCounters(0), + CurrentRegionCount(0) {} /// Whether or not we have PGO region data for the current function. This is /// false both when we have no data at all and when our data has been |