[PATCH] D131280: [clang][dataflow] Parameterize analysis by explicit map of analyzable functions.

Yitzhak Mandelbaum via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 5 12:14:20 PDT 2022


ymandel created this revision.
ymandel added reviewers: samestep, xazax.hun, sgatev.
Herald added subscribers: martong, rnkovacs.
Herald added a reviewer: NoQ.
Herald added a project: All.
ymandel requested review of this revision.
Herald added a project: clang.

This patch evolves the cache of `ControlFlowContext`s into a parameter that the
user can supply. Specifically, the system now limits inline analysis of function
calls specifically to those functions contained in a user-supplied map from
"fully qualified name" to `ControlFlowContext`.

To avoid the cost of generating the fully qualified function name for every
`CallExpr`, we cache the results of the map lookup in an intermediary map over
`FunctionDecl*`s.

Part of issue #56879


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D131280

Files:
  clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
  clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
  clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
  clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
  clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
  clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
  clang/lib/Analysis/FlowSensitive/Transfer.cpp
  clang/unittests/Analysis/FlowSensitive/TestingSupport.h
  clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131280.450350.patch
Type: text/x-patch
Size: 41290 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220805/4f82125d/attachment-0001.bin>


More information about the cfe-commits mailing list