| Index: src/IceOperand.h
|
| diff --git a/src/IceOperand.h b/src/IceOperand.h
|
| index b4e06be862e3b0e36532f97aa2f45f43989b0d88..67b1d231fbf4a2985d521c76797947db5b3cbb45 100644
|
| --- a/src/IceOperand.h
|
| +++ b/src/IceOperand.h
|
| @@ -85,12 +85,13 @@ public:
|
| }
|
| /// @}
|
|
|
| + ~Operand() = default;
|
| +
|
| protected:
|
| Operand(OperandKind Kind, Type Ty) : Ty(Ty), Kind(Kind) {
|
| // It is undefined behavior to have a larger value in the enum
|
| assert(Kind <= kTarget_Max);
|
| }
|
| - virtual ~Operand() = default;
|
|
|
| const Type Ty;
|
| const OperandKind Kind;
|
| @@ -354,7 +355,7 @@ public:
|
| LiveRange() = default;
|
| /// Special constructor for building a kill set. The advantage is that we can
|
| /// reserve the right amount of space in advance.
|
| - explicit LiveRange(const std::vector<InstNumberT> &Kills) {
|
| + explicit LiveRange(const CfgVector<InstNumberT> &Kills) {
|
| Range.reserve(Kills.size());
|
| for (InstNumberT I : Kills)
|
| addSegment(I, I);
|
| @@ -388,8 +389,7 @@ public:
|
| private:
|
| using RangeElementType = std::pair<InstNumberT, InstNumberT>;
|
| /// RangeType is arena-allocated from the Cfg's allocator.
|
| - using RangeType =
|
| - std::vector<RangeElementType, CfgLocalAllocator<RangeElementType>>;
|
| + using RangeType = CfgVector<RangeElementType>;
|
| RangeType Range;
|
| /// TrimmedBegin is an optimization for the overlaps() computation. Since the
|
| /// linear-scan algorithm always calls it as overlaps(Cur) and Cur advances
|
| @@ -556,7 +556,7 @@ enum MetadataKind {
|
| VMK_SingleDefs, /// Track uses+defs, but only record single def
|
| VMK_All /// Track uses+defs, including full def list
|
| };
|
| -using InstDefList = std::vector<const Inst *, CfgLocalAllocator<const Inst *>>;
|
| +using InstDefList = CfgVector<const Inst *>;
|
|
|
| /// VariableTracking tracks the metadata for a single variable. It is
|
| /// only meant to be used internally by VariablesMetadata.
|
| @@ -652,7 +652,7 @@ public:
|
| private:
|
| const Cfg *Func;
|
| MetadataKind Kind;
|
| - std::vector<VariableTracking> Metadata;
|
| + CfgVector<VariableTracking> Metadata;
|
| const static InstDefList NoDefinitions;
|
| };
|
|
|
|
|