| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 131611
|
|
|
|
| |
llvm-svn: 131558
|
|
|
|
|
|
| |
<rdar://problem/8107317>
llvm-svn: 131504
|
|
|
|
| |
llvm-svn: 131499
|
|
|
|
|
|
|
| |
user specified string class via -fconstant-string-class option.
pr9914.
llvm-svn: 131496
|
|
|
|
|
|
| |
creating aggregate stores in common cases. This is more friendly to fast-isel.
llvm-svn: 131490
|
|
|
|
|
|
|
| |
optimization for abstract classes; there was a misunderstanding, and
it turns out that there are no kexts which rely on this.
llvm-svn: 131489
|
|
|
|
| |
llvm-svn: 131450
|
|
|
|
| |
llvm-svn: 131447
|
|
|
|
|
|
| |
Radar 9440721
llvm-svn: 131441
|
|
|
|
| |
llvm-svn: 131435
|
|
|
|
|
|
| |
reasons that honestly really, really need to be looked into.
llvm-svn: 131434
|
|
|
|
|
|
|
| |
optimization. Make sure to require a vtable when trying to get the address
of a VTT, otherwise we would never end up emitting the VTT.
llvm-svn: 131400
|
|
|
|
|
|
|
|
|
| |
operators; their semantics are guaranteed by the language.
If someone wants to argue that freestanding compiles shouldn't recognize
this, I might be convinceable.
llvm-svn: 131395
|
|
|
|
| |
llvm-svn: 131385
|
|
|
|
|
|
|
| |
It can be larger, it can be smaller, it can be signed, whatever. Handle
all the crazy cases with grace and spirit.
llvm-svn: 131378
|
|
|
|
|
|
| |
hasAggregateLLVMType.
llvm-svn: 131375
|
|
|
|
| |
llvm-svn: 131374
|
|
|
|
|
|
|
| |
types. Also, cache a translation of 'void' in CGM and provide a ptrdiff_t
alias. No functionality change.
llvm-svn: 131373
|
|
|
|
| |
llvm-svn: 131372
|
|
|
|
|
|
|
|
|
|
| |
that the destructor body is trivial and that all member variables also have either
trivial destructors or trivial destructor bodies, we don't need to initialize the
vtable pointers since no virtual member functions will be called on the destructor.
Fixes PR9181.
llvm-svn: 131368
|
|
|
|
|
|
|
|
|
| |
send if the receiver is null. Normally it's not worthwhile to check this,
but avoiding the null-initialization is nice, and this also avoids nasty
problems where the null-initialization is visible within the call because
we use an aliased result buffer. rdar://problem/9402992
llvm-svn: 131366
|
|
|
|
|
|
|
|
|
| |
out as "v-table" message sends and stop calling normal messages "legacy"
message sends.
Also, fix some comments to reveal the true state of affairs.
llvm-svn: 131335
|
|
|
|
|
|
| |
and to decrease the amount of effort in appending strings.
llvm-svn: 131323
|
|
|
|
| |
llvm-svn: 131321
|
|
|
|
|
|
|
| |
mangled to avoid doing it twice for platforms that use prefixes like
Darwin.
llvm-svn: 131311
|
|
|
|
|
|
| |
*mmintrin.h files.
llvm-svn: 131300
|
|
|
|
|
|
| |
-fno-constant-cfstrings. Patch by Jonathan Schleifer.
llvm-svn: 131298
|
|
|
|
|
|
|
| |
constant, also consider whether it's a class type that has any mutable
fields. If so, it can't be a global constant.
llvm-svn: 131276
|
|
|
|
|
|
| |
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g
llvm-svn: 131245
|
|
|
|
|
|
| |
seen.
llvm-svn: 131242
|
|
|
|
|
|
|
|
| |
represent class extension.
Radar 9423077.
llvm-svn: 131239
|
|
|
|
|
|
|
|
|
|
| |
(__m128){ p[0], p[1], p[2], p[3] }
which produces really bad code. This could be done in instcombine, but it's
probably better to do it in the front-end instead.
<rdar://problem/9424836>
llvm-svn: 131237
|
|
|
|
| |
llvm-svn: 131215
|
|
|
|
|
|
|
| |
modify the semantics slightly to accomodate default constructors (I
hope).
llvm-svn: 131087
|
|
|
|
|
|
| |
function in CGClass.cpp
llvm-svn: 131075
|
|
|
|
|
|
|
| |
complete destructors for abstract classes unless the destructor is virtual
and thus needs to be in the vtable.
llvm-svn: 131068
|
|
|
|
|
|
|
| |
type, so long as it is known to have a constant initializer and the
class type is a POD class. Fixes <rdar://problem/9306265>.
llvm-svn: 131060
|
|
|
|
| |
llvm-svn: 131057
|
|
|
|
| |
llvm-svn: 131019
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- New isDefined() function checks for deletedness
- isThisDeclarationADefinition checks for deletedness
- New doesThisDeclarationHaveABody() does what
isThisDeclarationADefinition() used to do
- The IsDeleted bit is not propagated across redeclarations
- isDeleted() now checks the canoncial declaration
- New isDeletedAsWritten() does what it says on the tin.
- isUserProvided() now correct (thanks Richard!)
This fixes the bug that we weren't catching
void foo() = delete;
void foo() {}
as being a redefinition.
llvm-svn: 131013
|
|
|
|
|
|
| |
and a lot of downside (like PR9850, which is about clang's xmmintrin.h making an unexpected transformation on an expression involving _mm_add_epi32).
llvm-svn: 131000
|
|
|
|
|
|
| |
a bit messy, but it is correct as long as the method in question doesn't use indirect gotos. A couple of possible alternative implementations are outlined in FIXME's in this patch. rdar://problem/8077308 .
llvm-svn: 130993
|
|
|
|
|
|
| |
This enables incremental codegen, where the initializer array can be removed from the module, such that only new initializers will be emitted and run.
llvm-svn: 130986
|
|
|
|
|
|
| |
// rdar://9362887
llvm-svn: 130956
|
|
|
|
| |
llvm-svn: 130953
|
|
|
|
| |
llvm-svn: 130929
|
|
|
|
|
|
| |
foo.pic.gcno instead of foo.gcno.
llvm-svn: 130899
|
|
|
|
|
|
|
|
|
|
| |
Ivar offsets for synthesized ivars are wrong, which could end up with a large
number of dirty pages because of ivar fixups at runtime. When we pack all of the
synthesized ivars into the same section, it limits the number of dirty pages
created. Place them in the "__DATA,__objc_ivar" section.
<rdar://problem/9374905>
llvm-svn: 130870
|
|
|
|
| |
llvm-svn: 130866
|