[PATCH] D130519: [clang][dataflow] Add explicit "AST" nodes for implications and iff

Stanislav Gatev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 26 00:45:14 PDT 2022


sgatev accepted this revision.
sgatev added inline comments.


================
Comment at: clang/include/clang/Analysis/FlowSensitive/Value.h:40-41
 
     // Synthetic boolean values are either atomic values or composites that
     // represent conjunctions, disjunctions, and negations.
     AtomicBool,
----------------



================
Comment at: clang/lib/Analysis/FlowSensitive/DebugSupport.cpp:110
+      auto R = debugString(BV.getRightSubValue(), Depth + 1);
+      S = formatv("(=\n{0}\n{1})", L, R);
+      break;
----------------
I think `<=>` would be more natural.


================
Comment at: clang/unittests/Analysis/FlowSensitive/SolverTest.cpp:201
+
+  expectUnsatisfiable(solve({NotEquivalent}));
+}
----------------
Let's add a label: `!((X <=> Y) <=> ((X ^ Y) v (!X ^ !Y)))`


================
Comment at: clang/unittests/Analysis/FlowSensitive/SolverTest.cpp:303
+
+  expectUnsatisfiable(solve({NotEquivalent}));
+}
----------------
Let's add a label: `!((X => Y) <=> (!X v Y))`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D130519/new/

https://reviews.llvm.org/D130519



More information about the cfe-commits mailing list