swift
f53d5749 - [AutoDiff] Fix differentiation for non-wrt `inout` parameters. (#33305)

Commit
4 years ago
[AutoDiff] Fix differentiation for non-wrt `inout` parameters. (#33305) Fix SIL differential function type calculation to handle non-wrt `inout` parameters. Patch `SILFunctionType::getDifferentiabilityResultIndices` to prevent returning empty result indices for `@differentiable` function types with no formal results where all `inout` parameters are `@noDerivative`. TF-1305 tracks a robust fix. Resolves SR-13305. Exposes TF-1305: parameter/result differentiability hole for `inout` parameters.
Author
Parents
  • lib/SIL/IR
    • File
      SILFunctionType.cpp
  • test/AutoDiff
    • compiler_crashers_fixed
      • File
        sr13305-noderivative-inout-parameter.swift
    • validation-test
      • File
        inout_parameters.swift