File tree Expand file tree Collapse file tree 3 files changed +9
-0
lines changed Expand file tree Collapse file tree 3 files changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -3827,6 +3827,8 @@ bool MoveOnlyAddressCheckerPImpl::performSingleCheck(
38273827
38283828 CopiedLoadBorrowEliminationState state (markedAddress->getFunction ());
38293829 CopiedLoadBorrowEliminationVisitor copiedLoadBorrowEliminator (state);
3830+ // FIXME: should check AddressUseKind::NonEscaping != walk() to handle
3831+ // PointerEscape.
38303832 if (AddressUseKind::Unknown ==
38313833 std::move (copiedLoadBorrowEliminator).walk (markedAddress)) {
38323834 LLVM_DEBUG (llvm::dbgs () << " Failed copied load borrow eliminator visit: "
@@ -3869,6 +3871,8 @@ bool MoveOnlyAddressCheckerPImpl::performSingleCheck(
38693871 RAIILLVMDebug l (" main use gathering visitor" );
38703872
38713873 visitor.reset (markedAddress);
3874+ // FIXME: should check walkResult != AddressUseKind::NonEscaping to handle
3875+ // PointerEscape.
38723876 if (AddressUseKind::Unknown == std::move (visitor).walk (markedAddress)) {
38733877 LLVM_DEBUG (llvm::dbgs ()
38743878 << " Failed access path visit: " << *markedAddress);
Original file line number Diff line number Diff line change @@ -583,6 +583,7 @@ bool siloptimizer::eliminateTemporaryAllocationsFromLet(
583583 };
584584 FindCopyAddrWalker walker (copiesToVisit);
585585 std::move (walker).walk (markedInst);
586+ // FIXME: should check walk() == AddressUseKind::NonEscaping.
586587
587588 bool madeChange = false ;
588589
@@ -612,6 +613,8 @@ bool siloptimizer::eliminateTemporaryAllocationsFromLet(
612613 nextCAI = nullptr ;
613614 SimpleTemporaryAllocStackElimVisitor visitor (state, cai, nextCAI);
614615
616+ // FIXME: should check AddressUseKind::NonEscaping != walk() to handle
617+ // PointerEscape.
615618 if (AddressUseKind::Unknown == std::move (visitor).walk (cai->getDest ()))
616619 return false ;
617620
Original file line number Diff line number Diff line change @@ -211,6 +211,8 @@ inferIsolationInfoForTempAllocStack(AllocStackInst *asi) {
211211 AddressWalker walker (state);
212212
213213 // If we fail to walk, emit an unknown patten error.
214+ //
215+ // FIXME: check AddressUseKind::NonEscaping != walk().
214216 if (AddressUseKind::Unknown == std::move (walker).walk (asi)) {
215217 return SILIsolationInfo ();
216218 }
You can’t perform that action at this time.
0 commit comments