diff options
author | martinboehme <mboehme@google.com> | 2023-10-23 08:18:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-23 08:18:12 +0200 |
commit | 3eed23d31caab9f19a8fa142aa26ee970a2c60ea (patch) | |
tree | d3fac5921b52613dca6315c1c96a0a372cb3466a /clang/unittests/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp | |
parent | 0374bbba4c455e5f862a32581cc8d37690fb3b60 (diff) | |
download | llvm-3eed23d31caab9f19a8fa142aa26ee970a2c60ea.zip llvm-3eed23d31caab9f19a8fa142aa26ee970a2c60ea.tar.gz llvm-3eed23d31caab9f19a8fa142aa26ee970a2c60ea.tar.bz2 |
[clang][dataflow] Remove `DataflowAnalysisContext::flowConditionIsTautology()`. (#69601)
It's only used in its own unit tests.
Diffstat (limited to 'clang/unittests/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp')
-rw-r--r-- | clang/unittests/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/clang/unittests/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp b/clang/unittests/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp index fb7642c..88eb110 100644 --- a/clang/unittests/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp +++ b/clang/unittests/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp @@ -99,33 +99,6 @@ TEST_F(DataflowAnalysisContextTest, JoinFlowConditions) { EXPECT_TRUE(Context.flowConditionImplies(FC3, C3)); } -TEST_F(DataflowAnalysisContextTest, FlowConditionTautologies) { - // Fresh flow condition with empty/no constraints is always true. - Atom FC1 = A.makeFlowConditionToken(); - EXPECT_TRUE(Context.flowConditionIsTautology(FC1)); - - // Literal `true` is always true. - Atom FC2 = A.makeFlowConditionToken(); - Context.addFlowConditionConstraint(FC2, A.makeLiteral(true)); - EXPECT_TRUE(Context.flowConditionIsTautology(FC2)); - - // Literal `false` is never true. - Atom FC3 = A.makeFlowConditionToken(); - Context.addFlowConditionConstraint(FC3, A.makeLiteral(false)); - EXPECT_FALSE(Context.flowConditionIsTautology(FC3)); - - // We can't prove that an arbitrary bool A is always true... - auto &C1 = A.makeAtomRef(A.makeAtom()); - Atom FC4 = A.makeFlowConditionToken(); - Context.addFlowConditionConstraint(FC4, C1); - EXPECT_FALSE(Context.flowConditionIsTautology(FC4)); - - // ... but we can prove A || !A is true. - Atom FC5 = A.makeFlowConditionToken(); - Context.addFlowConditionConstraint(FC5, A.makeOr(C1, A.makeNot(C1))); - EXPECT_TRUE(Context.flowConditionIsTautology(FC5)); -} - TEST_F(DataflowAnalysisContextTest, EquivBoolVals) { auto &X = A.makeAtomRef(A.makeAtom()); auto &Y = A.makeAtomRef(A.makeAtom()); |