diff options
author | Max Kazantsev <mkazantsev@azul.com> | 2023-03-15 14:21:11 +0700 |
---|---|---|
committer | Max Kazantsev <mkazantsev@azul.com> | 2023-03-15 14:22:14 +0700 |
commit | 564ed0bd2245d4477dfd1c2f610294eff697edab (patch) | |
tree | 1f0db933941eb84091c5b3c5e7127b0ddcf744b9 /llvm/lib/Analysis/CaptureTracking.cpp | |
parent | 9d0e5e79b0f355218b2a64f0d54507b96adb71eb (diff) | |
download | llvm-564ed0bd2245d4477dfd1c2f610294eff697edab.zip llvm-564ed0bd2245d4477dfd1c2f610294eff697edab.tar.gz llvm-564ed0bd2245d4477dfd1c2f610294eff697edab.tar.bz2 |
[NFC] Add some debug printouts to CaptureTracking
Diffstat (limited to 'llvm/lib/Analysis/CaptureTracking.cpp')
-rw-r--r-- | llvm/lib/Analysis/CaptureTracking.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/CaptureTracking.cpp b/llvm/lib/Analysis/CaptureTracking.cpp index 34a3204..e293197 100644 --- a/llvm/lib/Analysis/CaptureTracking.cpp +++ b/llvm/lib/Analysis/CaptureTracking.cpp @@ -80,7 +80,10 @@ namespace { const SmallPtrSetImpl<const Value *> &EphValues, bool ReturnCaptures) : EphValues(EphValues), ReturnCaptures(ReturnCaptures) {} - void tooManyUses() override { Captured = true; } + void tooManyUses() override { + LLVM_DEBUG(dbgs() << "Captured due to too many uses\n"); + Captured = true; + } bool captured(const Use *U) override { if (isa<ReturnInst>(U->getUser()) && !ReturnCaptures) @@ -89,6 +92,8 @@ namespace { if (EphValues.contains(U->getUser())) return false; + LLVM_DEBUG(dbgs() << "Captured by: " << *U->getUser() << "\n"); + Captured = true; return true; } @@ -233,12 +238,16 @@ bool llvm::PointerMayBeCaptured(const Value *V, bool ReturnCaptures, // take advantage of this. (void)StoreCaptures; + LLVM_DEBUG(dbgs() << "Captured?: " << *V << " = "); + SimpleCaptureTracker SCT(EphValues, ReturnCaptures); PointerMayBeCaptured(V, &SCT, MaxUsesToExplore); if (SCT.Captured) ++NumCaptured; - else + else { ++NumNotCaptured; + LLVM_DEBUG(dbgs() << "not captured\n"); + } return SCT.Captured; } |