summaryrefslogtreecommitdiffstats
path: root/clang/lib/Checker/CallInliner.cpp
Commit message (Collapse)AuthorAgeFilesLines
* remove CallInliner.cpp.Zhongxing Xu2010-07-191-0/+0
| | | | llvm-svn: 108670
* Reapply r108617.Zhongxing Xu2010-07-191-54/+0
| | | | llvm-svn: 108668
* Revert r108617, it broke the build.Benjamin Kramer2010-07-171-0/+54
| | | | llvm-svn: 108621
* Prepare the analyzer for the callee in another translation unit:Zhongxing Xu2010-07-171-54/+0
| | | | | | | Let AnalysisContext contain a TranslationUnit. Let CallEnter refer to an AnalysisContext instead of a FunctionDecl. llvm-svn: 108617
* Introduce Decl::hasBody() and FunctionDecl::hasBody() and use them instead ↵Argyrios Kyrtzidis2010-07-071-1/+1
| | | | | | | | of getBody() when we are just checking the existence of a body, to avoid de-serialization of the body from PCH. Makes de-serialization of the function body even more "lazier". llvm-svn: 107768
* Use getBody() to get the function definition when the decl referenced is notZhongxing Xu2010-02-281-1/+1
| | | | | | definition. llvm-svn: 97373
* Restore Zhongxing's commits r97122 r97127 r97129 r97131 which were reverted ↵Douglas Gregor2010-02-251-73/+3
| | | | | | due to a Clang-on-Clang failure llvm-svn: 97162
* Revert patches r97122 r97127 r97129 r97131.Jakob Stoklund Olesen2010-02-251-3/+73
| | | | | | They were breaking clang-x86_64-darwin10-selfhost llvm-svn: 97138
* Move the GenerateCallExitNode logic completely into GREndPathNodeBuilder.Zhongxing Xu2010-02-251-15/+0
| | | | llvm-svn: 97131
* Move the dead bindings removal logic from CallInliner to ↵Zhongxing Xu2010-02-251-12/+2
| | | | | | GRExprEngine::ProcessCallExit(). llvm-svn: 97129
* Call inliner improvements:Zhongxing Xu2010-02-251-50/+5
| | | | | | | | | | | | | | This patch implements the CallEnter/CallExit idea of Ted. Add two interfaces to GRSubEngine: ProcessCallEnter, ProcessCallExit. The CallEnter program point uses caller's location context. The CallExit program point uses callee's location context. CallEnter is built by GRStmtNodeBuilder. CallExit is built by GREndPathNodeBuilder. llvm-svn: 97122
* In symbol reaper, a variable is live if its stack frame is the parent of the Zhongxing Xu2010-02-171-3/+14
| | | | | | | | current stack frame. When leaving a callee, remove all bindings belonging to that callee. llvm-svn: 96473
* Revert 95541.Ted Kremenek2010-02-081-1/+1
| | | | llvm-svn: 95545
* Rename: GRState::getSVal(Stmt*) => getExprVal(),Zhongxing Xu2010-02-081-1/+1
| | | | | | GRState::getSVal(MemRegion*) => Load(). llvm-svn: 95541
* Move 'LocalCheckers.h' to the 'Checkers' subdirectory.Ted Kremenek2010-01-261-1/+1
| | | | llvm-svn: 94609
* Split libAnalysis into two libraries: libAnalysis and libChecker.Ted Kremenek2010-01-251-0/+113
(1) libAnalysis is a generic analysis library that can be used by Sema. It defines the CFG, basic dataflow analysis primitives, and inexpensive flow-sensitive analyses (e.g. LiveVariables). (2) libChecker contains the guts of the static analyzer, incuding the path-sensitive analysis engine and domain-specific checks. Now any clients that want to use the frontend to build their own tools don't need to link in the entire static analyzer. This change exposes various obvious cleanups that can be made to the layout of files and headers in libChecker. More changes pending. :) This change also exposed a layering violation between AnalysisContext and MemRegion. BlockInvocationContext shouldn't explicitly know about BlockDataRegions. For now I've removed the BlockDataRegion* from BlockInvocationContext (removing context-sensitivity; although this wasn't used yet). We need to have a better way to extend BlockInvocationContext (and any LocationContext) to add context-sensitivty. llvm-svn: 94406
OpenPOWER on IntegriCloud