summaryrefslogtreecommitdiff
path: root/lib/Analysis/DependenceAnalysis.cpp
diff options
context:
space:
mode:
authorDylan Noblesmith <nobled@dreamwidth.org>2014-08-26 02:03:38 +0000
committerDylan Noblesmith <nobled@dreamwidth.org>2014-08-26 02:03:38 +0000
commit8cb2706af62db6625ec8c0f61ba3a93e1f2f442f (patch)
tree5394e4d3eedec8fb30adb0303d607eb527b5714e /lib/Analysis/DependenceAnalysis.cpp
parentce0adaab88e1b1a345c3e99cde051e83c26b8962 (diff)
Revert "Analysis: unique_ptr-ify DependenceAnalysis::collectCoeffInfo"
This reverts commit r216358. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216431 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/DependenceAnalysis.cpp')
-rw-r--r--lib/Analysis/DependenceAnalysis.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/Analysis/DependenceAnalysis.cpp b/lib/Analysis/DependenceAnalysis.cpp
index 8120736885c..be4e487a149 100644
--- a/lib/Analysis/DependenceAnalysis.cpp
+++ b/lib/Analysis/DependenceAnalysis.cpp
@@ -2437,14 +2437,11 @@ bool DependenceAnalysis::banerjeeMIVtest(const SCEV *Src,
++BanerjeeApplications;
DEBUG(dbgs() << " Src = " << *Src << '\n');
const SCEV *A0;
- auto AOwner = collectCoeffInfo(Src, true, A0);
- auto A = AOwner.get();
+ CoefficientInfo *A = collectCoeffInfo(Src, true, A0);
DEBUG(dbgs() << " Dst = " << *Dst << '\n');
const SCEV *B0;
- auto BOwner = collectCoeffInfo(Dst, false, B0);
- auto B = BOwner.get();
- auto BoundOwner = make_unique<BoundInfo[]>(MaxLevels + 1);
- auto Bound = BoundOwner.get();
+ CoefficientInfo *B = collectCoeffInfo(Dst, false, B0);
+ BoundInfo *Bound = new BoundInfo[MaxLevels + 1];
const SCEV *Delta = SE->getMinusSCEV(B0, A0);
DEBUG(dbgs() << "\tDelta = " << *Delta << '\n');
@@ -2501,6 +2498,9 @@ bool DependenceAnalysis::banerjeeMIVtest(const SCEV *Src,
++BanerjeeIndependence;
Disproved = true;
}
+ delete [] Bound;
+ delete [] A;
+ delete [] B;
return Disproved;
}
@@ -2818,12 +2818,12 @@ const SCEV *DependenceAnalysis::getNegativePart(const SCEV *X) const {
// Walks through the subscript,
// collecting each coefficient, the associated loop bounds,
// and recording its positive and negative parts for later use.
-std::unique_ptr<DependenceAnalysis::CoefficientInfo[]>
+DependenceAnalysis::CoefficientInfo *
DependenceAnalysis::collectCoeffInfo(const SCEV *Subscript,
bool SrcFlag,
const SCEV *&Constant) const {
const SCEV *Zero = SE->getConstant(Subscript->getType(), 0);
- auto CI = make_unique<CoefficientInfo[]>(MaxLevels + 1);
+ CoefficientInfo *CI = new CoefficientInfo[MaxLevels + 1];
for (unsigned K = 1; K <= MaxLevels; ++K) {
CI[K].Coeff = Zero;
CI[K].PosPart = Zero;