| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 71586
|
|
|
|
| |
llvm-svn: 71585
|
|
|
|
| |
llvm-svn: 71583
|
|
|
|
|
|
|
| |
selectors which need use Nonfrgile API for
message dispatch.
llvm-svn: 71578
|
|
|
|
|
|
| |
only and used in class imllementations (objc2 Nonfragile ABI specific).
llvm-svn: 71571
|
|
|
|
|
|
| |
don't need special treatment for unions.
llvm-svn: 71559
|
|
|
|
|
|
|
| |
register.
- Merge algorithm was returning MEMORY as it should.
llvm-svn: 71556
|
|
|
|
|
|
| |
EmitCXXConstructorCall out into a EmitCXXMemberCall function.
llvm-svn: 71514
|
|
|
|
|
|
| |
spotted by Eli!
llvm-svn: 71490
|
|
|
|
|
|
|
|
| |
message dispage API for all but a few messages. This is
a runtime performance improvement and there is not meant
to be a functional change.
llvm-svn: 71467
|
|
|
|
| |
llvm-svn: 71461
|
|
|
|
| |
llvm-svn: 71451
|
|
|
|
| |
llvm-svn: 71405
|
|
|
|
|
|
| |
LLVM.
llvm-svn: 71350
|
|
|
|
|
|
|
| |
- {return-types,single-args}-{32,64} pass the first 1k ABI tests with
bit-fields enabled.
llvm-svn: 71272
|
|
|
|
|
|
|
|
|
| |
to use a wide enough type. This might be wider than the "single
element"'s type in the presence of padding bit-fields.
- Darwin x86_32 now passes the first 1k ABI tests with bit-field
generation enabled.
llvm-svn: 71270
|
|
|
|
|
|
| |
element" structures.
llvm-svn: 71266
|
|
|
|
|
|
|
| |
- This turns out to be a no-op now that most of the handling for
everything else is in place.
llvm-svn: 71261
|
|
|
|
|
|
|
| |
- This eliminates 5/1000 failures on return-types-32, on the current
ABITest config.
llvm-svn: 71250
|
|
|
|
| |
llvm-svn: 71227
|
|
|
|
|
|
|
|
| |
This used to work, but I broke it when I modified the code to emit the same thing as GCC for message sends to super in classes."
Patch by David Chisnall!
llvm-svn: 71220
|
|
|
|
|
|
|
|
|
| |
semantic rules that gcc and icc use. This implements the variadic
and concrete versions as builtins and has sema do the
disambiguation. There are probably a bunch of details to finish up
but this seems like a large monotonic step forward :)
llvm-svn: 71212
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"This patch is a first pass at adding support for exceptions for the GNU runtime. There are a few limitations at present:
- @synchronized() is not yet supported at all. gcc currently emits calls to runtime library functions that don't exist for this directive.
- Only id @catch statements are currently working. This is enough for NS_DURING and friends, but I need to spend more time reading the output from gcc -S to work out how it finds the class pointer to make arbitrary class type catch statements work.
- I've tested it with a few common cases[1] and the clang test suite (which doesn't test exceptions for the GNU runtime, but shows I haven't broken anything else), but there are probably a lot of cases I've missed."
Patch by David Chisnall!
llvm-svn: 71198
|
|
|
|
| |
llvm-svn: 71194
|
|
|
|
|
|
| |
Patch by David Chisnall.
llvm-svn: 71023
|
|
|
|
|
|
|
|
| |
to go back and clean up existing uses of the bitcasted function. This
is not just an optimization: it is required for correctness to get
always inline functions to work, see testcases in function-attributes.c.
llvm-svn: 70971
|
|
|
|
|
|
|
| |
types. In this case, it was objc_selector and objc_class. This fixes
rdar://6852754 - clang sometimes generates incorrect/unknown file/line info for DW_TAG__structure_type dies
llvm-svn: 70969
|
|
|
|
|
|
|
|
| |
DIEs. We were generating a loc with line of 0 and a file.
These tags do not need locations at all, just remove it.
this fixes rdar://6852792 - Clang generates incorrect (and unnecessary) file and line info for DW_TAG_inheritance dies
llvm-svn: 70966
|
|
|
|
|
|
|
|
| |
in ObjC) to not emit file/line location information. Previously
we would output a file with bogus line information. This fixes:
rdar://6852814 - Clang generates incorrect file & line info for automatic/understood formal parameters for objc-programs
llvm-svn: 70965
|
|
|
|
|
|
| |
+ ctor type or a CXXDestructorDecl + dtor type.
llvm-svn: 70962
|
|
|
|
| |
llvm-svn: 70951
|