swift
a5dc918e - [AutoDiff] Add SIL differentiability witnesses. (#27487)

Commit
5 years ago
[AutoDiff] Add SIL differentiability witnesses. (#27487) SIL differentiability witnesses are a new top-level SIL construct mapping "original" SIL functions to derivative SIL functions. They will replace SIL function `[differentiable]` attributes, additionally enabling cross-module retroactive derivative registration. SIL differentiability witnesses have the following components: - Original `SILFunction`. - Linkage. - Parameter indices (`IndexSubset`). - Result indices (`IndexSubset`). - Derivative generic signature (optional). - JVP `SILFunction` (optional). - VJP `SILFunction` (optional). - "Is serialized?" bit. This patch adds the `SILDifferentiabilityWitness` data structure, along with parsing, printing, verification, and serialization (including lookup by key). The TF-866 master issue tracks follow-up, including SILGen and differentiation transform changes.
Author
Parents
Loading