[PATCH] D137948: [clang][dataflow] Add widening API and implement it for built-in boolean model.
Yitzhak Mandelbaum via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 14 07:19:30 PST 2022
ymandel created this revision.
ymandel added reviewers: xazax.hun, gribozavr2, 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.
- Adds API support for widening of lattice elements and environments,
- Updates the algorithm to apply widening where appropriate,
- Implements widening for boolean values. In the process, moves the unsoundness of comparison from the default implementation of `Environment::ValueModel::compare` to model-specific handling inside `DataflowEnvironment::equivalentTo`. This change is intended to clarify the source and location of unsoundess.
This patch is a replacement for, and was based substantially on, https://reviews.llvm.org/D131645.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D137948
Files:
clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
clang/include/clang/Analysis/FlowSensitive/Value.h
clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137948.475141.patch
Type: text/x-patch
Size: 26999 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20221114/0e6e920f/attachment-0001.bin>
More information about the cfe-commits
mailing list