swift
3c40ac51 - [AutoDiff] Fix undiagnosed active `modify` accessor applications. (#29564)

Commit
5 years ago
[AutoDiff] Fix undiagnosed active `modify` accessor applications. (#29564) Semantically, yielded addresses of `modify` accessor applications can be viewed as projections into `inout` arguments. Activity analysis should reflect this assumption: yielded addresses should propagate variedness and usefulness to `inout` arguments of `modify` accessor applications. Now, previously undetected active `modify` accessor applications are diagnosed. Resolves TF-1115. TF-1080 tracks `modify` accessor differentiation support. --- Note: the assumption that yielded addresses are always a projection into the `inout` argument is a safe over-approximation but not always true. In practice, this should be fine for now.
Author
Parents
  • lib/SILOptimizer/Analysis
    • File
      DifferentiableActivityAnalysis.cpp
  • test/AutoDiff/downstream
    • File
      activity_analysis.swift
    • File
      differentiation_transform_diagnostics.swift
Loading