| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Patch by Niels Grewe!
llvm-svn: 162441
|
|
|
|
| |
llvm-svn: 162440
|
|
|
|
|
|
|
| |
of a pointer for builtin emission, instead of just depending on the type of the
pointee. <rdar://problem/11314941>.
llvm-svn: 162425
|
|
|
|
|
|
|
| |
The parser still can't handle all cases, so fall back to emitting a simple
MSAsmStmt if we get into trouble.
llvm-svn: 162382
|
|
|
|
| |
llvm-svn: 162361
|
|
|
|
|
|
| |
PR9673
llvm-svn: 162285
|
|
|
|
|
|
| |
initialized globals. Patch by Reid Watson, reviewed by Richard Smith
llvm-svn: 162259
|
|
|
|
|
|
|
|
|
|
|
| |
to overwrite objects that might have been allocated into the type's
tail padding. This patch is missing some potential optimizations where
the destination is provably a complete object, but it's necessary for
correctness.
Patch by Jonathan Sauer.
llvm-svn: 162254
|
|
|
|
|
|
|
|
| |
diagnostics for bad deployment targets and adding a few
more predicates. Includes a patch by Jonathan Schleifer
to enable ARC for ObjFW.
llvm-svn: 162252
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, when synthesizing an explicitly strong/retain/copy property
of Class type, don't pretend during compatibility checking that the
property is actually assign. Instead, resolve incompatibilities
by secretly changing the type of *implicitly* __unsafe_unretained
Class ivars to be strong. This is moderately evil but better than
what we were doing.
Second, when synthesizing the setter for a strong property of
non-retainable type, be sure to use objc_setProperty. This is
possible when the property is decorated with the NSObject
attribute. This is an ugly, ugly corner of the language, and
we probably ought to deprecate it.
The first is rdar://problem/12039404; the second was noticed by
inspection while fixing the first.
llvm-svn: 162244
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Author: Eric Christopher <echristo@apple.com>
Date: Thu Aug 16 23:50:46 2012 +0000
Add some caching here for the builtin types.
rdar://12117935
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162066 91177308-0d34-0410-b5e6-96231b3b80d8
after fixing a thinko.
llvm-svn: 162243
|
|
|
|
|
|
|
|
| |
Make isa part of objc_object at metadata generation time.
Noticed on inspection.
llvm-svn: 162145
|
|
|
|
|
|
| |
bots back.
llvm-svn: 162080
|
|
|
|
|
|
|
|
| |
reference, so &* on an empty WeakVH binds a reference to a dereferenced null
pointer. So don't do that; we have a perfectly good implicit conversion to
Value*.
llvm-svn: 162079
|
|
|
|
|
|
| |
rdar://12117935
llvm-svn: 162066
|
|
|
|
|
|
| |
Noticed on inspection.
llvm-svn: 162062
|
|
|
|
|
|
| |
Add test case.
llvm-svn: 162002
|
|
|
|
|
|
| |
Based on a patch by Yin Ma!
llvm-svn: 161998
|
|
|
|
|
|
|
| |
Changed the alignment of an LValue to be 64 bits so that we can handle
alignment values up to half of a 64-bit address space.
llvm-svn: 161971
|
|
|
|
|
|
|
| |
This is a reapplication of r161914 now that the scoping issue has been resolved
in r161966.
llvm-svn: 161967
|
|
|
|
| |
llvm-svn: 161931
|
|
|
|
| |
llvm-svn: 161914
|
|
|
|
|
|
| |
calls. // rdar://8315199
llvm-svn: 161891
|
|
|
|
|
|
|
|
|
| |
The backend has to legalize i64 types by splitting them into two 32-bit pieces,
which leads to poor quality code. If we produce code for these intrinsics that
uses one-element vector types, which can live in Neon vector registers without
getting split up, then the generated code is much better. Radar 11998303.
llvm-svn: 161879
|
|
|
|
|
|
| |
rdar://9877866
llvm-svn: 161790
|
|
|
|
|
|
| |
evaluated into a CXXTypeid member function. No functionality change.
llvm-svn: 161779
|
|
|
|
| |
llvm-svn: 161744
|
|
|
|
| |
llvm-svn: 161702
|
|
|
|
|
|
| |
regression on test/CodeGenObjC/2008-10-3-EhValue.m on non-Darwin targets.
llvm-svn: 161700
|
|
|
|
|
|
|
| |
rdar://9877866
PR://13350
llvm-svn: 161694
|
|
|
|
| |
llvm-svn: 161659
|
|
|
|
| |
llvm-svn: 161642
|
|
|
|
|
|
| |
from before r159168. PR13562.
llvm-svn: 161554
|
|
|
|
| |
llvm-svn: 161546
|
|
|
|
|
|
| |
only machine specific clobbers are modeled.
llvm-svn: 161524
|
|
|
|
|
|
| |
member of reference type in an anonymous struct. PR13154.
llvm-svn: 161473
|
|
|
|
|
|
|
| |
objc_release for performance for these most often
called APIs. // rdar://12040837
llvm-svn: 161448
|
|
|
|
|
|
|
|
| |
just let the alignment be zero.
PR13531
llvm-svn: 161379
|
|
|
|
| |
llvm-svn: 161369
|
|
|
|
|
|
|
|
| |
that we attach the lost qualifiers.
Fixes rdar://11882155
llvm-svn: 161368
|
|
|
|
|
|
| |
intrinsic.
llvm-svn: 161310
|
|
|
|
| |
llvm-svn: 161303
|
|
|
|
| |
llvm-svn: 161287
|
|
|
|
| |
llvm-svn: 161286
|
|
|
|
| |
llvm-svn: 161148
|
|
|
|
|
|
|
|
|
|
|
| |
don't explode if the offset we get is zero. This can happen if
you have an empty virtual base class.
While I'm at it, remove an unnecessary block from the IR-generation
of the null-check, mark the eventual GEP as inbounds, and generally
prettify.
llvm-svn: 161100
|
|
|
|
| |
llvm-svn: 161044
|
|
|
|
|
|
|
|
| |
on object pointers and whether pointer arithmetic on object pointers
is supported. Make ObjFW interpret subscripts as pseudo-objects.
Based on a patch by Jonathan Schleifer.
llvm-svn: 161028
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attribute. It is a variation of the x86_64 ABI:
* A struct returned indirectly uses the first register argument to pass the
pointer.
* Floats, Doubles and structs containing only one of them are not passed in
registers.
* Other structs are split into registers if they fit on the remaining ones.
Otherwise they are passed in memory.
* When a struct doesn't fit it still consumes the registers.
llvm-svn: 161022
|
|
|
|
|
|
| |
this-adjustment thunk in ARC++.
llvm-svn: 161014
|