[all-commits] [llvm/llvm-project] 39b9d4: [clang][dataflow] Add support for a Top value in b...

Yitzhak Mandelbaum via All-commits all-commits at lists.llvm.org
Fri Oct 14 10:42:22 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 39b9d4f188ca1f99515658334d57c2961db33289
      https://github.com/llvm/llvm-project/commit/39b9d4f188ca1f99515658334d57c2961db33289
  Author: Yitzhak Mandelbaum <yitzhakm at google.com>
  Date:   2022-10-14 (Fri, 14 Oct 2022)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Value.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/DebugSupport.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp
    M clang/unittests/Analysis/FlowSensitive/SolverTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Add support for a Top value in boolean formulas.

Currently, our boolean formulas (`BoolValue`) don't form a lattice, since they
have no Top element. This patch adds such an element, thereby "completing" the
built-in model of bools to be a proper semi-lattice. It still has infinite
height, which is its own problem, but that can be solved separately, through
widening and the like.

Patch 1 for Issue #56931.

Differential Revision: https://reviews.llvm.org/D135397




More information about the All-commits mailing list