Index: clang/include/clang/Sema/CodeCompleteConsumer.h =================================================================== --- clang/include/clang/Sema/CodeCompleteConsumer.h +++ clang/include/clang/Sema/CodeCompleteConsumer.h @@ -1201,7 +1201,7 @@ //@{ /// Process the finalized code-completion results. virtual void ProcessCodeCompleteResults(Sema &S, - CodeCompletionContext Context, + const CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) {} @@ -1264,7 +1264,7 @@ CCTUInfo(std::make_shared<GlobalCodeCompletionAllocator>()) {} /// Prints the finalized code-completion results. - void ProcessCodeCompleteResults(Sema &S, CodeCompletionContext Context, + void ProcessCodeCompleteResults(Sema &S, const CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) override; 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, const 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 <size_t N, size_t... Ints> static std::array<Address, N> getParamAddrs(std::index_sequence<Ints...> IntSeq, std::array<CharUnits, N> Alignments, - FunctionArgList Args, + const FunctionArgList &Args, CodeGenFunction *CGF) { return std::array<Address, N>{ {Address(CGF->Builder.CreateLoad(CGF->GetAddrOfLocalVar(Args[Ints])), Index: clang/lib/CodeGen/CodeGenModule.h =================================================================== --- clang/lib/CodeGen/CodeGenModule.h +++ clang/lib/CodeGen/CodeGenModule.h @@ -1711,7 +1711,7 @@ /// Emit the module flag metadata used to pass options controlling the /// the backend to LLVM. - void EmitBackendOptionsMetadata(const CodeGenOptions CodeGenOpts); + void EmitBackendOptionsMetadata(const CodeGenOptions &CodeGenOpts); /// Emits OpenCL specific Metadata e.g. OpenCL version. void EmitOpenCLMetadata(); 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 @@ -1952,7 +1952,8 @@ | (1LL << CodeCompletionContext::CCC_ClassOrStructTag); } - void ProcessCodeCompleteResults(Sema &S, CodeCompletionContext Context, + void ProcessCodeCompleteResults(Sema &S, + const CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) override; @@ -2063,10 +2064,9 @@ } } -void AugmentedCodeCompleteConsumer::ProcessCodeCompleteResults(Sema &S, - CodeCompletionContext Context, - CodeCompletionResult *Results, - unsigned NumResults) { +void AugmentedCodeCompleteConsumer::ProcessCodeCompleteResults( + Sema &S, const CodeCompletionContext &Context, + CodeCompletionResult *Results, unsigned NumResults) { // Merge the results we were given with the results we cached. bool AddedResult = false; uint64_t InContexts = 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, const CodeCompletionContext &Context, + CodeCompletionResult *Results, unsigned NumResults) { std::stable_sort(Results, Results + NumResults); if (!Context.getPreferredType().isNull()) Index: clang/lib/Sema/SemaType.cpp =================================================================== --- clang/lib/Sema/SemaType.cpp +++ clang/lib/Sema/SemaType.cpp @@ -4553,7 +4553,7 @@ return false; } -static bool IsNoDerefableChunk(DeclaratorChunk Chunk) { +static bool IsNoDerefableChunk(const DeclaratorChunk &Chunk) { return (Chunk.Kind == DeclaratorChunk::Pointer || Chunk.Kind == DeclaratorChunk::Array); } Index: clang/tools/libclang/CIndexCodeCompletion.cpp =================================================================== --- clang/tools/libclang/CIndexCodeCompletion.cpp +++ clang/tools/libclang/CIndexCodeCompletion.cpp @@ -572,8 +572,8 @@ CCTUInfo(Results.CodeCompletionAllocator), TU(TranslationUnit) {} ~CaptureCompletionResults() override { Finish(); } - void ProcessCodeCompleteResults(Sema &S, - CodeCompletionContext Context, + void ProcessCodeCompleteResults(Sema &S, + const CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) override { StoredResults.reserve(StoredResults.size() + NumResults); Index: clang/unittests/Sema/CodeCompleteTest.cpp =================================================================== --- clang/unittests/Sema/CodeCompleteTest.cpp +++ clang/unittests/Sema/CodeCompleteTest.cpp @@ -54,7 +54,7 @@ CompletedFuncDecls(CompletedFuncDecls), CCTUInfo(std::make_shared<GlobalCodeCompletionAllocator>()) {} - void ProcessCodeCompleteResults(Sema &S, CodeCompletionContext Context, + void ProcessCodeCompleteResults(Sema &S, const CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) override { for (unsigned I = 0; I < NumResults; ++I) { @@ -89,7 +89,7 @@ : CodeCompleteConsumer(/*CodeCompleteOpts=*/{}), ResultCtx(ResultCtx), CCTUInfo(std::make_shared<GlobalCodeCompletionAllocator>()) {} - void ProcessCodeCompleteResults(Sema &S, CodeCompletionContext Context, + void ProcessCodeCompleteResults(Sema &S, const CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) override { ResultCtx.VisitedNamespaces =