File tree Expand file tree Collapse file tree 1 file changed +6
-1
lines changed
lib/SILOptimizer/Analysis Expand file tree Collapse file tree 1 file changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -154,10 +154,15 @@ void DifferentiableActivityInfo::propagateVaried(
154
154
propagateVariedInwardsThroughProjections (si->getDest (), i); \
155
155
}
156
156
PROPAGATE_VARIED_THROUGH_STORE (Store)
157
- PROPAGATE_VARIED_THROUGH_STORE (StoreBorrow)
158
157
PROPAGATE_VARIED_THROUGH_STORE (CopyAddr)
159
158
PROPAGATE_VARIED_THROUGH_STORE (UnconditionalCheckedCastAddr)
160
159
#undef PROPAGATE_VARIED_THROUGH_STORE
160
+ else if (auto *sbi = dyn_cast<StoreBorrowInst>(inst)) {
161
+ if (isVaried (sbi->getSrc (), i)) {
162
+ setVariedAndPropagateToUsers (sbi, i);
163
+ propagateVariedInwardsThroughProjections (sbi, i);
164
+ }
165
+ }
161
166
// Handle `tuple_element_addr`.
162
167
else if (auto *teai = dyn_cast<TupleElementAddrInst>(inst)) {
163
168
if (isVaried (teai->getOperand (), i)) {
You can’t perform that action at this time.
0 commit comments