[llvm] 564ed0b - [NFC] Add some debug printouts to CaptureTracking

Max Kazantsev via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 15 00:22:37 PDT 2023


Author: Max Kazantsev
Date: 2023-03-15T14:22:14+07:00
New Revision: 564ed0bd2245d4477dfd1c2f610294eff697edab

URL: https://github.com/llvm/llvm-project/commit/564ed0bd2245d4477dfd1c2f610294eff697edab
DIFF: https://github.com/llvm/llvm-project/commit/564ed0bd2245d4477dfd1c2f610294eff697edab.diff

LOG: [NFC] Add some debug printouts to CaptureTracking

Added: 
    

Modified: 
    llvm/lib/Analysis/CaptureTracking.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Analysis/CaptureTracking.cpp b/llvm/lib/Analysis/CaptureTracking.cpp
index 34a320435c0a7..e2931973112b4 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;
 }
 


        


More information about the llvm-commits mailing list