llvm-project/clang/lib/StaticAnalyzer/Core
Anna Zaks 920af014c1 [analyzer] Optimize dynamic dispatch bifurcation by detecting the cases
when we don't need to split.

In some cases we know that a method cannot have a different
implementation in a subclass:
 - the class is declared in the main file (private)
 - all the method declarations (including the ones coming from super
classes) are in the main file.

This can be improved further, but might be enough for the heuristic.
(When we are too aggressive splitting the state, efficiency suffers.
When we fail to split the state coverage might suffer.)

llvm-svn: 161681
2012-08-10 18:55:53 +00:00
..
APSIntType.cpp [analyzer] Rework both constraint managers to handle mixed-type comparisons. 2012-05-08 03:27:16 +00:00
AnalysisManager.cpp [analyzer] Turn -cfg-add-initializers on by default, and remove the flag. 2012-07-31 18:04:59 +00:00
BasicConstraintManager.cpp [analyzer] BasicConstraintManager: drop NE-constraints once we have a value. 2012-05-08 03:27:20 +00:00
BasicValueFactory.cpp Drop the ASTContext.h include from Stmt.h and fix up transitive users. 2012-07-04 17:04:04 +00:00
BlockCounter.cpp Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at. 2011-08-12 23:37:29 +00:00
BugReporter.cpp [analyzer] Solve another source of non-determinism in the diagnostic 2012-08-02 23:41:05 +00:00
BugReporterVisitors.cpp [analyzer] When a symbol is null, we should track its constraints. 2012-08-03 23:09:01 +00:00
CMakeLists.txt clang/lib: [CMake] Update tblgen'd dependencies. 2012-07-27 06:18:33 +00:00
CallEvent.cpp [analyzer] Optimize dynamic dispatch bifurcation by detecting the cases 2012-08-10 18:55:53 +00:00
Checker.cpp Reapply r149311 which I reverted by mistake. 2012-01-31 02:23:28 +00:00
CheckerContext.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
CheckerHelpers.cpp Split 'include/clang/StaticAnalyzer' into 'include/clang/StaticAnalyzer/Core' and 'include/clang/StaticAnalyzer/Checkers'. 2011-02-10 01:03:03 +00:00
CheckerManager.cpp [analyzer] Perform post-call checks for all inlined calls. 2012-07-30 23:39:47 +00:00
CheckerRegistry.cpp Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. 2012-02-07 22:29:24 +00:00
CoreEngine.cpp [analyzer] PostImplicitCall can also occur between CFGElements. 2012-07-26 20:03:56 +00:00
Environment.cpp [analyzer] Look through SubstNonTypeTemplateParmExprs. 2012-07-27 01:15:02 +00:00
ExplodedGraph.cpp [analyzer] Rename Calls.{h,cpp} to CallEvent.{h,cpp}. No functionality change. 2012-07-26 21:39:41 +00:00
ExprEngine.cpp [analyzer] Update initializer assertion for delegating constructors. 2012-08-03 23:31:15 +00:00
ExprEngineC.cpp [analyzer] A CXXBaseObjectRegion should correspond to a DIRECT base. 2012-08-09 21:24:02 +00:00
ExprEngineCXX.cpp [analyzer] Update initializer assertion for delegating constructors. 2012-08-03 23:31:15 +00:00
ExprEngineCallAndReturn.cpp [analyzer] Clarify the values in Dyn. Dispatch Bifurcation map. 2012-08-09 21:02:41 +00:00
ExprEngineObjC.cpp [analyzer] Only allow CallEvents to be created by CallEventManager. 2012-07-30 20:22:09 +00:00
FunctionSummary.cpp [analyzer] Record the basic blocks covered by the analyzes run. 2012-04-03 02:05:47 +00:00
HTMLDiagnostics.cpp [analyzer] Flatten path diagnostics for text output like we do for HTML. 2012-08-03 23:08:54 +00:00
Makefile
MemRegion.cpp [analyzer] Cluster bindings in RegionStore by base region. 2012-08-09 22:55:51 +00:00
PathDiagnostic.cpp [analyzer] Flatten path diagnostics for text output like we do for HTML. 2012-08-03 23:08:54 +00:00
PlistDiagnostics.cpp Remove unused private member variable uncovered by the recent changes to clang's -Wunused-private-field. 2012-07-20 22:06:30 +00:00
ProgramState.cpp [analyzer] Rename the function to better reflect what it actually does. 2012-08-09 21:02:45 +00:00
RangeConstraintManager.cpp [analyzer] Rework both constraint managers to handle mixed-type comparisons. 2012-05-08 03:27:16 +00:00
RegionStore.cpp Fix a couple of pedantic gcc warnings. 2012-08-10 10:06:13 +00:00
SValBuilder.cpp Implement initial static analysis inlining support for C++ methods. 2012-06-22 23:55:50 +00:00
SVals.cpp [analyzer] Remove obsolete ObjCPropRef SVal kind. 2012-07-18 21:59:37 +00:00
SimpleConstraintManager.cpp [analyzer] Exit early if constraint solver is given a non-integer symbol 2012-05-10 21:49:52 +00:00
SimpleConstraintManager.h [analyzer] Rework both constraint managers to handle mixed-type comparisons. 2012-05-08 03:27:16 +00:00
SimpleSValBuilder.cpp [analyzer] Fixit for r158136. 2012-06-07 20:18:08 +00:00
Store.cpp [analyzer] A CXXBaseObjectRegion should correspond to a DIRECT base. 2012-08-09 21:24:02 +00:00
SubEngine.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
SymbolManager.cpp [analyzer] Add a complexity bound on history tracking. 2012-05-03 02:13:50 +00:00
TextPathDiagnostics.cpp [analyzer] Flatten path diagnostics for text output like we do for HTML. 2012-08-03 23:08:54 +00:00