| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
- Otherwise we may incorrectly miss generation of some write barriers.
llvm-svn: 72313
|
|
|
|
| |
llvm-svn: 72308
|
|
|
|
|
|
|
|
|
|
| |
runtime, when
compiled with -fobjc-sender-dependent-dispatch. This is used in AOP, COP, implementing object
planes, and a few other things.
Patch by David Chisnall.
llvm-svn: 72275
|
|
|
|
|
|
| |
improve codegen in some cases.
llvm-svn: 72273
|
|
|
|
|
|
| |
- PR4242.
llvm-svn: 72268
|
|
|
|
|
|
| |
appropriate debug descriptor as well in that case.
llvm-svn: 72261
|
|
|
|
|
|
| |
This attempts to fix PR4239.
llvm-svn: 72251
|
|
|
|
|
|
|
| |
evaluated first. This can also improve codegen just a bit as we might
have another register to play with for the evaluation of the rhs.
llvm-svn: 72226
|
|
|
|
| |
llvm-svn: 72210
|
|
|
|
| |
llvm-svn: 72203
|
|
|
|
|
|
|
|
|
|
|
|
| |
on the GNU runtime.
It currently requires a patches to GNU libobjc (and so is not enabled by default) which are currently
being tested and reviewed by GNUstep before being pushed upstream.
This patch does not allow support for synthesized ivars, but does provide the infrastructure
needed for supporting them.
Patch by David Chisnall
llvm-svn: 72175
|
|
|
|
|
|
|
|
| |
It would be nice if someone could write an ObjC++ testcase for the case
of passing a property returning a struct to a function taking a const
reference.
llvm-svn: 72159
|
|
|
|
| |
llvm-svn: 72157
|
|
|
|
| |
llvm-svn: 72155
|
|
|
|
| |
llvm-svn: 72153
|
|
|
|
| |
llvm-svn: 72150
|
|
|
|
|
|
| |
support anything but at least we don't crash ;)
llvm-svn: 72147
|
|
|
|
| |
llvm-svn: 72133
|
|
|
|
| |
llvm-svn: 72125
|
|
|
|
| |
llvm-svn: 72118
|
|
|
|
| |
llvm-svn: 72117
|
|
|
|
|
|
| |
Stub out VisitCXXExprWithTemporaries.
llvm-svn: 72103
|
|
|
|
| |
llvm-svn: 72101
|
|
|
|
|
|
|
|
| |
runtime. As with @synchronized, this requires some extra functions that are included with other libraries (not with the GNU runtime itself) and so will cause linker errors when these are not present.
Patch by David Chisnall.
llvm-svn: 72079
|
|
|
|
|
|
| |
interface types.
llvm-svn: 72036
|
|
|
|
|
|
| |
type, make them unsupported for now.
llvm-svn: 72034
|
|
|
|
| |
llvm-svn: 72033
|
|
|
|
| |
llvm-svn: 72032
|
|
|
|
|
|
| |
pointer to member functions correctly and add tests.
llvm-svn: 71981
|
|
|
|
|
|
|
|
| |
One is a case in rethrowing exceptions where the C types don't match correctly (I already sent this patch to Daniel Dunbar, who found the bug, so it may have already been committed). The other fixes the case properties so that the methods generated as property accessors are added to the class structure correctly.
Patch by David Chisnall.
llvm-svn: 71980
|
|
|
|
| |
llvm-svn: 71957
|
|
|
|
| |
llvm-svn: 71937
|
|
|
|
|
|
| |
else the method will not be found by the runtime at class load time).
llvm-svn: 71904
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 71898
|
|
|
|
|
|
| |
defined inline) or strong linkage (other cases).
llvm-svn: 71873
|
|
|
|
| |
llvm-svn: 71861
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
variables. For this to work, the backend needs to handle more complex
forms for locations.
A typical utterance would be:
%forwarding = getelementptr %0* %use_by_ref, i32 0, i32 1 ; <i8**> [#uses=1]
%0 = load i8** %forwarding ; <i8*> [#uses=1]
%1 = bitcast i8* %0 to %0* ; <%0*> [#uses=1]
%x = getelementptr %0* %1, i32 0, i32 4 ; <i32*> [#uses=1]
%2 = bitcast i32* %x to { }* ; <{ }*> [#uses=1]
call void @llvm.dbg.declare({ }* %2, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable to { }*))
Presently when selection finds something it doesn't understand, it
just avoids generating any information, which is safe, just
incomplete. Radar 6867696
llvm-svn: 71824
|
|
|
|
|
|
|
|
|
|
|
| |
- Otherwise we emit internal names with embedded '\01' characters,
which confuses some tools.
- Ideally all the code which wants to get a "display name" for the
given function should follow one code path, but this should be a
monotonic improvement for now.
llvm-svn: 71774
|
|
|
|
| |
llvm-svn: 71763
|
|
|
|
|
|
|
| |
emit the correct "display name". I suspect we need more work here, see
FIXME for example.
llvm-svn: 71761
|
|
|
|
|
|
| |
debug info.
llvm-svn: 71736
|
|
|
|
|
|
|
|
| |
coercion to be specified which truncates padding bits. It would be
nice to still have the assert, but we don't have any API call for the
unpadding size of a type yet.
llvm-svn: 71695
|
|
|
|
|
|
| |
Used simple array for Selector build.
llvm-svn: 71674
|
|
|
|
|
|
| |
rdar://6880573
llvm-svn: 71637
|
|
|
|
|
|
| |
rdar://6880573
llvm-svn: 71636
|
|
|
|
|
|
|
|
| |
(__NSConcreteGlobalBlock2)
by using the appropriate CGM interface instead of directly creating a global.
llvm-svn: 71617
|
|
|
|
| |
llvm-svn: 71595
|
|
|
|
|
|
|
|
|
| |
to allow us to support generation of deferred ctors/dtors.
It looks like codegen isn't emitting a call to the dtor in
member-functions.cpp:test2, but when it does, its body should
get emitted.
llvm-svn: 71594
|
|
|
|
|
|
|
|
|
| |
static
functions and methods declared inline, but not ctors/dtors or methods not declared
inline (apparently my previous patch wasn't good enough).
llvm-svn: 71591
|
|
|
|
| |
llvm-svn: 71590
|