diff options
author | Sam McCall <sam.mccall@gmail.com> | 2023-10-19 10:57:06 +0200 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2023-10-19 11:34:08 +0200 |
commit | 7338eb561c48803ec244cd6116154163f56e9717 (patch) | |
tree | ee0fb053d8ff078c83aadb32d206a5ab71e80f3f /clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp | |
parent | d4041301342523047a9fd9faf78ea9ec67ac5d32 (diff) | |
download | llvm-7338eb561c48803ec244cd6116154163f56e9717.zip llvm-7338eb561c48803ec244cd6116154163f56e9717.tar.gz llvm-7338eb561c48803ec244cd6116154163f56e9717.tar.bz2 |
Reapply "[dataflow] use true/false literals in formulas, rather than variables"
This reverts commit 3353f7dd3d91c9b2b6a15ba9229bee53e0cb8196.
Fixed test bug (unspecified order of arg evaluation)
Diffstat (limited to 'clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp')
-rw-r--r-- | clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp b/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp index fa9b40f..9f6984e 100644 --- a/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp +++ b/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp @@ -141,8 +141,6 @@ DataflowAnalysisContext::joinFlowConditions(Atom FirstToken, Solver::Result DataflowAnalysisContext::querySolver( llvm::SetVector<const Formula *> Constraints) { - Constraints.insert(&arena().makeLiteral(true)); - Constraints.insert(&arena().makeNot(arena().makeLiteral(false))); return S->solve(Constraints.getArrayRef()); } @@ -213,13 +211,8 @@ void DataflowAnalysisContext::dumpFlowCondition(Atom Token, Constraints.insert(&arena().makeAtomRef(Token)); addTransitiveFlowConditionConstraints(Token, Constraints); - // TODO: have formulas know about true/false directly instead - Atom True = arena().makeLiteral(true).getAtom(); - Atom False = arena().makeLiteral(false).getAtom(); - Formula::AtomNames Names = {{False, "false"}, {True, "true"}}; - for (const auto *Constraint : Constraints) { - Constraint->print(OS, &Names); + Constraint->print(OS); OS << "\n"; } } |