diff options
| author | David Blaikie <dblaikie@gmail.com> | 2015-03-03 19:20:18 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2015-03-03 19:20:18 +0000 |
| commit | 5b240485b73db875dca0fd24e13c6485bbad3444 (patch) | |
| tree | 754472fa1dd392ddf19e40b237c43de64a19d676 | |
| parent | c5771c214e640dd9ec27095869cb9bfa90261c0a (diff) | |
| download | bcm5719-llvm-5b240485b73db875dca0fd24e13c6485bbad3444.tar.gz bcm5719-llvm-5b240485b73db875dca0fd24e13c6485bbad3444.zip | |
unique_ptrify FullDependenceAnalysis::DV
Making this type a little harder to abuse (see workaround relating to
use of the implicit copy ctor in the prior commit)
llvm-svn: 231104
| -rw-r--r-- | llvm/include/llvm/Analysis/DependenceAnalysis.h | 5 | ||||
| -rw-r--r-- | llvm/lib/Analysis/DependenceAnalysis.cpp | 14 |
2 files changed, 6 insertions, 13 deletions
diff --git a/llvm/include/llvm/Analysis/DependenceAnalysis.h b/llvm/include/llvm/Analysis/DependenceAnalysis.h index e01aa549099..9169b7028b7 100644 --- a/llvm/include/llvm/Analysis/DependenceAnalysis.h +++ b/llvm/include/llvm/Analysis/DependenceAnalysis.h @@ -221,9 +221,6 @@ namespace llvm { Instruction *Dst, bool LoopIndependent, unsigned Levels); - ~FullDependence() { - delete[] DV; - } /// isLoopIndependent - Returns true if this is a loop-independent /// dependence. @@ -270,7 +267,7 @@ namespace llvm { unsigned short Levels; bool LoopIndependent; bool Consistent; // Init to true, then refine. - DVEntry *DV; + std::unique_ptr<DVEntry[]> DV; friend class DependenceAnalysis; }; diff --git a/llvm/lib/Analysis/DependenceAnalysis.cpp b/llvm/lib/Analysis/DependenceAnalysis.cpp index 393ee5c516a..d5d2fb2088c 100644 --- a/llvm/lib/Analysis/DependenceAnalysis.cpp +++ b/llvm/lib/Analysis/DependenceAnalysis.cpp @@ -226,16 +226,12 @@ bool Dependence::isScalar(unsigned level) const { //===----------------------------------------------------------------------===// // FullDependence methods -FullDependence::FullDependence(Instruction *Source, - Instruction *Destination, +FullDependence::FullDependence(Instruction *Source, Instruction *Destination, bool PossiblyLoopIndependent, - unsigned CommonLevels) : - Dependence(Source, Destination), - Levels(CommonLevels), - LoopIndependent(PossiblyLoopIndependent) { - Consistent = true; - DV = CommonLevels ? new DVEntry[CommonLevels] : nullptr; -} + unsigned CommonLevels) + : Dependence(Source, Destination), Levels(CommonLevels), + LoopIndependent(PossiblyLoopIndependent), Consistent(true), + DV(CommonLevels ? new DVEntry[CommonLevels] : nullptr) {} // The rest are simple getters that hide the implementation. |

