[clang] [LifetimeSafety] Add multi-block support to buildOriginFlowChain (PR #204592)
Utkarsh Saxena via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 25 00:29:50 PDT 2026
================
@@ -202,53 +202,75 @@ class AnalysisImpl
return getLoans(getState(P), OID);
}
- llvm::SmallVector<OriginID>
- buildOriginFlowChain(ProgramPoint StartPoint, const OriginID StartOID,
- const LoanID TargetLoan) const {
+ llvm::SmallVector<OriginID> buildOriginFlowChain(ProgramPoint StartPoint,
+ const OriginID StartOID,
+ const LoanID TargetLoan,
+ const CFG *Cfg) const {
assert(getLoans(StartOID, StartPoint).contains(TargetLoan) &&
"TargetLoan must be present in the StartOID at the StartPoint");
+ DEBUG_WITH_TYPE("LifetimeBuildOriginFlow",
+ llvm::dbgs()
+ << "==========================================\n");
+ DEBUG_WITH_TYPE("LifetimeBuildOriginFlow",
+ llvm::dbgs() << " Lifetime Analysis buildOriginFlow\n");
+ DEBUG_WITH_TYPE("LifetimeBuildOriginFlow",
+ llvm::dbgs()
+ << "==========================================\n");
+ DEBUG_WITH_TYPE("LifetimeBuildOriginFlow",
+ llvm::dbgs() << "StartOriginID: " << StartOID
+ << ", TargetLoanID: " << TargetLoan << "\n\n");
----------------
usx95 wrote:
Consider merging into a single debug statement:
```cpp
DEBUG_WITH_TYPE("LifetimeBuildOriginFlow",
llvm::dbgs() << "==========================================\n"
<< " Lifetime Analysis buildOriginFlow\n"
<< "==========================================\n"
<< "StartOriginID: " << StartOID
<< ", TargetLoanID: " << TargetLoan << "\n\n");
```
https://github.com/llvm/llvm-project/pull/204592
More information about the cfe-commits
mailing list