Sure up ownership passing of the PBQPBuilder by passing unique_ptrs by value rather...
authorDavid Blaikie <dblaikie@gmail.com>
Sat, 19 Jul 2014 21:19:45 +0000 (21:19 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Sat, 19 Jul 2014 21:19:45 +0000 (21:19 +0000)
Also removes an unnecessary '.release()' that should've been a std::move
anyway. (I'm on a hunt for '.release()' calls)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213464 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/RegAllocPBQP.h
lib/CodeGen/RegAllocPBQP.cpp

index 6343bb7c937bf224c6bfc64b1f3d4e9e311dcfff..441b0f084e69ca2ba065c593f26036456110ac73 100644 (file)
@@ -158,7 +158,7 @@ namespace llvm {
   };
 
   FunctionPass *
-  createPBQPRegisterAllocator(std::unique_ptr<PBQPBuilder> &builder,
+  createPBQPRegisterAllocator(std::unique_ptr<PBQPBuilder> builder,
                               char *customPassID = nullptr);
 }
 
index b8d23250064b39a8ad76429189508c30f3a22ad9..8a3b53fd08e524abec489a498392a779995e3784 100644 (file)
@@ -88,8 +88,8 @@ public:
   static char ID;
 
   /// Construct a PBQP register allocator.
-  RegAllocPBQP(std::unique_ptr<PBQPBuilder> &b, char *cPassID=nullptr)
-      : MachineFunctionPass(ID), builder(b.release()), customPassID(cPassID) {
+  RegAllocPBQP(std::unique_ptr<PBQPBuilder> b, char *cPassID = nullptr)
+      : MachineFunctionPass(ID), builder(std::move(b)), customPassID(cPassID) {
     initializeSlotIndexesPass(*PassRegistry::getPassRegistry());
     initializeLiveIntervalsPass(*PassRegistry::getPassRegistry());
     initializeLiveStacksPass(*PassRegistry::getPassRegistry());
@@ -614,18 +614,18 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) {
 }
 
 FunctionPass *
-llvm::createPBQPRegisterAllocator(std::unique_ptr<PBQPBuilder> &builder,
+llvm::createPBQPRegisterAllocator(std::unique_ptr<PBQPBuilder> builder,
                                   char *customPassID) {
-  return new RegAllocPBQP(builder, customPassID);
+  return new RegAllocPBQP(std::move(builder), customPassID);
 }
 
 FunctionPass* llvm::createDefaultPBQPRegisterAllocator() {
   std::unique_ptr<PBQPBuilder> Builder;
   if (pbqpCoalescing)
-    Builder.reset(new PBQPBuilderWithCoalescing());
+    Builder = llvm::make_unique<PBQPBuilderWithCoalescing>();
   else
-    Builder.reset(new PBQPBuilder());
-  return createPBQPRegisterAllocator(Builder);
+    Builder = llvm::make_unique<PBQPBuilder>();
+  return createPBQPRegisterAllocator(std::move(Builder));
 }
 
 #undef DEBUG_TYPE