Commit Graph

4 Commits

Author SHA1 Message Date
Yitzhak Mandelbaum 875117ae7a [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
2022-01-17 15:33:23 +00:00
Yitzhak Mandelbaum 64f7b2d4bf [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
2022-01-10 14:45:30 +00:00
Alexandre Ganea a5af260d3e Silence warning with MSVC compiler.
D:\git\llvm-project\clang\unittests\Analysis\FlowSensitive\MultiVarConstantPropagationTest.cpp(104) : warning C4715: 'clang::dataflow::`anonymous namespace'::operator<<': not all control paths return a value
2022-01-06 16:51:37 -05:00
Yitzhak Mandelbaum 4950198116 [clang][dataflow] Add multi-variable constant propagation example.
Adds another constant-propagation analysis that covers all variables in
the scope (vs the existing single-variable demo). But, the analysis is still
unsuited to use, in that ignores issues of escaping variables.

Differential Revision: https://reviews.llvm.org/D116370
2022-01-04 14:28:23 +00:00