mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
[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
This commit is contained in:
parent
015e0c4bd3
commit
82256c4019
@ -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<bool[]> UnsafeRows;
|
||||
std::unique_ptr<bool[]> 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<unsigned[]>(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<unsigned[]> OptUnsafeEdges;
|
||||
unsigned VReg;
|
||||
OptionToRegMap OptionRegs;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user