================
@@ -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