diff options
author | Justin Lebar <jlebar@google.com> | 2016-03-30 20:39:29 +0000 |
---|---|---|
committer | Justin Lebar <jlebar@google.com> | 2016-03-30 20:39:29 +0000 |
commit | 2fe132311205aa143f976c4922891a40d87583c3 (patch) | |
tree | b0cfaf65d3a92770fe4f00f790e44cf6d05b07dd /llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | |
parent | c73c9d273dfe5b12ae50cc5f1a6c7b763ee1a746 (diff) | |
download | bcm5719-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.cpp | 4 |
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, |