================
@@ -369,4 +401,20 @@ llvm::SmallVector<OriginID> 
LoanPropagationAnalysis::buildOriginFlowChain(
     const UseFact *UF, const LoanID TargetLoan, const CFG *Cfg) const {
   return PImpl->buildOriginFlowChain(UF, TargetLoan, Cfg);
 }
+
+llvm::SmallVector<const OriginFlowFact *>
+LoanPropagationAnalysis::buildOriginFlowChainWithFacts(ProgramPoint StartPoint,
+                                                       const OriginID StartOID,
+                                                       const LoanID TargetLoan,
+                                                       const CFG *Cfg) const {
+  return PImpl->buildOriginFlowChainWithFacts(StartPoint, StartOID, TargetLoan,
+                                              Cfg);
+}
+
+llvm::SmallVector<const OriginFlowFact *>
+LoanPropagationAnalysis::buildOriginFlowChainWithFacts(const UseFact *UF,
+                                                       const LoanID TargetLoan,
+                                                       const CFG *Cfg) const {
+  return PImpl->buildOriginFlowChainWithFacts(UF, TargetLoan, Cfg);
+}
----------------
iitianpushkar wrote:

This was only needed because the current patch uses the `OriginFlowFact *` as a 
key into the lifetimebound side table.
Right now, I am going to try Xazax’s suggestion to re-derive the lifetimebound 
provenance during diagnostic reporting instead. If that works, this API can be 
removed and `buildOriginFlowChain` can stay as-is returning `OriginID`.
If re-deriving does not work for some cases, I will come back to this and 
either make the existing API return flow facts directly or explain why the 
separate API is needed.

https://github.com/llvm/llvm-project/pull/206337
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to