@@ -166,23 +166,23 @@ class ASTMangler : public Mangler {
166166 bool predefined);
167167
168168 // / Mangle the derivative function (JVP/VJP) for the given:
169- // / - Mangled original function name .
169+ // / - Mangled original function declaration .
170170 // / - Derivative function kind.
171171 // / - Derivative function configuration: parameter/result indices and
172172 // / derivative generic signature.
173173 std::string
174- mangleAutoDiffDerivativeFunctionHelper (StringRef name ,
175- AutoDiffDerivativeFunctionKind kind,
176- AutoDiffConfig config);
174+ mangleAutoDiffDerivativeFunction ( const AbstractFunctionDecl *originalAFD ,
175+ AutoDiffDerivativeFunctionKind kind,
176+ AutoDiffConfig config);
177177
178178 // / Mangle the linear map (differential/pullback) for the given:
179- // / - Mangled original function name .
179+ // / - Mangled original function declaration .
180180 // / - Linear map kind.
181181 // / - Derivative function configuration: parameter/result indices and
182182 // / derivative generic signature.
183- std::string mangleAutoDiffLinearMapHelper (StringRef name ,
184- AutoDiffLinearMapKind kind,
185- AutoDiffConfig config);
183+ std::string mangleAutoDiffLinearMap ( const AbstractFunctionDecl *originalAFD ,
184+ AutoDiffLinearMapKind kind,
185+ AutoDiffConfig config);
186186
187187 // / Mangle the AutoDiff generated declaration for the given:
188188 // / - Generated declaration kind: linear map struct or branching trace enum.
@@ -255,6 +255,8 @@ class ASTMangler : public Mangler {
255255
256256 std::string mangleOpaqueTypeDecl (const ValueDecl *decl);
257257
258+ std::string mangleGenericSignature (const GenericSignature sig);
259+
258260 enum SpecialContext {
259261 ObjCContext,
260262 ClangImporterContext,
@@ -427,6 +429,12 @@ class ASTMangler : public Mangler {
427429 void appendSymbolicReference (SymbolicReferent referent);
428430
429431 void appendOpaqueDeclName (const OpaqueTypeDecl *opaqueDecl);
432+
433+ void beginManglingWithAutoDiffOriginalFunction (
434+ const AbstractFunctionDecl *afd);
435+ void appendAutoDiffFunctionParts (char functionKindCode,
436+ AutoDiffConfig config);
437+ void appendIndexSubset (IndexSubset *indexSubset);
430438};
431439
432440} // end namespace Mangle
0 commit comments