unique_ptrify ResourcePriorityQueue::ResourceModel
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 3 Mar 2015 20:49:08 +0000 (20:49 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 3 Mar 2015 20:49:08 +0000 (20:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231127 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/ResourcePriorityQueue.h
lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp

index ac1975ec575283b8af0db6559159c8e52d27c90b..0097e0472e5c51cb6b9b6f9376fc9b71265cece8 100644 (file)
@@ -64,7 +64,7 @@ namespace llvm {
     /// ResourcesModel - Represents VLIW state.
     /// Not limited to VLIW targets per say, but assumes
     /// definition of DFA by a target.
-    DFAPacketizer *ResourcesModel;
+    std::unique_ptr<DFAPacketizer> ResourcesModel;
 
     /// Resource model - packet/bundle model. Purely
     /// internal at the time.
@@ -77,10 +77,6 @@ namespace llvm {
   public:
     ResourcePriorityQueue(SelectionDAGISel *IS);
 
-    ~ResourcePriorityQueue() {
-      delete ResourcesModel;
-    }
-
     bool isBottomUp() const override { return false; }
 
     void initNodes(std::vector<SUnit> &sunits) override;
index 01cc8ba16cf9069439a30fc26a62ed9c2a5060b4..6303422b9ae9dcead303196e018aca370be5cf16 100644 (file)
@@ -47,7 +47,7 @@ ResourcePriorityQueue::ResourcePriorityQueue(SelectionDAGISel *IS)
   TRI = STI.getRegisterInfo();
   TLI = IS->TLI;
   TII = STI.getInstrInfo();
-  ResourcesModel = TII->CreateTargetScheduleState(STI);
+  ResourcesModel.reset(TII->CreateTargetScheduleState(STI));
   // This hard requirement could be relaxed, but for now
   // do not let it procede.
   assert(ResourcesModel && "Unimplemented CreateTargetScheduleState.");