From 0f33f0738ff1e9097e7821b2734e645deb269cf5 Mon Sep 17 00:00:00 2001 From: Justin Lebar Date: Sat, 3 Dec 2016 19:49:19 +0000 Subject: [PATCH] [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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288594 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/PassManager.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/llvm/IR/PassManager.h b/include/llvm/IR/PassManager.h index a746ebb469d..92984861c7b 100644 --- a/include/llvm/IR/PassManager.h +++ b/include/llvm/IR/PassManager.h @@ -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 bool registerPass(PassBuilderT PassBuilder) { + template + bool registerPass(PassBuilderT &&PassBuilder) { typedef decltype(PassBuilder()) PassT; typedef detail::AnalysisPassModel -- 2.50.1