IRBuilder: Use move semantics for the IRBuilderInserter parameter
[oota-llvm.git] / include / llvm / IR / IRBuilder.h
index d02f41b7e27f7ce70c0d6e1678376ddb4fce67b4..8d365a0cc9936ca869e96b60a08791e27d4b2921 100644 (file)
@@ -517,10 +517,9 @@ template<bool preserveNames = true, typename T = ConstantFolder,
 class IRBuilder : public IRBuilderBase, public Inserter {
   T Folder;
 public:
 class IRBuilder : public IRBuilderBase, public Inserter {
   T Folder;
 public:
-  IRBuilder(LLVMContext &C, const T &F, const Inserter &I = Inserter(),
+  IRBuilder(LLVMContext &C, const T &F, Inserter I = Inserter(),
             MDNode *FPMathTag = nullptr)
             MDNode *FPMathTag = nullptr)
-    : IRBuilderBase(C, FPMathTag), Inserter(I), Folder(F) {
-  }
+      : IRBuilderBase(C, FPMathTag), Inserter(std::move(I)), Folder(F) {}
 
   explicit IRBuilder(LLVMContext &C, MDNode *FPMathTag = nullptr)
     : IRBuilderBase(C, FPMathTag), Folder() {
 
   explicit IRBuilder(LLVMContext &C, MDNode *FPMathTag = nullptr)
     : IRBuilderBase(C, FPMathTag), Folder() {
@@ -673,16 +672,14 @@ public:
   }
 
   CleanupReturnInst *CreateCleanupRet(BasicBlock *UnwindBB = nullptr,
   }
 
   CleanupReturnInst *CreateCleanupRet(BasicBlock *UnwindBB = nullptr,
-                               Value *RetVal = nullptr) {
+                                      Value *RetVal = nullptr) {
     return Insert(CleanupReturnInst::Create(Context, RetVal, UnwindBB));
   }
 
   CatchPadInst *CreateCatchPad(Type *Ty, BasicBlock *NormalDest,
     return Insert(CleanupReturnInst::Create(Context, RetVal, UnwindBB));
   }
 
   CatchPadInst *CreateCatchPad(Type *Ty, BasicBlock *NormalDest,
-                                   BasicBlock *UnwindDest,
-                                   ArrayRef<Value *> Args,
-                                   const Twine &Name = "") {
-    return Insert(CatchPadInst::Create(Ty, NormalDest, UnwindDest, Args),
-                  Name);
+                               BasicBlock *UnwindDest, ArrayRef<Value *> Args,
+                               const Twine &Name = "") {
+    return Insert(CatchPadInst::Create(Ty, NormalDest, UnwindDest, Args), Name);
   }
 
   CatchEndPadInst *CreateCatchEndPad(BasicBlock *UnwindBB = nullptr) {
   }
 
   CatchEndPadInst *CreateCatchEndPad(BasicBlock *UnwindBB = nullptr) {
@@ -690,13 +687,13 @@ public:
   }
 
   TerminatePadInst *CreateTerminatePad(BasicBlock *UnwindBB = nullptr,
   }
 
   TerminatePadInst *CreateTerminatePad(BasicBlock *UnwindBB = nullptr,
-                                           ArrayRef<Value *> Args = {},
-                                           const Twine &Name = "") {
+                                       ArrayRef<Value *> Args = {},
+                                       const Twine &Name = "") {
     return Insert(TerminatePadInst::Create(Context, UnwindBB, Args), Name);
   }
 
   CleanupPadInst *CreateCleanupPad(Type *Ty, ArrayRef<Value *> Args,
     return Insert(TerminatePadInst::Create(Context, UnwindBB, Args), Name);
   }
 
   CleanupPadInst *CreateCleanupPad(Type *Ty, ArrayRef<Value *> Args,
-                                       const Twine &Name = "") {
+                                   const Twine &Name = "") {
     return Insert(CleanupPadInst::Create(Ty, Args), Name);
   }
 
     return Insert(CleanupPadInst::Create(Ty, Args), Name);
   }