[PATCH] D27370: [PM] Make AnalysisManager::registerPass take its parameter by universal reference.
Justin Lebar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 2 16:01:22 PST 2016
jlebar created this revision.
jlebar added a reviewer: chandlerc.
jlebar added subscribers: llvm-commits, silvas.
Herald added a subscriber: mehdi_amini.
Previously, we were forcing a copy if you passed an lvalue argument; now
we'll take it by reference.
https://reviews.llvm.org/D27370
Files:
llvm/include/llvm/IR/PassManager.h
Index: llvm/include/llvm/IR/PassManager.h
===================================================================
--- llvm/include/llvm/IR/PassManager.h
+++ llvm/include/llvm/IR/PassManager.h
@@ -548,7 +548,8 @@
/// interface also lends itself to minimizing the number of times we have to
/// do lookups for analyses or construct complex passes only to throw them
/// away.
- template <typename PassBuilderT> bool registerPass(PassBuilderT PassBuilder) {
+ template <typename PassBuilderT>
+ bool registerPass(PassBuilderT &&PassBuilder) {
typedef decltype(PassBuilder()) PassT;
typedef detail::AnalysisPassModel<IRUnitT, PassT, PreservedAnalyses,
Invalidator, ExtraArgTs...>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27370.80145.patch
Type: text/x-patch
Size: 733 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161203/d5d331e8/attachment.bin>
More information about the llvm-commits
mailing list