[all-commits] [llvm/llvm-project] d3597e: [clang][dataflow] Enable merging distinct values i...

Stanislav Gatev via All-commits all-commits at lists.llvm.org
Wed Jan 26 03:42:21 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d3597ec0aaad11a670f45b42428628531d4b2c05
      https://github.com/llvm/llvm-project/commit/d3597ec0aaad11a670f45b42428628531d4b2c05
  Author: Stanislav Gatev <sgatev at google.com>
  Date:   2022-01-26 (Wed, 26 Jan 2022)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/Value.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Enable merging distinct values in Environment::join

Make specializations of `DataflowAnalysis` extendable with domain-specific
logic for merging distinct values when joining environments. This could be
a strict lattice join or a more general widening operation.

This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.

Reviewed-by: xazax.hun

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




More information about the All-commits mailing list