[PATCH] D153805: Expose DataflowAnalysisContext.querySolver().
Sam McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 30 09:25:36 PDT 2023
sammccall accepted this revision.
sammccall added a comment.
Thanks!
As discussed offline, I had some concerns about whether there were any cases where it was safe to use formulas separate from the FC that might constrain them.
But we found some: these are formulas produced by the downstream analysis that have known structure.
================
Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h:183
+ /// been stored in flow conditions.
+ Solver::Result querySolver(llvm::DenseSet<BoolValue *> Constraints);
+
----------------
FWIW, I'd probably prefer exposing the solver object itself, having all capabilities exposed directly through DataflowAnalysisContext gives it this ugly "god object" quality and the places that we want to use it really just need arena + solver.
================
Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h:183
+ /// been stored in flow conditions.
+ Solver::Result querySolver(llvm::DenseSet<BoolValue *> Constraints);
+
----------------
sammccall wrote:
> FWIW, I'd probably prefer exposing the solver object itself, having all capabilities exposed directly through DataflowAnalysisContext gives it this ugly "god object" quality and the places that we want to use it really just need arena + solver.
this should be ArrayRef<BoolValue*> now... sorry for the churn
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153805/new/
https://reviews.llvm.org/D153805
More information about the cfe-commits
mailing list