John McCall
0d54a17b52
Set a special flag in class metadata when an Objective-C class
...
has ivars that require destruction, but none that require anything
except zero-initialization. This is common in ARC and (when true
throughout a class hierarchy) permits the elimination of an
unnecessary message-send during allocation.
llvm-svn: 166088
2012-10-17 04:53:31 +00:00
Nico Weber
9272407c39
"'Might as well make it static const.' -- John McCall" -- Michael Scott
...
llvm-svn: 166080
2012-10-17 00:34:34 +00:00
Joerg Sonnenberger
de78bba047
When using a symbol with attribute weakref, search for it first and
...
don't try the normal GetOrCreateLLVM. The latter could drop the weak
atrtibute on the second reference, if there is no explicit declaration
of the aliasee.
llvm-svn: 166032
2012-10-16 17:45:27 +00:00
Bill Wendling
4f0c080b93
Use enum values instead of magic numbers for indexing into the attribute list.
...
llvm-svn: 165925
2012-10-15 07:31:59 +00:00
Bill Wendling
311c832fda
Attributes Rewrite
...
Convert the uses of the Attributes class over to the new format. The
Attributes::get method call now takes an LLVM context so that the attributes
object can be uniquified and stored.
llvm-svn: 165918
2012-10-15 04:47:45 +00:00
Bill Wendling
0120167c20
Remove operator cast method in favor of querying with the correct method.
...
llvm-svn: 165900
2012-10-14 08:54:39 +00:00
Nico Weber
cc51c2f2dc
Simplify. Suggestion by Sean Silva.
...
llvm-svn: 165885
2012-10-13 21:56:05 +00:00
Nico Weber
cf4ff586e8
Add codegen support for __uuidof().
...
llvm-svn: 165710
2012-10-11 10:13:44 +00:00
Jordan Rose
d01e83ab3e
Rename ObjCMethodDecl::isSynthesized to isPropertyAccessor.
...
This more accurately reflects its use: this flag is set when a method
matches the getter or setter name for a property in the same class,
and does not actually specify whether or not the definition of the method
will be synthesized (either implicitly or explicitly with @synthesize).
This renames the setter and backing field as well, and changes the
(soon-to-be-obsolete?) XML dump format to use 'property_accessor'
instead of 'synthesized'.
llvm-svn: 165626
2012-10-10 16:42:25 +00:00
Bill Wendling
73e465e148
Have 'addFnAttr' take the attribute enum value. Then have it build the attribute object and add it appropriately. No functionality change.
...
llvm-svn: 165596
2012-10-10 03:13:20 +00:00
Bill Wendling
0597c1e53c
We use the enums to query whether an Attributes object has that attribute. The
...
opaque layer is responsible for knowing where that specific attribute is stored.
llvm-svn: 165489
2012-10-09 07:45:26 +00:00
Micah Villmow
dd31ca10ef
Move TargetData to DataLayout.
...
llvm-svn: 165395
2012-10-08 16:25:52 +00:00
Alex Rosenberg
ba036126cf
Propagate calling convention for aliases and weakrefs.
...
llvm-svn: 165343
2012-10-05 23:12:53 +00:00
Richard Smith
b555a767ba
PR13941: Mark all virtual functions as unnamed_addr. It's not possible to
...
observe their addresses (taking their address gives the vtable slot) so we are
free to merge their definitions.
llvm-svn: 164864
2012-09-28 22:46:07 +00:00
Dan Gohman
22695fcec3
Add basic support for adding !tbaa.struct metadata on llvm.memcpy calls for
...
struct assignment.
llvm-svn: 164853
2012-09-28 21:58:29 +00:00
Bill Wendling
6fe7b78db4
Update to new function attribute querying syntax.
...
llvm-svn: 164726
2012-09-26 21:59:46 +00:00
Roman Divacky
e637711ae0
Dont cast away const needlessly. Found by gcc48 -Wcast-qual.
...
llvm-svn: 163325
2012-09-06 15:59:27 +00:00
Benjamin Kramer
c215e76f78
Push ArrayRef through the Expr hierarchy.
...
No functionality change.
llvm-svn: 162552
2012-08-24 11:54:20 +00:00
Benjamin Kramer
fc6eb7d383
Reduce duplicated hash map lookups.
...
llvm-svn: 162361
2012-08-22 15:37:55 +00:00
Kostya Serebryany
28a26c8d99
[asan] If we are compiling with ASan, add metadata indicating dynamically initialized globals. Patch by Reid Watson, reviewed by Richard Smith
...
llvm-svn: 162259
2012-08-21 06:53:28 +00:00
Joerg Sonnenberger
8c02a241f4
Decrementing std::string::end is not portable, use array access instead.
...
llvm-svn: 161659
2012-08-10 10:57:52 +00:00
Eric Christopher
f8378ca2b1
Remove HasSynthBitfield and all callers/writers/etc. Also remove
...
previous ResetObjCLayout calls since this is now handled in Sema.
Part of rdar://11842763
llvm-svn: 160527
2012-07-19 22:22:55 +00:00
John McCall
775086e67c
Add the ObjFW runtime. Patch by Jonathan Schleifer!
...
llvm-svn: 160102
2012-07-12 02:07:58 +00:00
David Chisnall
b601c96892
Rename the GCC Objective-C runtime to gcc from gnu-fragile and the GNUstep
...
runtime to gnustep from gnu. Fix EH for the GCC runtime.
llvm-svn: 159684
2012-07-03 20:49:52 +00:00
Eli Friedman
c9f439461b
When we're looking for redeclarations which might provide a definition in CodeGen, make sure we examine all the redeclarations. PR13252.
...
llvm-svn: 159586
2012-07-02 21:05:30 +00:00