[all-commits] [llvm/llvm-project] 9e842d: [clang][dataflow] Extend transfer functions for ot...

weiyi via All-commits all-commits at lists.llvm.org
Wed Aug 31 03:25:52 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9e842dd4bd551c42951d1a56bb9d9eef1fa6c385
      https://github.com/llvm/llvm-project/commit/9e842dd4bd551c42951d1a56bb9d9eef1fa6c385
  Author: Wei Yi Tee <wyt at google.com>
  Date:   2022-08-31 (Wed, 31 Aug 2022)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/SingleVarConstantPropagationTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h

  Log Message:
  -----------
  [clang][dataflow] Extend transfer functions for other `CFGElement`s

Previously, the transfer function `void transfer(const Stmt *, ...)` overriden by users is restricted to apply only on `CFGStmt`s and its contained `Stmt`.

By using a transfer function (`void transfer(const CFGElement *, ...)`) that takes a `CFGElement` as input, this patch extends user-defined analysis to all kinds of `CFGElement`. For example, users can now handle `CFGInitializer`s where `CXXCtorInitializer` AST nodes are contained.

Reviewed By: gribozavr2, sgatev

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




More information about the All-commits mailing list