| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
analyzed.
The CallGraph is used when inlining is on, which is the current default.
This alone does not bring any performance improvement. It's a
stepping stone for the upcoming optimization in which we do not
re-analyze a function that has already been analyzed while inlined in
other functions. Using the call graph makes it easier to play with
the order of functions to minimize redundant analyzes.
llvm-svn: 152352
|
|
|
|
|
|
|
|
|
| |
- Remove -analyzer-inline-call.
- Add -analyzer-ipa=[none|inlining]
- Add -analyzer-inlining-mode to allow experimentation for
different performance tuning methods.
llvm-svn: 152351
|
|
|
|
| |
llvm-svn: 152059
|
|
|
|
|
|
|
|
|
|
|
| |
command line options for inlining tuning.
This adds the option for stack depth bound as well as function size
bound.
+ minor doxygenification
llvm-svn: 151930
|
|
|
|
|
|
| |
As in http://llvm.org/docs/ProgrammersManual.html#Statistic
llvm-svn: 151570
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operator overloads out of line.
This seems to negatively affect compile time onsome ObjC tests
(which use a lot of partial diagnostics I assume). I have to come
up with a way to keep them inline without including Diagnostic.h
everywhere. Now adding a new diagnostic requires a full rebuild
of e.g. the static analyzer which doesn't even use those diagnostics.
This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
llvm-svn: 150006
|
|
|
|
| |
llvm-svn: 149798
|
|
|
|
|
|
|
| |
- Move the offending methods out of line and fix transitive includers.
- This required changing an enum in the PPCallback API into an unsigned.
llvm-svn: 149782
|
|
|
|
|
|
| |
This allows -Wswitch-enum to find switches that need updating when these enums are modified.
llvm-svn: 148281
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A patch by Dmitri Gribenko!
The attached patch fixes a use-after-free in AnalysisConsumer::HandleTranslationUnit. The problem is that
BugReporter's destructor runs after AnalysisManager has been already
deleted. The fix introduces a scope to force correct destruction
order.
A crash happens only when reports have been added in AnalysisConsumer::HandleTranslationUnit's BugReporter. We don't have such checkers in clang so no test.
llvm-svn: 147732
|
|
|
|
|
|
| |
accurate, but it frees up the name AnalysisContext for other uses.
llvm-svn: 142782
|
|
|
|
|
|
|
|
| |
change clients to use AnalysisContext instead.
WIP to remove/reduce ExprEngine's usage of AnalysisManager.
llvm-svn: 142739
|
|
|
|
|
|
|
|
| |
of a pointer.
Passing a pointer was a bad idea as it collides with the overload for void*.
llvm-svn: 141971
|
|
|
|
|
|
| |
mechanism to lazily create analyses that are attached to AnalysisContext objects.
llvm-svn: 141425
|
|
|
|
|
|
| |
remove -analyzer-purge=none. (Small refactor as well: move the work of constructing AnalysisManager from the callers to the class itself.)
llvm-svn: 140838
|
|
|
|
| |
llvm-svn: 140596
|
|
|
|
| |
llvm-svn: 140492
|
|
|
|
| |
llvm-svn: 140478
|
|
|
|
| |
llvm-svn: 140367
|
|
|
|
|
|
|
|
|
|
| |
language options. Use that .def file to declare the LangOptions class
and initialize all of its members, eliminating a source of annoying
initialization bugs.
AST serialization changes are next up.
llvm-svn: 139605
|
|
|
|
|
|
| |
methods match the name (not only the first one).
llvm-svn: 139439
|
|
|
|
|
|
| |
And with that, TransferFuncs is gone!
llvm-svn: 139003
|
|
|
|
|
|
|
|
|
|
| |
current analysis from CFRefCount to ExprEngine.
Remove TransferFuncs from ExprEngine and AnalysisConsumer.
Demote RetainReleaseChecker to a regular checker, and give it the name osx.cocoa.RetainCount (class name change coming shortly). Update tests accordingly.
llvm-svn: 138998
|
|
|
|
|
|
| |
its own method. No real functionality change.
llvm-svn: 138712
|
|
|
|
|
|
| |
support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages).
llvm-svn: 137758
|
|
|
|
|
|
| |
and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at.
llvm-svn: 137537
|
|
|
|
|
|
|
|
| |
FullSourceLoc::getInstantiationLoc to ...::getExpansionLoc. This is part
of the API and documentation update from 'instantiation' as the term for
macros to 'expansion'.
llvm-svn: 135914
|
|
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
|
|
|
|
|
| |
implementations.
llvm-svn: 131614
|
|
|
|
|
|
| |
entire TranslationUnit. Patch by Lei Zhang.
llvm-svn: 130913
|
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129559
|
|
|
|
|
|
| |
headers.
llvm-svn: 126690
|
|
|
|
|
|
| |
misnomer award.
llvm-svn: 126676
|
|
|
|
|
|
| |
path-sensitive checkers.
llvm-svn: 126674
|
|
|
|
|
|
| |
'-warn-uninit-values'.
llvm-svn: 126673
|
|
|
|
|
|
|
|
| |
They cooperate in that NSErrorChecker listens for ImplicitNullDerefEvent events that
DereferenceChecker can dispatch.
ImplicitNullDerefEvent is when we dereferenced a location that may be null.
llvm-svn: 126659
|
|
|
|
| |
llvm-svn: 126657
|
|
|
|
|
|
| |
Turns -analyzer-check-buffer-overflows into -analyzer-checker=core.experimental.Overflow
llvm-svn: 126609
|
|
|
|
| |
llvm-svn: 126608
|
|
|
|
| |
llvm-svn: 126607
|
|
|
|
|
|
| |
have any checkers associated with it anymore.
llvm-svn: 126440
|
|
|
|
| |
llvm-svn: 126306
|
|
|
|
|
|
|
|
|
|
| |
The relative checker package is 'debug':
'-dump-live-variables' is replaced by '-analyzer-checker=debug.DumpLiveVars'
'-cfg-view' is replaced by '-analyzer-checker=debug.ViewCFG'
'-cfg-dump' is replaced by '-analyzer-checker=debug.DumpCFG'
llvm-svn: 125780
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
non-path-sensitive-checkers:
DeadStoresChecker
ObjCMethSigsChecker
ObjCUnusedIvarsChecker
SizeofPointerChecker
ObjCDeallocChecker
SecuritySyntaxChecker
llvm-svn: 125779
|
|
|
|
|
|
|
|
|
|
| |
-Introduce CheckerV2, a set of templates for convenient declaration & registration of checkers.
Currently useful just for checkers working on the AST not the path-sensitive ones.
-Enhance CheckerManager to actually collect the checkers and turn it into the entry point for
running the checkers.
-Use the new mechanism for the LLVMConventionsChecker.
llvm-svn: 125778
|
|
|
|
|
|
|
|
|
|
| |
NilArgChecker
CFNumberCreateChecker
NSAutoreleasePoolChecker
CFRetainReleaseChecker
ClassReleaseChecker
llvm-svn: 125636
|
|
|
|
| |
llvm-svn: 125611
|
|
|
|
| |
llvm-svn: 125599
|
|
|
|
| |
llvm-svn: 125565
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
checks. These are:
StackAddrLeakChecker
ObjCAtSyncChecker
UnixAPIChecker
MacOSXAPIChecker
The rest have/create implicit dependencies between checkers and need to be handled differently.
llvm-svn: 125559
|