Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4 |
|
#
e955e4fb |
| 05-May-2023 |
Kazu Hirata <kazu@google.com> |
[clang] Replace None with std::nullopt in comments (NFC)
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue
[clang] Replace None with std::nullopt in comments (NFC)
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
Revision tags: llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3 |
|
#
6b991ba4 |
| 13-Feb-2023 |
Yitzhak Mandelbaum <yitzhakm@google.com> |
[clang][dataflow] Change `transfer` API to take a reference.
The provided `CFGElement` is never null, so a reference is a more precise type.
Differential Revision: https://reviews.llvm.org/D143920
|
Revision tags: llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
2d861436 |
| 14-Jan-2023 |
Kazu Hirata <kazu@google.com> |
[clang] Remove remaining uses of llvm::Optional (NFC)
This patch removes several "using" declarations and #include "llvm/ADT/Optional.h".
This is part of an effort to migrate from llvm::Optional to
[clang] Remove remaining uses of llvm::Optional (NFC)
This patch removes several "using" declarations and #include "llvm/ADT/Optional.h".
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
6ad0788c |
| 14-Jan-2023 |
Kazu Hirata <kazu@google.com> |
[clang] Use std::optional instead of llvm::Optional (NFC)
This patch replaces (llvm::|)Optional< with std::optional<. I'll post a separate patch to remove #include "llvm/ADT/Optional.h".
This is p
[clang] Use std::optional instead of llvm::Optional (NFC)
This patch replaces (llvm::|)Optional< with std::optional<. I'll post a separate patch to remove #include "llvm/ADT/Optional.h".
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
a1580d7b |
| 14-Jan-2023 |
Kazu Hirata <kazu@google.com> |
[clang] Add #include <optional> (NFC)
This patch adds #include <optional> to those files containing llvm::Optional<...> or Optional<...>.
I'll post a separate patch to actually replace llvm::Option
[clang] Add #include <optional> (NFC)
This patch adds #include <optional> to those files containing llvm::Optional<...> or Optional<...>.
I'll post a separate patch to actually replace llvm::Optional with std::optional.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
3432f4bf |
| 12-Jan-2023 |
Jordan Rupprecht <rupprecht@google.com> |
[test] Split out Annotations from `TestingSupport`
The Annotations helper class does not have a gtest or gmock dependency, but because it's bundled with the rest of TestingSupport, it gets one. By s
[test] Split out Annotations from `TestingSupport`
The Annotations helper class does not have a gtest or gmock dependency, but because it's bundled with the rest of TestingSupport, it gets one. By splitting it out, a target can use it without being forced to use LLVM's copy of gtest.
Reviewed By: GMNGeoffrey, sammccall, gribozavr2
Differential Revision: https://reviews.llvm.org/D141175
show more ...
|
Revision tags: llvmorg-15.0.7 |
|
#
f7dffc28 |
| 10-Dec-2022 |
Kazu Hirata <kazu@google.com> |
Don't include None.h (NFC)
I've converted all known uses of None to std::nullopt, so we no longer need to include None.h.
This is part of an effort to migrate from llvm::Optional to std::optional:
Don't include None.h (NFC)
I've converted all known uses of None to std::nullopt, so we no longer need to include None.h.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
a41fbb1f |
| 03-Dec-2022 |
Kazu Hirata <kazu@google.com> |
[clang/unittests] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the a
[clang/unittests] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1 |
|
#
cf94c52e |
| 19-Sep-2022 |
Wei Yi Tee <wyt@google.com> |
[clang][dataflow] Replace `transfer(const Stmt *, ...)` with `transfer(const CFGElement *, ...)` in `clang/Analysis/FlowSensitive`.
Reviewed By: gribozavr2, sgatev
Differential Revision: https://re
[clang][dataflow] Replace `transfer(const Stmt *, ...)` with `transfer(const CFGElement *, ...)` in `clang/Analysis/FlowSensitive`.
Reviewed By: gribozavr2, sgatev
Differential Revision: https://reviews.llvm.org/D133931
show more ...
|
#
9cbdef61 |
| 16-Sep-2022 |
Wei Yi Tee <wyt@google.com> |
[clang][dataflow] Replace usage of the deprecated overload of `checkDataflow`.
Updated files: - `ChromiumCheckModelTest.cpp`. - `MatchSwitchTest.cpp`. - `MultiVarConstantPropagationTest.cpp`. - `Sin
[clang][dataflow] Replace usage of the deprecated overload of `checkDataflow`.
Updated files: - `ChromiumCheckModelTest.cpp`. - `MatchSwitchTest.cpp`. - `MultiVarConstantPropagationTest.cpp`. - `SingleVarConstantPropagationTest.cpp`. - `TestingSupportTest.cpp`. - `TransferTest.cpp`.
Reviewed By: gribozavr2, sgatev
Differential Revision: https://reviews.llvm.org/D133865
show more ...
|
Revision tags: llvmorg-15.0.0 |
|
#
9e842dd4 |
| 31-Aug-2022 |
Wei Yi Tee <wyt@google.com> |
[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
[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
show more ...
|
Revision tags: llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
1d83a16b |
| 30-Jun-2022 |
Sam Estep <sam@samestep.com> |
[clang][dataflow] Replace TEST_F with TEST where possible
Many of our tests are currently written using `TEST_F` where the test fixture class doesn't have any `SetUp` or `TearDown` methods, and just
[clang][dataflow] Replace TEST_F with TEST where possible
Many of our tests are currently written using `TEST_F` where the test fixture class doesn't have any `SetUp` or `TearDown` methods, and just one helper method. In those cases, this patch deletes the class and pulls its method out into a standalone function, using `TEST` instead of `TEST_F`.
There are still a few test files leftover in `clang/unittests/Analysis/FlowSensitive/` that use `TEST_F`:
- `DataflowAnalysisContextTest.cpp` because the class contains a `Context` field which is used - `DataflowEnvironmentTest.cpp` because the class contains an `Environment` field which is used - `SolverTest.cpp` because the class contains a `Vals` field which is used - `TypeErasedDataflowAnalysisTest.cpp` because there are several different classes which all share the same method name
Reviewed By: ymandel, sgatev
Differential Revision: https://reviews.llvm.org/D128924
show more ...
|
#
b8df4093 |
| 25-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[clang, clang-tools-extra] Don't use Optional::{hasValue,getValue} (NFC)
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
#
dcb4950d |
| 07-Jun-2022 |
Sam Estep <sam@samestep.com> |
[clang][dataflow][NFC] Fix filename typos in tests
Reviewed By: ymandel
Differential Revision: https://reviews.llvm.org/D127008
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
#
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 ...
|
Revision tags: llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
#
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 ...
|
Revision tags: llvmorg-13.0.1-rc2 |
|
#
64f7b2d4 |
| 07-Jan-2022 |
Yitzhak Mandelbaum <yitzhakm@google.com> |
[clang][dataflow] Change `transfer` function to update lattice element in place.
Currently, the transfer function returns a new lattice element, which forces an unnecessary copy on processing each C
[clang][dataflow] Change `transfer` function to update lattice element in place.
Currently, the transfer function returns a new lattice element, which forces an unnecessary copy on processing each CFG statement.
Differential Revision: https://reviews.llvm.org/D116834
show more ...
|
#
8561e15c |
| 16-Dec-2021 |
Yitzhak Mandelbaum <yitzhakm@google.com> |
[clang][dataflow] Fix unused-variable warning.
|
#
8179e1fd |
| 14-Dec-2021 |
Yitzhak Mandelbaum <yitzhakm@google.com> |
[clang][dataflow] Add simplistic constant-propagation analysis.
Adds a very simple constant-propagation analysis for demo and testing purposes.
Differential Revision: https://reviews.llvm.org/D1157
[clang][dataflow] Add simplistic constant-propagation analysis.
Adds a very simple constant-propagation analysis for demo and testing purposes.
Differential Revision: https://reviews.llvm.org/D115740
show more ...
|