Skip to content

Commit 54fe511

Browse files
authored
Merge pull request #33964 from dan-zheng/tensorflow-autodiff-fixes
[AutoDiff] Fix PullbackCloner tangent value category mismatch issues.
2 parents 49652f0 + 2ee26da commit 54fe511

File tree

6 files changed

+473
-134
lines changed

6 files changed

+473
-134
lines changed

lib/SIL/IR/SILFunctionType.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,8 @@ static CanSILFunctionType getAutoDiffPullbackType(
537537
TC.getTypeLowering(pattern, tanType, TypeExpansionContext::minimal());
538538
ParameterConvention conv;
539539
switch (origResConv) {
540+
case ResultConvention::Unowned:
541+
case ResultConvention::UnownedInnerPointer:
540542
case ResultConvention::Owned:
541543
case ResultConvention::Autoreleased:
542544
if (tl.isAddressOnly()) {
@@ -546,10 +548,6 @@ static CanSILFunctionType getAutoDiffPullbackType(
546548
: ParameterConvention::Direct_Guaranteed;
547549
}
548550
break;
549-
case ResultConvention::Unowned:
550-
case ResultConvention::UnownedInnerPointer:
551-
conv = ParameterConvention::Direct_Unowned;
552-
break;
553551
case ResultConvention::Indirect:
554552
conv = ParameterConvention::Indirect_In_Guaranteed;
555553
break;

lib/SILOptimizer/Analysis/DifferentiableActivityAnalysis.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,8 @@ void DifferentiableActivityInfo::dump(SILAutoDiffIndices indices,
557557
for (auto &inst : bb)
558558
for (auto res : inst.getResults())
559559
dump(res, indices, s);
560-
s << '\n';
560+
if (std::next(bb.getIterator()) != fn.end())
561+
s << '\n';
561562
}
563+
s << "End activity info for " << fn.getName() << " at " << indices << "\n\n";
562564
}

0 commit comments

Comments
 (0)