summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2016-03-30 20:39:29 +0000
committerJustin Lebar <jlebar@google.com>2016-03-30 20:39:29 +0000
commit2fe132311205aa143f976c4922891a40d87583c3 (patch)
treeb0cfaf65d3a92770fe4f00f790e44cf6d05b07dd /llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
parentc73c9d273dfe5b12ae50cc5f1a6c7b763ee1a746 (diff)
downloadbcm5719-llvm-2fe132311205aa143f976c4922891a40d87583c3.tar.gz
bcm5719-llvm-2fe132311205aa143f976c4922891a40d87583c3.zip
[PassManager] Make PassManagerBuilder::addExtension take an std::function, rather than a function pointer.
Summary: This gives callers flexibility to pass lambdas with captures, which lets callers avoid the C-style void*-ptr closure style. (Currently, callers in clang store state in the PassManagerBuilderBase arg.) No functional change, and the new API is backwards-compatible. Reviewers: chandlerc Subscribers: joker.eph, cfe-commits Differential Revision: http://reviews.llvm.org/D18613 llvm-svn: 264918
Diffstat (limited to 'llvm/lib/Transforms/IPO/PassManagerBuilder.cpp')
-rw-r--r--llvm/lib/Transforms/IPO/PassManagerBuilder.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
index 8a4aa336ec4..e15cf1fd1c5 100644
--- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -158,11 +158,11 @@ static ManagedStatic<SmallVector<std::pair<PassManagerBuilder::ExtensionPointTy,
void PassManagerBuilder::addGlobalExtension(
PassManagerBuilder::ExtensionPointTy Ty,
PassManagerBuilder::ExtensionFn Fn) {
- GlobalExtensions->push_back(std::make_pair(Ty, Fn));
+ GlobalExtensions->push_back(std::make_pair(Ty, std::move(Fn)));
}
void PassManagerBuilder::addExtension(ExtensionPointTy Ty, ExtensionFn Fn) {
- Extensions.push_back(std::make_pair(Ty, Fn));
+ Extensions.push_back(std::make_pair(Ty, std::move(Fn)));
}
void PassManagerBuilder::addExtensionsToPM(ExtensionPointTy ETy,
OpenPOWER on IntegriCloud