- Dec 08, 2012
-
-
Bill Wendling authored
llvm-svn: 169652
-
- Dec 07, 2012
-
-
DeLesley Hutchins authored
with -Werror. Previously, compiling with -Werror would emit only the first warning in a compilation unit, because clang assumes that once an error occurs, further analysis is unlikely to return valid results. However, warnings that have been upgraded to errors should not be treated as "errors" in this sense. llvm-svn: 169649
-
Matt Beaumont-Gay authored
llvm-svn: 169648
-
Argyrios Kyrtzidis authored
their USR should contain a location. This uniques them from other declarations with the same name but in different translation units. rdar://10546541 llvm-svn: 169647
-
Anna Zaks authored
llvm-svn: 169640
-
Anna Zaks authored
top level. This heuristic is already turned on for non-ObjC methods (inlining-mode=noredundancy). If a method has been previously analyzed, while being inlined inside of another method, do not reanalyze it as top level. This commit applies it to ObjCMethods as well. The main caveat here is that to catch the retain release errors, we are still going to reanalyze all the ObjC methods but without inlining turned on. Gives 21% performance increase on one heavy ObjC benchmark, which suffered large performance regressions due to ObjC inlining. llvm-svn: 169639
-
Daniel Jasper authored
This an AST matcher tutorial based on Sam Panzer's document (https://docs.google.com/a/google.com/document/d/1oTkVLhCdRJUEH1_LDaQdXqe8-aOqT5GLDL9e4MhoFF8/edit). Checking in now although some parts might be a bit rough so others can help improving it. llvm-svn: 169632
-
Jordan Rose authored
This is the case where the analyzer tries to print out source locations for code within a synthesized function body, which of course does not have a valid source location. The previous fix attempted to do this during diagnostic path pruning, but some diagnostics have pruning disabled, and so any diagnostic with a path that goes through a synthesized body will either hit an assertion or emit invalid output. <rdar://problem/12657843> (again) llvm-svn: 169631
-
Ted Kremenek authored
This reduces canonicalization of ImmutableMaps. This reduces analysis time of one heavy Objective-C file by another 1%. llvm-svn: 169630
-
Ted Kremenek authored
llvm-svn: 169622
-
Matthew Curtis authored
llvm-svn: 169611
-
NAKAMURA Takumi authored
Thanks to Bruce Stephens. llvm-svn: 169610
-
Alexander Kornienko authored
Summary: FormatTokenLexer is here, FormatTokenBuffer is on the way. This will allow to re-parse unwrapped lines when needed. Reviewers: djasper, klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D186 llvm-svn: 169605
-
Matthew Curtis authored
compatibility llvm-svn: 169599
-
Daniel Jasper authored
Now not joining keywords with '::' and not putting a space between a pointer pointer. llvm-svn: 169594
-
Ted Kremenek authored
The same queries can happen thousands of times. This reduces the analysis time on one heavy Objective-C file by 2.4%. llvm-svn: 169589
-
John McCall authored
We were emitting calls to blocks as if all arguments were required --- i.e. with signature (A,B,C,D,...) rather than (A,B,...). This patch fixes that and accounts for the implicit block-context argument as a required argument. In addition, this patch changes the function type under which we call unprototyped functions on platforms like x86-64 that guarantee compatibility of variadic functions with unprototyped function types; previously we would always call such functions under the LLVM type T (...)*, but now we will call them under the type T (A,B,C,D,...)*. This last change should have no material effect except for making the type conventions more explicit; it was a side-effect of the most convenient implementation. llvm-svn: 169588
-
NAKAMURA Takumi authored
llvm-svn: 169587
-
Ted Kremenek authored
Further reduce analysis time by 0.2% on a heavy Objective-C example by avoiding over-eager canonicalization of clusters. llvm-svn: 169586
-
David Blaikie authored
llvm-svn: 169581
-
Richard Smith authored
llvm-svn: 169576
-
Richard Smith authored
llvm-svn: 169574
-
Ted Kremenek authored
This reduces analysis time by 1.2% on one test case (Objective-C), but also cleans up some of the code conceptually as well. We can possible just make RegionBindingsRef -> RegionBindings, but I wanted to stage things. After this, we should revisit Jordan's optimization of not canonicalizing the immutable AVL trees for the cluster bindings as well. llvm-svn: 169571
-
Jordan Rose authored
Thanks for reminding me about copy-elision, David. Passing references here doesn't help when we could get move construction in C++11. If we really cared, we'd use std::swap to steal the reference from the temporary arg, but it's probably not /that/ critical outside of Profile anyway. llvm-svn: 169570
-
NAKAMURA Takumi authored
llvm-svn: 169566
-
Jordan Rose authored
Suggested by David Blaikie. ExplodedNode, CallEvent, and CheckerContext all hang onto their ProgramState, so the accessors can return a reference to the internal state rather than preemptively copying it. This helps avoid temporary ProgramStateRefs, though local variables will still (correctly) do an extra retain and release. llvm-svn: 169563
-
Logan Chien authored
and will break the build on buildbot. llvm-svn: 169562
-
Argyrios Kyrtzidis authored
llvm-svn: 169558
-
- Dec 06, 2012
-
-
Logan Chien authored
* Look for i686-linux-android under <sysroot>/lib/gcc. * This patch also slightly enhance the test suite for Android GCC toolchain detection. llvm-svn: 169557
-
Richard Smith authored
llvm-svn: 169555
-
Fariborz Jahanian authored
llvm-svn: 169554
-
Matthew Curtis authored
llvm-svn: 169548
-
Matthew Curtis authored
llvm-svn: 169544
-
Matthew Curtis authored
llvm-svn: 169543
-
Benjamin Kramer authored
This just empties out the diag, which is fine. llvm-svn: 169542
-
Argyrios Kyrtzidis authored
llvm-svn: 169540
-
Argyrios Kyrtzidis authored
that were already parsed in the same "indexing session". An indexing session is defined as using the same CXIndexAction object for multiple clang_indexSourceFile calls. Passing CXIndexOpt_SkipParsedBodiesInSession as an indexing option will enable the mode where we try to skip bodies that were already parsed in another translation unit. If a function's body was skipped, the "flags" field in the CXIdxDeclInfo structure will have "CXIdxDeclFlag_Skipped" bit was set. llvm-svn: 169539
-
Ted Kremenek authored
Jordan and I discussed this, and we are going to do this another way. llvm-svn: 169538
-
Benjamin Kramer authored
llvm-svn: 169535
-
Matthew Curtis authored
llvm-svn: 169533
-