[llvm] r288594 - [PM] Make AnalysisManager::registerPass take its parameter by universal reference.
Justin Lebar via llvm-commits
llvm-commits at lists.llvm.org
Sat Dec 3 11:49:19 PST 2016
Author: jlebar
Date: Sat Dec 3 13:49:19 2016
New Revision: 288594
URL: http://llvm.org/viewvc/llvm-project?rev=288594&view=rev
Log:
[PM] Make AnalysisManager::registerPass take its parameter by universal reference.
Summary:
Previously, we were forcing a copy if you passed an lvalue argument; now
we'll take it by reference.
Reviewers: chandlerc
Subscribers: mehdi_amini, silvas, llvm-commits
Differential Revision: https://reviews.llvm.org/D27370
Modified:
llvm/trunk/include/llvm/IR/PassManager.h
Modified: llvm/trunk/include/llvm/IR/PassManager.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/PassManager.h?rev=288594&r1=288593&r2=288594&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/PassManager.h (original)
+++ llvm/trunk/include/llvm/IR/PassManager.h Sat Dec 3 13:49:19 2016
@@ -548,7 +548,8 @@ public:
/// 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...>
More information about the llvm-commits
mailing list