[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