| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
* Work around build failures due to gcc 4.2 bugs.
* Remove BodyIndexer::TraverseCXXOperatorCallExpr, which was not being called
prior to this change, and whose presence disables a RecursiveASTVisitor
stack space optimization after this change.
llvm-svn: 155969
|
| |
|
|
|
|
| |
warning.
llvm-svn: 155966
|
| |
|
|
|
|
| |
of giving unhelpful errors about undeclared identifers and missing semicolons.
llvm-svn: 155965
|
| |
|
|
| |
llvm-svn: 155964
|
| |
|
|
| |
llvm-svn: 155963
|
| |
|
|
|
|
|
| |
functions if they"
FAIL: Clang :: Index/index-many-call-ops.cpp
llvm-svn: 155962
|
| |
|
|
|
|
|
|
| |
folding its one check into the normal path for checking overridden
Objective-C methods. Good for another 3.6% speedup on the test case in
<rdar://problem/11004361>.
llvm-svn: 155961
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declared in a subclass has consistent parameter types with a method
having the same selector in a superclass performs a significant number
of lookups into the class hierarchy. In the example in
<rdar://problem/11004361>, we spend 4.7% of -fsyntax-only time in
these lookups.
Optimize away most of the calls to this routine
(Sema::CompareMethodParamsInBaseAndSuper) by first checking whether we
have ever seen *any* method with that selector (using the global
selector table). Since most selectors are unique, we can avoid the
cost of this name lookup in many cases, for a 3.3% speedup.
llvm-svn: 155958
|
| |
|
|
|
|
|
|
| |
<rdar://problem/11333367>.
While I'm here, fix source locations for other diagnostics related to property synthesis.
llvm-svn: 155953
|
| |
|
|
| |
llvm-svn: 155952
|
| |
|
|
|
|
|
| |
have been overridden in the derived class. Also, remove a non-functional
implementation of an incorrect optimization for ParenExprs.
llvm-svn: 155951
|
| |
|
|
|
|
| |
twice. Fixes <rdar://problem/11212866>.
llvm-svn: 155950
|
| |
|
|
|
|
|
|
|
|
|
|
| |
BuildObjCNumericLiteral() and BuildObjCBoxedExpr() now both using
PerformCopyInitialization() rather than PerformImplicitConversion(),
which suppresses errors.
In BuildObjCBoxedExpr(): no longer calling .getCanonicalType(),
ValueType->getAs() will remove the minimal amount of sugar.
Using ValueType->isBuiltinType() instead of isa<BuiltinType>(ValueType).
llvm-svn: 155949
|
| |
|
|
| |
llvm-svn: 155948
|
| |
|
|
| |
llvm-svn: 155945
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reason about the expression.
This essentially keeps more history about how symbolic values were
constructed. As an optimization, previous to this commit, we only kept
the history if one of the symbols was tainted, but it's valuable keep
the history around for other purposes as well: it allows us to avoid
constructing conjured symbols.
Specifically, we need to identify the value of ptr as
ElementRegion (result of pointer arithmetic) in the following code.
However, before this commit '(2-x)' evaluated to Unknown value, and as
the result, 'p + (2-x)' evaluated to Unknown value as well.
int *p = malloc(sizeof(int));
ptr = p + (2-x);
This change brings 2% slowdown on sqlite. Fixes radar://11329382.
llvm-svn: 155944
|
| |
|
|
|
|
| |
decls to work on function templates specializations.
llvm-svn: 155943
|
| |
|
|
| |
llvm-svn: 155942
|
| |
|
|
| |
llvm-svn: 155940
|
| |
|
|
| |
llvm-svn: 155939
|
| |
|
|
| |
llvm-svn: 155938
|
| |
|
|
|
|
|
| |
the alignment might actually exceed the max field alignment; don't
assert in this case.
llvm-svn: 155937
|
| |
|
|
| |
llvm-svn: 155936
|
| |
|
|
|
|
|
|
|
|
|
| |
[basic.lookup.classref]p1 and p4, which concerns name lookup for
nested-name-specifiers and template names, respectively, in a member
access expression. C++98/03 forces us to look both in the scope of the
object and in the current scope, then compare the results. C++11 just
takes the result from the scope of the object, if something is
found. Fixes <rdar://problem/11328502>.
llvm-svn: 155935
|
| |
|
|
| |
llvm-svn: 155933
|
| |
|
|
| |
llvm-svn: 155932
|
| |
|
|
| |
llvm-svn: 155931
|
| |
|
|
|
|
| |
Based on Chandler Carruth's feedback on r155869.
llvm-svn: 155929
|
| |
|
|
|
|
| |
This makes Clang's build warning free again.
llvm-svn: 155928
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
goodness because it provides opportunites to cleanup things. For example,
uint64_t t1(__m128i vA)
{
uint64_t Alo;
_mm_storel_epi64((__m128i*)&Alo, vA);
return Alo;
}
was generating
movq %xmm0, -8(%rbp)
movq -8(%rbp), %rax
and now generates
movd %xmm0, %rax
rdar://11282581
llvm-svn: 155924
|
| |
|
|
| |
llvm-svn: 155923
|
| |
|
|
|
|
| |
used). Found by static analyzer.
llvm-svn: 155922
|
| |
|
|
|
|
| |
// rdar://11351299
llvm-svn: 155921
|
| |
|
|
|
|
|
|
| |
removing some that were added without a triple (and moving
their tests into files that appropriately test multiple
architectures).
llvm-svn: 155920
|
| |
|
|
|
|
|
|
| |
serialization logic in Frontend and Driver.
Reviewed by Eric, Doug and Chandler, and here: http://llvm.org/reviews/r/7/
llvm-svn: 155916
|
| |
|
|
| |
llvm-svn: 155914
|
| |
|
|
|
|
| |
microsoft-abi-array-cookies.cpp, for -Asserts.
llvm-svn: 155913
|
| |
|
|
|
|
| |
mingw32 tends to define built-in __declspec.
llvm-svn: 155911
|
| |
|
|
|
|
| |
add -U__declspec. mingw32 tends to define built-in __declspec.
llvm-svn: 155910
|
| |
|
|
|
|
| |
to force the emission of vtordisps.
llvm-svn: 155906
|
| |
|
|
|
|
|
| |
working knowledge of the Microsoft ABI. Based on a patch by
Dmitry Sokolov.
llvm-svn: 155905
|
| |
|
|
| |
llvm-svn: 155904
|
| |
|
|
| |
llvm-svn: 155900
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and only consider using __cxa_atexit in the Itanium logic. The
default logic is to use atexit().
Emit "guarded" initializers in Microsoft mode unconditionally.
This is definitely not correct, but it's closer to correct than
just not emitting the initializer.
Based on a patch by Timur Iskhodzhanov!
llvm-svn: 155894
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I broke this in r155838 by not actually instantiating non-dependent default arg
expressions. The motivation for that change was to avoid producing duplicate
conversion warnings for such default args (we produce them once when we parse
the template - there's no need to produce them at each instantiation) but
without actually instantiating the default arg, things break in weird ways.
Technically, I think we could still get the right diagnostic experience without
the bugs if we instantiated the non-dependent args (for non-dependent params
only) immediately, rather than lazily. But I'm not sure if such a refactoring/
change would be desirable so here's the conservative fix for now.
llvm-svn: 155893
|
| |
|
|
|
|
| |
output including the term "gc" (in lowercase).
llvm-svn: 155892
|
| |
|
|
| |
llvm-svn: 155889
|
| |
|
|
|
|
| |
retained objects. I know there is an SDK enhancement request for this to have the cf_returns_retained annotation, so this is just a stop gap.
llvm-svn: 155887
|
| |
|
|
|
|
|
|
| |
what I'm going to treat as basically universal properties of
array-cookie code. Implement MS array cookies on top of that.
Based on a patch by Timur Iskhodzhanov!
llvm-svn: 155886
|
| |
|
|
|
|
| |
Review by Doug Gregor.
llvm-svn: 155880
|