aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/CaptureTracking.cpp
diff options
context:
space:
mode:
authorMax Kazantsev <mkazantsev@azul.com>2023-03-15 14:21:11 +0700
committerMax Kazantsev <mkazantsev@azul.com>2023-03-15 14:22:14 +0700
commit564ed0bd2245d4477dfd1c2f610294eff697edab (patch)
tree1f0db933941eb84091c5b3c5e7127b0ddcf744b9 /llvm/lib/Analysis/CaptureTracking.cpp
parent9d0e5e79b0f355218b2a64f0d54507b96adb71eb (diff)
downloadllvm-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.cpp13
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;
}