[PATCH] D115235: [clang][dataflow] Implement a basic algorithm for dataflow analysis
Nico Weber via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 10 04:45:05 PST 2021
thakis added inline comments.
================
Comment at: clang/unittests/Analysis/FlowSensitive/CMakeLists.txt:1
+set(LLVM_LINK_COMPONENTS
+ Support
----------------
sgatev wrote:
> ymandel wrote:
> > Why create a new sub directory? From what I've seen elsewhere, it seems uncommon. I'm fine either way, but want to be sure we have a good reason for differing.
> I created the directory to match the structure in llvm-project/clang/include/clang/Analysis/FlowSensitive and llvm-project/clang/lib/Analysis/FlowSensitive. In general, I think it'd be easier to find related code if it's structured similarly. If this doesn't follow the established practices for the project I'd be happy to change it.
I'm also confused by this.
Would this work:
```
% git diff
diff --git a/clang/lib/Analysis/CMakeLists.txt b/clang/lib/Analysis/CMakeLists.txt
index 16e3f474060c..eec02b31a9a8 100644
--- a/clang/lib/Analysis/CMakeLists.txt
+++ b/clang/lib/Analysis/CMakeLists.txt
@@ -18,6 +18,7 @@ add_clang_library(clangAnalysis
CodeInjector.cpp
Dominators.cpp
ExprMutationAnalyzer.cpp
+ FlowSensitive/TypeErasedDataflowAnalysis.cpp
IssueHash.cpp
LiveVariables.cpp
MacroExpansionContext.cpp
@@ -44,4 +45,3 @@ add_clang_library(clangAnalysis
)
add_subdirectory(plugins)
-add_subdirectory(FlowSensitive)
diff --git a/clang/unittests/Analysis/CMakeLists.txt b/clang/unittests/Analysis/CMakeLists.txt
index 7e2a00b96057..f1cb402268c0 100644
--- a/clang/unittests/Analysis/CMakeLists.txt
+++ b/clang/unittests/Analysis/CMakeLists.txt
@@ -8,6 +8,7 @@ add_clang_unittest(ClangAnalysisTests
CFGTest.cpp
CloneDetectionTest.cpp
ExprMutationAnalyzerTest.cpp
+ FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
MacroExpansionContextTest.cpp
)
```
Or do the flow-sensitive analyses have different library dependencies and there are places that want to depend on analysis without the flow sensitive bits or the other way round?
(Why are these files in a subdirectory at all?)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115235/new/
https://reviews.llvm.org/D115235
More information about the cfe-commits
mailing list