From 82256c40195f3c3b3fbf5f865b4b95ae578e1aa5 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Sun, 26 Oct 2014 18:50:52 +0000 Subject: [PATCH] [PBQP] Unique-ptrify some PBQP Metadata structures. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220642 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/RegAllocPBQP.h | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/include/llvm/CodeGen/RegAllocPBQP.h b/include/llvm/CodeGen/RegAllocPBQP.h index 3d242f1bebe..2dca0e786de 100644 --- a/include/llvm/CodeGen/RegAllocPBQP.h +++ b/include/llvm/CodeGen/RegAllocPBQP.h @@ -62,20 +62,15 @@ public: delete[] ColCounts; } - ~MatrixMetadata() { - delete[] UnsafeRows; - delete[] UnsafeCols; - } - unsigned getWorstRow() const { return WorstRow; } unsigned getWorstCol() const { return WorstCol; } - const bool* getUnsafeRows() const { return UnsafeRows; } - const bool* getUnsafeCols() const { return UnsafeCols; } + const bool* getUnsafeRows() const { return UnsafeRows.get(); } + const bool* getUnsafeCols() const { return UnsafeCols.get(); } private: unsigned WorstRow, WorstCol; - bool* UnsafeRows; - bool* UnsafeCols; + std::unique_ptr UnsafeRows; + std::unique_ptr UnsafeCols; }; class NodeMetadata { @@ -88,7 +83,6 @@ public: NotProvablyAllocatable } ReductionState; NodeMetadata() : RS(Unprocessed), DeniedOpts(0), OptUnsafeEdges(nullptr){} - ~NodeMetadata() { delete[] OptUnsafeEdges; } void setVReg(unsigned VReg) { this->VReg = VReg; } unsigned getVReg() const { return VReg; } @@ -100,7 +94,7 @@ public: void setup(const Vector& Costs) { NumOpts = Costs.getLength() - 1; - OptUnsafeEdges = new unsigned[NumOpts](); + OptUnsafeEdges = std::unique_ptr(new unsigned[NumOpts]()); } ReductionState getReductionState() const { return RS; } @@ -124,15 +118,15 @@ public: bool isConservativelyAllocatable() const { return (DeniedOpts < NumOpts) || - (std::find(OptUnsafeEdges, OptUnsafeEdges + NumOpts, 0) != - OptUnsafeEdges + NumOpts); + (std::find(&OptUnsafeEdges[0], &OptUnsafeEdges[NumOpts], 0) != + &OptUnsafeEdges[NumOpts]); } private: ReductionState RS; unsigned NumOpts; unsigned DeniedOpts; - unsigned* OptUnsafeEdges; + std::unique_ptr OptUnsafeEdges; unsigned VReg; OptionToRegMap OptionRegs; }; -- 2.11.0