[WIP] 4 failing tests.
- Differentiation transform never performs deserialization of differentiability
witnesses. This is important for separation of concerns (no other transforms
do deserialization) and performance (we no longer need to deserialize the
stdlib every time). Instead, we create "bodiless declarations" of
differentiability witnesses.
Todos:
```
Failing Tests (4):
Swift(macosx-x86_64) :: AutoDiff/autodiff_indirect_diagnostics.swift
# need to fix τ_0_0 in diagnostic messages
Swift(macosx-x86_64) :: AutoDiff/differentiability_witness_function_inst.sil
# need to fix differentiability_witness_function instruction parsing, probably need diff witness forward declarations
Swift(macosx-x86_64) :: AutoDiff/differentiable_sil_attr_roundtrip.swift
# need investigation
Swift(macosx-x86_64) :: AutoDiff/tbdgen.swift
# need investigation, maybe wrong diff witness linkage somewhere
```
test/AutoDiff/simd.swift passes but became super slow: 50.33s vs 6.54s.
To be investigated.
Todo:
- Update SIL parsing for differentiability witness declarations.
- Allow bodiless witness declarations (no '{ ... }').
- Mimic logic from witness tables.
- Update SIL parsing for `differentiability_witness_function` instruction.
- We need to forward declare SIL differentiability witnesses so they
can be used when parsing `differentiability_witness_function` instructions.
- Investigate remaining test failures.
- Investigate slow performance of test/AutoDiff/simd.swift.