]> granicus.if.org Git - clang/commit
Add a basic CallGraph to Analysis.
authorAnna Zaks <ganna@apple.com>
Thu, 8 Mar 2012 00:42:23 +0000 (00:42 +0000)
committerAnna Zaks <ganna@apple.com>
Thu, 8 Mar 2012 00:42:23 +0000 (00:42 +0000)
commit196b8cfe9cfcc452eb2f83aa4ad330c2324f8c7d
treeea3a4db00450824ae99c91aabe9dddb2aad8b84d
parenta34194f035096dd8dce10574e3a186da968aa211
Add a basic CallGraph to Analysis.

The final graph contains a single root node, which is a parent of all externally available functions(and 'main'). As well as a list of Parentless/Unreachable functions, which are either truly unreachable or are unreachable due to our analyses imprecision.

The analyzer checkers debug.DumpCallGraph or debug.ViewGraph can be used to look at the produced graph.

Currently, the graph is not very precise, for example, it entirely skips edges resulted from ObjC method calls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152272 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Analysis/CallGraph.h [new file with mode: 0644]
lib/Analysis/CMakeLists.txt
lib/Analysis/CallGraph.cpp [new file with mode: 0644]
lib/StaticAnalyzer/Checkers/Checkers.td
lib/StaticAnalyzer/Checkers/DebugCheckers.cpp
test/Analysis/debug-CallGraph.c [new file with mode: 0644]