@@ -47,41 +47,6 @@ class ADContext;
4747// moved to a shared location.
4848// ===----------------------------------------------------------------------===//
4949
50- // / The thunk kinds used in the differentiation transform.
51- enum class DifferentiationThunkKind {
52- // / A reabstraction thunk.
53- // /
54- // / Reabstraction thunks transform a function-typed value to another one with
55- // / different parameter/result abstraction patterns. This is identical to the
56- // / thunks generated by SILGen.
57- Reabstraction,
58-
59- // / An index subset thunk.
60- // /
61- // / An index subset thunk is used transform JVP/VJPs into a version that is
62- // / "wrt" fewer differentiation parameters.
63- // / - Differentials of thunked JVPs use zero for non-requested differentiation
64- // / parameters.
65- // / - Pullbacks of thunked VJPs discard results for non-requested
66- // / differentiation parameters.
67- IndexSubset
68- };
69-
70- CanGenericSignature buildThunkSignature (SILFunction *fn, bool inheritGenericSig,
71- OpenedArchetypeType *openedExistential,
72- GenericEnvironment *&genericEnv,
73- SubstitutionMap &contextSubs,
74- SubstitutionMap &interfaceSubs,
75- ArchetypeType *&newArchetype);
76-
77- // / Build the type of a function transformation thunk.
78- CanSILFunctionType buildThunkType (SILFunction *fn,
79- CanSILFunctionType &sourceType,
80- CanSILFunctionType &expectedType,
81- GenericEnvironment *&genericEnv,
82- SubstitutionMap &interfaceSubs,
83- bool withoutActuallyEscaping,
84- DifferentiationThunkKind thunkKind);
8550
8651// / Get or create a reabstraction thunk from `fromType` to `toType`, to be
8752// / called in `caller`.
0 commit comments