#
3dd7877b |
| 09-Mar-2022 |
Stanislav Gatev <sgatev@google.com> |
Revert "[clang][dataflow] Move dataflow testing support out of unittests"
This reverts commit 26bbde2612b2042c3a8a31aed7f45e065c3dd413.
|
#
26bbde26 |
| 09-Mar-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Move dataflow testing support out of unittests
This enables tests out of clang/unittests/Analysis/FlowSensitive to use the testing support utilities.
Reviewed-by: ymandel, griboza
[clang][dataflow] Move dataflow testing support out of unittests
This enables tests out of clang/unittests/Analysis/FlowSensitive to use the testing support utilities.
Reviewed-by: ymandel, gribozavr2
Differential Revision: https://reviews.llvm.org/D121285
show more ...
|
#
e0cc28df |
| 09-Mar-2022 |
Stanislav Gatev <sgatev@google.com> |
Revert "[clang][dataflow] Add analysis that detects unsafe accesses to optionals"
This reverts commit ce205cffdfa0f16ce9441ba46fa43e23cecf8be7.
|
#
ce205cff |
| 08-Mar-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add analysis that detects unsafe accesses to optionals
Adds a dataflow analysis that detects unsafe accesses to values of type `std::optional`, `absl::optional`, or `base::Optional
[clang][dataflow] Add analysis that detects unsafe accesses to optionals
Adds a dataflow analysis that detects unsafe accesses to values of type `std::optional`, `absl::optional`, or `base::Optional`.
Reviewed-by: ymandel, xazax.hun
Differential Revision: https://reviews.llvm.org/D121197
show more ...
|
#
18c84e2d |
| 07-Mar-2022 |
Yitzhak Mandelbaum <yitzhakm@google.com> |
[clang][dataflow] Fix nullptr dereferencing error.
When pre-initializing fields in the environment, the code assumed that all fields of a struct would be initialized. However, given limits on value
[clang][dataflow] Fix nullptr dereferencing error.
When pre-initializing fields in the environment, the code assumed that all fields of a struct would be initialized. However, given limits on value construction, that assumption is incorrect. This patch changes the code to drop that assumption and thereby avoid dereferencing a nullptr.
Differential Revision: https://reviews.llvm.org/D121158
show more ...
|
#
1e571585 |
| 04-Mar-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Extend flow conditions from block terminators
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-
[clang][dataflow] Extend flow conditions from block terminators
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: ymandel, xazax.hun
Differential Revision: https://reviews.llvm.org/D120984
show more ...
|
#
baa0f221 |
| 23-Feb-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Update StructValue child when assigning a value
When assigning a value to a storage location of a struct member we need to also update the value in the corresponding `StructValue`.
[clang][dataflow] Update StructValue child when assigning a value
When assigning a value to a storage location of a struct member we need to also update the value in the corresponding `StructValue`.
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: ymandel, xazax.hun
Differential Revision: https://reviews.llvm.org/D120414
show more ...
|
#
03dff121 |
| 23-Feb-2022 |
Stanislav Gatev <sgatev@google.com> |
Revert "Revert "[clang][dataflow] Add support for global storage values""
This reverts commit 169e1aba55bed9f7ffa000f9f170ab2defbc40b2.
It also fixes an incorrect assumption in `initGlobalVars`.
|
#
169e1aba |
| 23-Feb-2022 |
Stanislav Gatev <sgatev@google.com> |
Revert "[clang][dataflow] Add support for global storage values"
This reverts commit 7ea103de140b59a64fc884fa90afd2213619384d.
|
#
7ea103de |
| 18-Feb-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add support for global storage values
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
Re
[clang][dataflow] Add support for global storage values
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: ymandel, xazax.hun
Differential Revision: https://reviews.llvm.org/D120149
show more ...
|
#
dd4dde8d |
| 16-Feb-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add transfer functions for logical and, or, not.
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on c
[clang][dataflow] Add transfer functions for logical and, or, not.
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/D119953
show more ...
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init |
|
#
35951892 |
| 25-Jan-2022 |
Yitzhak Mandelbaum <yitzhakm@google.com> |
[clang][dataflow] Allow clients to disable built-in transfer functions.
These built-in functions build the (sophisticated) model of the code's memory. This model isn't used by all analyses, so we pr
[clang][dataflow] Allow clients to disable built-in transfer functions.
These built-in functions build the (sophisticated) model of the code's memory. This model isn't used by all analyses, so we provide for disabling it to avoid incurring the costs associated with its construction.
Differential Revision: https://reviews.llvm.org/D118178
show more ...
|
#
75c22b38 |
| 26-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add a transfer function for CXXBoolLiteralExpr
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe
[clang][dataflow] Add a transfer function for CXXBoolLiteralExpr
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/D118236
show more ...
|
#
d3597ec0 |
| 24-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Enable merging distinct values in Environment::join
Make specializations of `DataflowAnalysis` extendable with domain-specific logic for merging distinct values when joining enviro
[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
show more ...
|
#
188d28f7 |
| 26-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Assign aggregate storage locations to union stmts
This patch ensures that the dataflow analysis framework does not crash when it encounters access to members of union types.
This
[clang][dataflow] Assign aggregate storage locations to union stmts
This patch ensures that the dataflow analysis framework does not crash when it encounters access to members of union types.
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/D118226
show more ...
|
#
64ba462b |
| 24-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add a transfer function for InitListExpr
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
[clang][dataflow] Add a transfer function for InitListExpr
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/D118119
show more ...
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
#
c95cb4de |
| 20-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Intersect ExprToLoc when joining environments
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-
[clang][dataflow] Intersect ExprToLoc when joining environments
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/D117754
show more ...
|
#
8e53ae3d |
| 19-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add a transfer function for conditional operator
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on c
[clang][dataflow] Add a transfer function for conditional operator
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/D117667
show more ...
|
#
acd4b035 |
| 19-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
Revert "Revert "[clang][dataflow] Add a test to justify skipping past references in UO_Deref""
This reverts commit a0262043bb87fdef68c817722de320a5dd9eb9c9.
Add the -fno-delayed-template-parsing ar
Revert "Revert "[clang][dataflow] Add a test to justify skipping past references in UO_Deref""
This reverts commit a0262043bb87fdef68c817722de320a5dd9eb9c9.
Add the -fno-delayed-template-parsing arg to fix the failing test on Windows.
show more ...
|
#
a0262043 |
| 19-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
Revert "[clang][dataflow] Add a test to justify skipping past references in UO_Deref"
This reverts commit 68226e572f41105446413b12ee95ab5540b2b6ac.
|
#
68226e57 |
| 18-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add a test to justify skipping past references in UO_Deref
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang
[clang][dataflow] Add a test to justify skipping past references in UO_Deref
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/D117567
show more ...
|
#
59e031ff |
| 17-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add transfer function for addrof
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
Reviewe
[clang][dataflow] Add transfer function for addrof
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/D117496
show more ...
|
#
875117ae |
| 14-Jan-2022 |
Yitzhak Mandelbaum <yitzhakm@google.com> |
[clang][dataflow] Remove TestingSupport's dependency on gtest
Users outside of the clang repo may use different googletest versions. So, it's better not to depend on llvm's googletest. This patch re
[clang][dataflow] Remove TestingSupport's dependency on gtest
Users outside of the clang repo may use different googletest versions. So, it's better not to depend on llvm's googletest. This patch removes the dependency by having `checkDataflow` return an `llvm::Error` instead of calling googletest's `FAIL` or `ASSERT...` macros.
Differential Revision: https://reviews.llvm.org/D117304
show more ...
|
#
37e6496c |
| 14-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add transfer functions for bind temporary and static cast
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang
[clang][dataflow] Add transfer functions for bind temporary and static cast
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
Differential Revision: https://reviews.llvm.org/D117339
show more ...
|
#
7d941d6d |
| 13-Jan-2022 |
Stanislav Gatev <sgatev@google.com> |
[clang][dataflow] Add transfer functions for constructors
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
[clang][dataflow] Add transfer functions for constructors
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: ymandel, xazax.hun
Differential Revision: https://reviews.llvm.org/D117218
show more ...
|