[AutoDiff] Fix forward-mode differentiation ownership verification failure. #33898
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously,
LinearMapInfo::shouldDifferentiateInstruction
had a special casefor
copy_value
, returning true forcopy_value
instructions with an activeoperand.
This is unexpected and led to "leaked owned value" ownership verification
failures due to unnecessarily cloned
copy_value
instructions duringdifferential generation.
Now, the special case is removed, fixing the failures.
shouldDifferentiateInstruction
returns true forcopy_value
instructionswhose operand and result are both active.
Resolves SR-13530.
Example:
Before: ownership verification failure.
After: no error.