[ForEachLoopUnroll] Fix move_value handling.

This commit is contained in:
Nate Chandler
2023-12-13 14:30:59 -08:00
parent 88a0bd7015
commit 2a5aafe9d7

View File

@@ -307,7 +307,7 @@ void ArrayInfo::classifyUsesOfArray(SILValue arrayValue) {
forEachCalls.insert(forEachCall);
continue;
}
// Recursively classify begin_borrow and copy_value uses.
// Recursively classify begin_borrow, copy_value, and move_value uses.
if (BeginBorrowInst *beginBorrow = dyn_cast<BeginBorrowInst>(user)) {
classifyUsesOfArray(beginBorrow);
continue;
@@ -316,6 +316,10 @@ void ArrayInfo::classifyUsesOfArray(SILValue arrayValue) {
classifyUsesOfArray(copyValue);
continue;
}
if (MoveValueInst *moveValue = dyn_cast<MoveValueInst>(user)) {
classifyUsesOfArray(moveValue);
continue;
}
if (DestroyValueInst *destroyValue = dyn_cast<DestroyValueInst>(user)) {
destroys.push_back(destroyValue);
continue;