@@ -424,7 +424,7 @@ std::string ASTMangler::mangleObjCAsyncCompletionHandlerImpl(
424424std::string ASTMangler::mangleAutoDiffDerivativeFunction (
425425 const AbstractFunctionDecl *originalAFD,
426426 AutoDiffDerivativeFunctionKind kind,
427- AutoDiffConfig config,
427+ const AutoDiffConfig & config,
428428 bool isVTableThunk) {
429429 beginManglingWithAutoDiffOriginalFunction (originalAFD);
430430 appendAutoDiffFunctionParts (
@@ -434,7 +434,7 @@ std::string ASTMangler::mangleAutoDiffDerivativeFunction(
434434
435435std::string ASTMangler::mangleAutoDiffLinearMap (
436436 const AbstractFunctionDecl *originalAFD, AutoDiffLinearMapKind kind,
437- AutoDiffConfig config) {
437+ const AutoDiffConfig & config) {
438438 beginManglingWithAutoDiffOriginalFunction (originalAFD);
439439 appendAutoDiffFunctionParts (" TJ" , getAutoDiffFunctionKind (kind), config);
440440 return finalize ();
@@ -456,7 +456,7 @@ void ASTMangler::beginManglingWithAutoDiffOriginalFunction(
456456
457457void ASTMangler::appendAutoDiffFunctionParts (StringRef op,
458458 AutoDiffFunctionKind kind,
459- AutoDiffConfig config) {
459+ const AutoDiffConfig & config) {
460460 if (auto sig = config.derivativeGenericSignature )
461461 appendGenericSignature (sig);
462462 auto kindCode = (char )kind;
@@ -486,8 +486,8 @@ void ASTMangler::appendIndexSubset(IndexSubset *indices) {
486486}
487487
488488static NodePointer mangleSILDifferentiabilityWitnessAsNode (
489- StringRef originalName, DifferentiabilityKind kind, AutoDiffConfig config,
490- Demangler &demangler) {
489+ StringRef originalName, DifferentiabilityKind kind,
490+ const AutoDiffConfig &config, Demangler &demangler) {
491491 auto *diffWitnessNode = demangler.createNode (
492492 Node::Kind::DifferentiabilityWitness);
493493 auto origNode = demangler.demangleSymbol (originalName);
@@ -518,8 +518,9 @@ static NodePointer mangleSILDifferentiabilityWitnessAsNode(
518518 return diffWitnessNode;
519519}
520520
521- std::string ASTMangler::mangleSILDifferentiabilityWitness (
522- StringRef originalName, DifferentiabilityKind kind, AutoDiffConfig config) {
521+ std::string ASTMangler::mangleSILDifferentiabilityWitness (StringRef originalName,
522+ DifferentiabilityKind kind,
523+ const AutoDiffConfig &config) {
523524 // If the original name was a mangled name, differentiability witnesses must
524525 // be mangled as node because they contain generic signatures which may repeat
525526 // entities in the original function name. Mangling as node will make sure the
@@ -545,7 +546,8 @@ std::string ASTMangler::mangleSILDifferentiabilityWitness(
545546
546547std::string ASTMangler::mangleAutoDiffGeneratedDeclaration (
547548 AutoDiffGeneratedDeclarationKind declKind, StringRef origFnName,
548- unsigned bbId, AutoDiffLinearMapKind linearMapKind, AutoDiffConfig config) {
549+ unsigned bbId, AutoDiffLinearMapKind linearMapKind,
550+ const AutoDiffConfig &config) {
549551 beginManglingWithoutPrefix ();
550552
551553 Buffer << " _AD__" << origFnName << " _bb" + std::to_string (bbId);
0 commit comments