Index: clang/lib/CodeGen/CGGPUBuiltin.cpp =================================================================== --- clang/lib/CodeGen/CGGPUBuiltin.cpp +++ clang/lib/CodeGen/CGGPUBuiltin.cpp @@ -125,7 +125,7 @@ } } -bool containsNonScalarVarargs(CodeGenFunction *CGF, CallArgList Args) { +bool containsNonScalarVarargs(CodeGenFunction *CGF, CallArgList &Args) { return llvm::any_of(llvm::drop_begin(Args), [&](const CallArg &A) { return !A.getRValue(*CGF).isScalar(); }); Index: clang/lib/CodeGen/CGNonTrivialStruct.cpp =================================================================== --- clang/lib/CodeGen/CGNonTrivialStruct.cpp +++ clang/lib/CodeGen/CGNonTrivialStruct.cpp @@ -323,7 +323,7 @@ template static std::array getParamAddrs(std::index_sequence IntSeq, std::array Alignments, - FunctionArgList Args, + FunctionArgList &Args, CodeGenFunction *CGF) { return std::array{ {Address(CGF->Builder.CreateLoad(CGF->GetAddrOfLocalVar(Args[Ints])), Index: clang/lib/CodeGen/CodeGenAction.cpp =================================================================== --- clang/lib/CodeGen/CodeGenAction.cpp +++ clang/lib/CodeGen/CodeGenAction.cpp @@ -86,7 +86,7 @@ }; static void reportOptRecordError(Error E, DiagnosticsEngine &Diags, - const CodeGenOptions CodeGenOpts) { + const CodeGenOptions &CodeGenOpts) { handleAllErrors( std::move(E), [&](const LLVMRemarkSetupFileError &E) { Index: clang/lib/CodeGen/CodeGenModule.cpp =================================================================== --- clang/lib/CodeGen/CodeGenModule.cpp +++ clang/lib/CodeGen/CodeGenModule.cpp @@ -990,7 +990,7 @@ } void CodeGenModule::EmitBackendOptionsMetadata( - const CodeGenOptions CodeGenOpts) { + const CodeGenOptions &CodeGenOpts) { if (getTriple().isRISCV()) { getModule().addModuleFlag(llvm::Module::Min, "SmallDataLimit", CodeGenOpts.SmallDataLimit); Index: clang/lib/Frontend/ASTUnit.cpp =================================================================== --- clang/lib/Frontend/ASTUnit.cpp +++ clang/lib/Frontend/ASTUnit.cpp @@ -2064,7 +2064,7 @@ } void AugmentedCodeCompleteConsumer::ProcessCodeCompleteResults(Sema &S, - CodeCompletionContext Context, + CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) { // Merge the results we were given with the results we cached. Index: clang/lib/Sema/CodeCompleteConsumer.cpp =================================================================== --- clang/lib/Sema/CodeCompleteConsumer.cpp +++ clang/lib/Sema/CodeCompleteConsumer.cpp @@ -638,8 +638,8 @@ } void PrintingCodeCompleteConsumer::ProcessCodeCompleteResults( - Sema &SemaRef, CodeCompletionContext Context, CodeCompletionResult *Results, - unsigned NumResults) { + Sema &SemaRef, CodeCompletionContext &Context, + CodeCompletionResult *Results, unsigned NumResults) { std::stable_sort(Results, Results + NumResults); if (!Context.getPreferredType().isNull()) Index: clang/lib/Sema/SemaCodeComplete.cpp =================================================================== --- clang/lib/Sema/SemaCodeComplete.cpp +++ clang/lib/Sema/SemaCodeComplete.cpp @@ -4148,7 +4148,7 @@ static void HandleCodeCompleteResults(Sema *S, CodeCompleteConsumer *CodeCompleter, - CodeCompletionContext Context, + CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) { if (CodeCompleter) Index: clang/lib/Sema/SemaConcept.cpp =================================================================== --- clang/lib/Sema/SemaConcept.cpp +++ clang/lib/Sema/SemaConcept.cpp @@ -160,7 +160,7 @@ Sema &SemaRef; bool Inserted = false; SatisfactionStackRAII(Sema &SemaRef, const NamedDecl *ND, - llvm::FoldingSetNodeID FSNID) + llvm::FoldingSetNodeID &FSNID) : SemaRef(SemaRef) { if (ND) { SemaRef.PushSatisfactionStackEntry(ND, FSNID); @@ -1370,7 +1370,7 @@ } template -static bool subsumes(NormalForm PDNF, NormalForm QCNF, +static bool subsumes(NormalForm &PDNF, NormalForm &QCNF, AtomicSubsumptionEvaluator E) { // C++ [temp.constr.order] p2 // Then, P subsumes Q if and only if, for every disjunctive clause Pi in the Index: clang/lib/Sema/SemaInit.cpp =================================================================== --- clang/lib/Sema/SemaInit.cpp +++ clang/lib/Sema/SemaInit.cpp @@ -5287,7 +5287,7 @@ // Process entities (i.e. array members, base classes, or class fields) by // adding an initialization expression to InitExprs for each entity to // initialize. - auto ProcessEntities = [&](auto Range) -> bool { + auto ProcessEntities = [&](auto &Range) -> bool { bool IsUnionType = Entity.getType()->isUnionType(); for (InitializedEntity SubEntity : Range) { // Unions should only have one initializer expression. Index: clang/lib/Serialization/GlobalModuleIndex.cpp =================================================================== --- clang/lib/Serialization/GlobalModuleIndex.cpp +++ clang/lib/Serialization/GlobalModuleIndex.cpp @@ -127,7 +127,7 @@ GlobalModuleIndex::GlobalModuleIndex( std::unique_ptr IndexBuffer, - llvm::BitstreamCursor Cursor) + llvm::BitstreamCursor &Cursor) : Buffer(std::move(IndexBuffer)), IdentifierIndex(), NumIdentifierLookups(), NumIdentifierLookupHits() { auto Fail = [&](llvm::Error &&Err) {