4967a710c84587c654b56c828382219c3937dacb |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master Clang for rebase to r275480 Bug: http://b/31320715 This merges commit ac9cc4764cf47a6c3f031687d8592e080c9f5001 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Ic2875e5c3673c83448cd7d1013861e42947b1b55
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
87d948ecccffea9e9e37d0d053b246e2d6d6c47b |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r256229 http://b/26987366 Change-Id: I5d349c9843ea5c24d6e455956f8a446393b6873d
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
58878f85ab89b13e9eea4af3ccf055e42c557bc8 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r235153 Change-Id: Ia94bbcb6da7c75b6e7c2afedd1001094d62a7324
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c568f1e98938584c0ef0b12ae5018ff7d90a4072 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for rebase to r212749. This also fixes a small issue with arm_neon.h not being generated always. Includes a cherry-pick of: r213450 - fixes mac-specific header issue r213126 - removes a default -Bsymbolic on Android Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8b54999a831bb195c08541ca995ef0505c96193f |
|
30-Oct-2013 |
Mark Lacey <mark.lacey@apple.com> |
Add CodeGenABITypes.h for use in LLDB. CodeGenABITypes is a wrapper built on top of CodeGenModule that exposes some of the functionality of CodeGenTypes (held by CodeGenModule), specifically methods that determine the LLVM types appropriate for function argument and return values. I addition to CodeGenABITypes.h, CGFunctionInfo.h is introduced, and the definitions of ABIArgInfo, RequiredArgs, and CGFunctionInfo are moved into this new header from the private headers ABIInfo.h and CGCall.h. Exposing this functionality is one part of making it possible for LLDB to determine the actual ABI locations of function arguments and return values, making it possible for it to determine this for any supported target without hard-coding ABI knowledge in the LLDB code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3da9a8ff0ec906d25f93a9dadf046533d0d8d5de |
|
24-Oct-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC IRGen. Replace _objc_empty_vtable pointer in Objective-C class metadata for certain deployment targets. // rdar://14802916 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
57b1da1588a3f5785ad8bd5d9f2d795d685e1058 |
|
14-Sep-2013 |
Cameron Esfahani <dirty@apple.com> |
Clean up some Triple usage in clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
23bde7df2cb1fc7029a6338bd109c078d09d13c2 |
|
22-Apr-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use the ugly PRIx64 macro to make format string portable. This is debugging code so functionality isn't a concern, but mingw32 warns because it doesn't understand the %llx format specifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
64aa4b3ec7e62288e2e66c1935487ece995ca94b |
|
17-Apr-2013 |
John McCall <rjmccall@apple.com> |
Standardize accesses to the TargetInfo in IR-gen. Patch by Stephen Lin! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
73c56bb0c8e722f4f0c0a044f13064d381f1ec8d |
|
03-Apr-2013 |
John McCall <rjmccall@apple.com> |
In ObjC++ on legacy runtimes, push an EH cleanup as well as a normal cleanup when entering a @try or @synchronized to ensure that we clean that up if an exception is triggered. Apparently GCC did this, so it's hard to argue that we shouldn't do at least as much. rdar://12364847 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5b07e8077a20b80fee90bd76c43c6150c676e4a8 |
|
13-Mar-2013 |
John McCall <rjmccall@apple.com> |
Tighten up the rules for precise lifetime and document the requirements on the ARC optimizer. rdar://13407451 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bd7370a78604e9a20d698bfe328c1e43f12a0613 |
|
28-Feb-2013 |
John McCall <rjmccall@apple.com> |
Use the actual ABI-determined C calling convention for runtime calls and declarations. LLVM has a default CC determined by the target triple. This is not always the actual default CC for the ABI we've been asked to target, and so we sometimes find ourselves annotating all user functions with an explicit calling convention. Since these calling conventions usually agree for the simple set of argument types passed to most runtime functions, using the LLVM-default CC in principle has no effect. However, the LLVM optimizer goes into histrionics if it sees this kind of formal CC mismatch, since it has no concept of CC compatibility. Therefore, if this module happens to define the "runtime" function, or got LTO'ed with such a definition, we can miscompile; so it's quite important to get this right. Defining runtime functions locally is quite common in embedded applications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0b5a483c8f5d8563ebc6ad5e311f2fadb734058d |
|
19-Feb-2013 |
John McCall <rjmccall@apple.com> |
Use the actual class visibility for the ObjC EHTYPE global, not the global visibility mode. Noticed by inspection. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3b1a40fedc489e8ad90476d9966ce39e93b86b44 |
|
18-Feb-2013 |
Douglas Gregor <dgregor@apple.com> |
CodeGenFunction::CurFuncDecl can be NULL; fix crash introduced in r175386. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
961f5708782bfd1d24f720546ea8017e986b8521 |
|
17-Feb-2013 |
Saleem Abdulrasool <compnerd@compnerd.org> |
[CodeGen] tighten objc ivar invariant.load attribution An ivar ofset cannot be marked as invariant load in all cases. The ivar offset is a lazily initialised constant, which is dependent on an objc_msgSend invocation to perform a fixup of the offset. If the load is being performed on a method implemented by the class then this load can safely be marked as an inviarant because a message must have been passed to the class at some point, forcing the ivar offset to be resolved. An additional heuristic that can be used to identify an invariant load would be if the ivar offset base is a parameter to an objc method. However, without the parameters available at hand, this is currently not possible. Reviewed-by: John McCall <rjmccall@apple.com> Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
06098586f1de7ec5e12ccc3a2291782dee99cd1e |
|
12-Feb-2013 |
John McCall <rjmccall@apple.com> |
Properly assemble PHIs after a null-checked invoke of objc_msgSend. rdar://12046763 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8f98bf94072fcd41f7da1f8e58b7171adc878d51 |
|
06-Feb-2013 |
Michael Gottesman <mgottesman@apple.com> |
Changed CGObjCMac.cpp to add the marker externally_initialized to SELECTOR_REFERENCES in both the fragile and non-fragile API. This is to ensure that GlobalOpt in LLVM does not attempt to look through a selector reference to a method var name at compile time. I also added a test/updated old tests that need to recognize the new keyword. rdar://12580965. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c4c62fd78a4728c9e4d4df14911a2ced9bdd2031 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make sure that the Attribute object represents one attribute only. Several places were still treating the Attribute object as respresenting multiple attributes. Those places now use the AttributeSet to represent multiple attributes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cfa88f893915ceb8ae4ce2f17c46c24a4d67502f |
|
12-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove useless 'llvm::' qualifier from names like StringRef and others that are brought into 'clang' namespace by clang/Basic/LLVM.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6a3c70ec59804347c99e96aa13934f63f4fed573 |
|
10-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
objectiveC++: When throwing c++ exception of an objectiveC object, use objc_exception_throw to raise the exception. // rdar://12605907 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3b844ba7d5be205a9b4f5f0b0d1b7978977f4b8c |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to reflect the migration in r171366. Re-sort the #include lines to reflect the new paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
72390b39c545426023ec104afe8706395d732bad |
|
20-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename llvm::Attributes to llvm::Attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ad017fa7a4df7389d245d02a49b3c79ed70bedb9 |
|
20-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Revert r170500. It over-zealously converted *ALL* things named Attributes, which is wrong here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
094dbf917127a1228147587076d59ca45b7c258d |
|
19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d397cfef01d49a41554309d67ea26340c39e1e94 |
|
17-Dec-2012 |
David Chisnall <csdavec@swan.ac.uk> |
Reapply r170344, this time without forgetting to commit the header changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e315cb3b30a0461ae501f8942f9d012bbeee3f90 |
|
17-Dec-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Revert "Added support for new property helpers (GNUstep runtime)." This reverts commit r170344. Doesn't even compile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
648dd82196b09953c029d15679e32a799a1b1eb6 |
|
17-Dec-2012 |
David Chisnall <csdavec@swan.ac.uk> |
Added support for new property helpers (GNUstep runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ff685c562c8fd5dfc6effec17377fde9dad6f271 |
|
04-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c blocks: Consider padding due to alignment after the fixed size block header when generating captured block variable info. // rdar://12773256 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
55fc873017f10f6f566b182b70f6fc22aefa3464 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3ca23d7dc6cb61e6f363a58d9256d548199d120c |
|
14-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C blocks: Provide layout map for byref variables captured in a block. // rdar://12184410 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1da01d6908de90c6856e7c93460b67bf3bb28dd9 |
|
07-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C blocks: bring back the CharUnit patch for captured block variable layout meta-data. No intended change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e5b4666d9b86ea30b90b599691e75d380f84ddd6 |
|
06-Nov-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Back out 167431+167437+167487; I didn't realize how incomplete our test coverage of this code is. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1307120129bd084378f1c22611402ae24c7bebb2 |
|
06-Nov-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Fix a silly mistake in r167437. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8cb809a488bafb7386335bcc21bde47948600c8a |
|
06-Nov-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Propagate CharUnits through CGObjCMac.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a2f9d214adb85a7d6d36add7460ce2115382ddc5 |
|
06-Nov-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Minor fix to ObjC layout bitmap metadata. Found while I was trying to refactor the code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
38ad4f40aa0ddc691d9b5ecbb4e9ca6ce95f3a05 |
|
06-Nov-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Propagate CharUnits into ObjC CodeGen. No intended functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c441cd347014bd3fe1915333c992a9a68bd725f9 |
|
04-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes liftime of captured block variables in mrr mode, per John's feedback, as well as couple of tests which were not being excercised because of TYPOs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
44fcff9ff40f400403dae57096040496a5ab3227 |
|
02-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C mrr block. Block variable layout metadata in mrr mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
00a8541416df6e2ca8b298759267bea479b6adfb |
|
01-Nov-2012 |
Matt Beaumont-Gay <matthewbg@google.com> |
Silence -Wformat on platforms where uint64_t is unsigned long. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f22ae6512dec60d9e526fe55b988f8d42ced5b57 |
|
01-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C block meta-data. This patch completes meta-data generation for captured block variables in arc mode. This includes inlined version of the meta-data when it can be done. It also includes severat tests. This is wip. // rdar://12184410. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c6abe9e0d94d82d566c716a1ab3c0fe6daadfb9c |
|
30-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C arc/mrr: Another patch for the new captured block variable layout meta-data. It is currently off (so no tests). This is wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c46b43517a18c8f41934a38a3580bd477ab54265 |
|
27-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C arc/mrr: Patch for the new block variable layout meta-data. It is currently off (so no tests). This is wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e11dba83d35b861e3a6c0d73ea84f89394cb9bad |
|
25-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Add some new types in preparation of encoding of captured block variable layout meta-data work. wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b03527a9a395168762ad8e25e59a7a272dd74561 |
|
17-Oct-2012 |
John McCall <rjmccall@apple.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
621915c7a454307ad06ed2363379d52e2695a870 |
|
17-Oct-2012 |
John McCall <rjmccall@apple.com> |
Organize and rename the magic constants for class flags. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a6375560645177168099f1a1d96be8fa4718aa8e |
|
16-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Use the Attributes::get method which takes an AttrVal value directly to simplify the code a bit. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0d5833921cc728bc1d2e45fbaf7b3e11cddbf99d |
|
15-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Move the Attributes::Builder outside of the Attributes class and into its own class named AttrBuilder. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
50e6b18f99c45b31e6216ab221f6b3911b24fa1f |
|
15-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b9966bd81878c6627d702368d6c4a8bc62bc01ac |
|
11-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C IRgen: When sending a method to 'super' in a category class method, don't read 'isa' pointer. Instead, save the desired OBJC_METACLASS_$_ClassName in __DATA,__objc_superrefs and read that without reading any isa pointers. // rdar://12459358 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
603571a2d6daca43162bf1d9469baf919697c00a |
|
10-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove the final bits of Attributes being declared in the Attribute namespace. Use the attribute's enum value instead. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
25a6a84cf5067b32c271e3ba078676dee838798d |
|
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f3477c13eeaf11b32a41f181398fb5deffd0dd73 |
|
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
94ff8e1f57c6382d91d0de981a4f311509d83e37 |
|
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix a typo 'iff' => 'if' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2d234d73f687428c89f8a99af94f123012f05551 |
|
06-Sep-2012 |
Aaron Ballman <aaron@aaronballman.com> |
Fixing the return type information for objc_sync_enter and objc_sync_exit. Patch thanks to Joe Ranieri! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
31ba6135375433b617a8587ea6cc836a014ebd86 |
|
06-Sep-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Dont cast away const needlessly. Found by gcc48 -Wcast-qual. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
94be8ea90795d00fe2a97fea9a9a727911a70997 |
|
31-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove deprecated getNameAsCString methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f7226fbe677a9c7578fa0613491ed15c6dc6a5e1 |
|
12-Jul-2012 |
John McCall <rjmccall@apple.com> |
Add the ObjFW runtime. Patch by Jonathan Schleifer! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0f3d0970dcdf6cf17550b86838dff12813968dbc |
|
07-Jul-2012 |
John McCall <rjmccall@apple.com> |
Distinguish more carefully between free functions and C++ instance methods in the ABI arrangement, and leave a hook behind so that we can easily tweak CCs on platforms that use different CCs by default for C++ instance methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
11d3f4cc27e6b923fc32481dc1bb5ec46c7d1f4b |
|
03-Jul-2012 |
David Chisnall <csdavec@swan.ac.uk> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
260611a32535c851237926bfcf78869b13c07d5b |
|
20-Jun-2012 |
John McCall <rjmccall@apple.com> |
Restructure how the driver communicates information about the target Objective-C runtime down to the frontend: break this down into a single target runtime kind and version, and compute all the relevant information from that. This makes it relatively painless to add support for new runtimes to the compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z, available at the driver level as a better and more general alternative to -fgnu-runtime and -fnext-runtime. This new concept of an Objective-C runtime also encompasses what we were previously separating out as the "Objective-C ABI", so fragile vs. non-fragile runtimes are now really modelled as different kinds of runtime, paving the way for better overall differentiation. As a sort of special case, continue to accept the -cc1 flag -fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak. I won't go so far as to say "no functionality change", even ignoring the new driver flag, but subtle changes in driver semantics are almost certainly not intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ca5233044ef679840d1ad1c46a36b16e2ee8a6e1 |
|
10-Jun-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR13064: Store whether an in-class initializer uses direct or copy initialization, and use that information to produce the right kind of initialization during template instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
581deb3da481053c4993c7600f97acf7768caac5 |
|
06-Jun-2012 |
David Blaikie <dblaikie@gmail.com> |
Revert Decl's iterators back to pointer value_type rather than reference value_type In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them. This rolls back r155808 and r155869. Review by Doug Gregor incorporating feedback from Chandler Carruth. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
262bc18e32500558af7cb0afa205b34bd37bafed |
|
30-Apr-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove the ref/value inconsistency in filter_decl_iterator. filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0982251be96409814c69d03193b558c7a927e1e8 |
|
24-Apr-2012 |
Bill Wendling <isanbard@gmail.com> |
Add a flag to the image info section indicating that the program is compiled for a simulator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
50651b951c216573175e2145f32df2c4658ba3f9 |
|
30-Mar-2012 |
John McCall <rjmccall@apple.com> |
Fix a pair of invalidation bugs when emitting protocol definitions in the fragile and non-fragile Mac ObjC runtimes. No useful test case. Fixes rdar://problem/11072576. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d |
|
11-Mar-2012 |
David Blaikie <dblaikie@gmail.com> |
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ebcb57a8d298862c65043e88b2429591ab3c58d3 |
|
06-Mar-2012 |
Ted Kremenek <kremenek@apple.com> |
Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, NSNumber, and boolean literals. This includes both Sema and Codegen support. Included is also support for new Objective-C container subscripting. My apologies for the large patch. It was very difficult to break apart. The patch introduces changes to the driver as well to cause clang to link in additional runtime support when needed to support the new language features. Docs are forthcoming to document the implementation and behavior of these features. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
85fdea03687e45dfde025867fe98ea24ac74c501 |
|
28-Feb-2012 |
Daniel Dunbar <daniel@zuster.org> |
Remove stray semi-colons. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
795b10062c2eaffae9e04241fb1a73cdbcb24a37 |
|
22-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Use an ArrayRef when we can instead of passing in a SmallVectorImpl reference. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cd285d061546b701431b4214e068e024245a96f5 |
|
20-Feb-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objc IRGen: force CSE of load of ivar offsets by setting the 'invariant.load' metadata tag onto those loads. // rdar://10840980 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
de5d3c717684f3821b8db58037bc7140acf134aa |
|
17-Feb-2012 |
John McCall <rjmccall@apple.com> |
Whether an argument is required (in contrast with being an optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable. This shouldn't really change anything for our existing platforms, with one minor exception --- we should now call variadic ObjC methods with the ... in the "right place" (see the test case), which I guess matters for anyone running GNUStep on MIPS. Mostly it's just a substantial clean-up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3973accabc855b81b55bcc1945a98b2adb2ce72a |
|
16-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Use the new method for specifying garbage collection metadata in the module. The garbage collection metadata needs to be merged "intelligently", when two or more modules are linked together, and not merely appended. (Appending creates a section which is too large.) The module flags metadata method is the way to do this. <rdar://problem/8198537> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ba83c95b9f8e6bd65405ebff815416fd06b3d4f8 |
|
16-Feb-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: For arc's ivar layout, treat __unsafe_unretained ivars as unscanned. // rdar://10832643 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a4dc693368e7af4001fe88076bdf4efd440022fa |
|
09-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove evil const_cast that's not needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3964e62786b0912fecc82d776daac236e05fc792 |
|
09-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Use SmallVector when we can instead of std::vector. This looks like it had a small, but measurable performance improvement on -O0 compile time for our ObjC tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f978059b82db8c0d849c5f992036210b5ca53200 |
|
07-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Switch the ObjC*Decl raw_stream overloads to take a reference, for consistency with NamedDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1e01ac4e4b8981942514ca8e1916bccef99a7ae2 |
|
07-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Use SmallVector instead of std::vector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bb02855f46423d2034918b75b157f886bb04bccc |
|
07-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Use 'ArrayRef<>' instead of 'std::vector<>&' for passed-in arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
13562a1f30df391607604fb6bf345af42b0d831d |
|
07-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Calculate the .size() of the vector once. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8b418685e9e4f02f4eb2a76e1ec063e07552b68d |
|
07-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0b2397132efe74ee11c1b371dd9033820c54240f |
|
06-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
use cheaper llvm APIs for various bits of IR generation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
94010695f7fce626e41ef045b60def9c912e9ce8 |
|
05-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
reapply the patches reverted in r149477, which enable ConstantDataArray. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f7ccbad5d9949e7ddd1cbef43d482553b811e026 |
|
05-Feb-2012 |
Dylan Noblesmith <nobled@dreamwidth.org> |
Basic: import SmallString<> into clang namespace (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5d3a4bb13dfad72c89df09bce70351175ecd19dc |
|
01-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Revert r149363 which was part a series of commits that were reverted in llvm commit 149470. This fixes test/CodeGen/PR3589-freestanding-libcalls.c. Original log: ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead. Many instances of ConstantArray::get() could be moved to use more efficient ConstantDataArray methods that avoid a ton of intermediate Constant*'s for each element (e.g. GetConstantArrayFromStringLiteral). I don't plan on doing this in the short-term though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
29254f4dd114fe2dd5c4e7a261ebea941973ad3d |
|
31-Jan-2012 |
David Chisnall <csdavec@swan.ac.uk> |
Support @compatibility_alias at run time (GNUstep Runtime) Patch by Niels Grewe! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
003eff627b3435d51b41fdbcdbbdbbfb55055bd4 |
|
31-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't zero terminate the bitmap twice. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ff8f9ec8336c62b5e3504e2a394f4b25c0cb1963 |
|
31-Jan-2012 |
Chris Lattner <sabre@nondot.org> |
ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead. Many instances of ConstantArray::get() could be moved to use more efficient ConstantDataArray methods that avoid a ton of intermediate Constant*'s for each element (e.g. GetConstantArrayFromStringLiteral). I don't plan on doing this in the short-term though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3c52d3633707453fbc08898935c45bed16953cfb |
|
31-Jan-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
test for a v-table dispatch that consumes an argument. twik to support the test case. // rdar://10444476 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3c267e6262bb319c8e56c9ea1283c7087f9ac107 |
|
30-Jan-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: Perform null check on receiver before sending methods which consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. In this patch, the null path releases consumed argument. // rdar://10444474 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4e1524babb095e70de1da882573eb6fbee98a857 |
|
29-Jan-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
revert r149184 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
de2fdc249e9c04757a7aaec029b231f4d7e6dbd7 |
|
28-Jan-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: Perform null check on receiver before sending methods which consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. // rdar://10444474 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3026348bd4c13a0f83b59839f64065e0fcbea253 |
|
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
65a1e6707de0d6641e70d0a6edd7593fae85df3c |
|
18-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Make sure to initialize ExternalProtocolPtrTy git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4c86fdb84ff016ee708e71f563ffe2a1c1b96b26 |
|
17-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Don't eagerly deserialize the 'Protocol' type when initializing code generation for Objective-C; it may not be needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
561d3abc881033776ece385a01a510e1cbc1fa92 |
|
17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unnecessary default cases in switches over enums. This allows -Wswitch-enum to find switches that need updating when these enums are modified. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e3173021fa3bfdf7e6759d67838e385a83b2d57e |
|
06-Jan-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objc++: some declarations related to atomic properties of c++ object types with non-trivial assignment copy. Not used yet. // rdar://6137845 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1d784b277cdfd4eba03680715d2a082b3f28d295 |
|
01-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce the core infrastructure needed to model redeclaration chains for Objective-C protocols, including: - Using the first declaration as the canonical declaration - Using the definition as the primary DeclContext - Making sure that all declarations have a pointer to the definition data, and that we know which declaration is the definition - Serialization support for redeclaration chains and for adding definitions to already-serialized declarations. However, note that we're not taking advantage of much of this code yet, because we're still re-using ObjCProtocolDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6446c3e3600032c5f17ca2324a4581b9301afa59 |
|
20-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
Mark the calls to the _setjmp function as returns twice. <rdar://problem/10492556> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dc8dab6fabf4bfd4f4b94bf572ac3342a5bbfcd7 |
|
30-Nov-2011 |
Bob Wilson <bob.wilson@apple.com> |
Add bigger method type encodings to protocol objects. <rdar://problem/10492418> The new metadata are method @encode strings with additional data. 1. Each Objective-C object is marked with its class name and protocol names. The same is done for property @encode already. 2. Each block object is marked with its function prototype's @encoding. For example, a method parameter that is a block object that itself returns void and takes an int would look like: @?<v@?i> These new method @encode strings are stored in a single array pointed to by structs protocol_t and objc_protocol_ext. Patch provided by Greg Parker! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a9e269e661ca7def681b69f2b88acf0c1fa3e654 |
|
29-Nov-2011 |
Bill Wendling <isanbard@gmail.com> |
The _setjmp builtin library function should have the "returns twice" attribute. This prevents the stack slot allocator from coming along and using a stack which it thinks is available but isn't. <rdar://problem/10492556> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b6d7114bcfa29b262f9f043a76da7dba39d65136 |
|
10-Nov-2011 |
Pete Cooper <peter_cooper@apple.com> |
Add invariant.load metadata to loads from selector references. Allows these loads to later be moved/combined in the optimizer. Fixes <rdar://problem/6027699> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
eea64802558cc398571938b1f28cda1d4fa79ec3 |
|
31-Oct-2011 |
Anders Carlsson <andersca@mac.com> |
In x86_64, when calling an Objective-C method that returns a _Complex long double, make sure to use the objc_msgSend_fp2ret function which ensures that the return value will be {0, 0} if the receiver is nil. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6c29edaa6fa0bd71c9b1770647a02ae686db87bd |
|
26-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Objective-c: fix an ir-gen crash where objc messag returns a _Complex value and ABI requires return slot to be passed as first argument to message sent. // rdar://10331109 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1d236ab930816f5da27bade92904914c44b73b4c |
|
15-Oct-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Replace vectors with arrays. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a6b8b2c09610b8bc4330e948ece8b940c2386406 |
|
10-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation refactoring: - Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions, and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert behaviour. - Factor out evaluation of bitfield bit widths. - Fix a few places which would evaluate an expression twice: once to determine whether it is a constant expression, then again to get the value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2b014d6c0c6b8ac94b416ac37dfc7931f20777a7 |
|
01-Oct-2011 |
John McCall <rjmccall@apple.com> |
When performing an @throw in ARC, retain + autorelease the pointer, being sure to do so before running cleanups associated with that full-expression. rdar://10042689 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
578faa837b552403e2002b97fdfbfde14f2448e5 |
|
27-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
de-tmpify clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
eb2d1f1c88836bd5382e5d7aa8f6b85148a88b27 |
|
23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Removing a bunch of dead returns/breaks after llvm_unreachables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b219cfc4d75f0a03630b7c4509ef791b7e97b2c8 |
|
23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Switch assert(0/false) llvm_unreachable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e289d81369914678db386f6aa86faf8f178e245d |
|
13-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Switch LangOptions over to a .def file that describes header of the language options. Use that .def file to declare the LangOptions class and initialize all of its members, eliminating a source of annoying initialization bugs. AST serialization changes are next up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
94da1587f7d584fc61df793229d197969f204cd9 |
|
10-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Clean up our handling of Objective-C definitions in AST files. Rather than having CodeGen check whether a declaration comes from an AST file (which it shouldn't know or care about), make sure that the AST writer and reader pass along "interesting" declarations that CodeGen needs to know about. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
919814def90acecd25a35445862f0c0ff72a9b05 |
|
10-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new predicate Decl::isFromASTFile() to determine whether a declaration was deserialized from an AST file. Use this instead of Decl::getPCHLevel() wherever possible. This is a simple step toward killing off Decl::getPCHLevel(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bcfd1f55bfbb3e5944cd5e03d07b343e280838c4 |
|
02-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Extend the ASTContext constructor to delay the initialization of builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, rather than doing so after the fact. No actual functionality change (yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c1c20114a401e503c07d68c47e0728bb063f35c8 |
|
12-Aug-2011 |
Chris Lattner <sabre@nondot.org> |
switch clang to use the new-new way of creating llvm::StructType's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
01a4cf11777bb34c35f5d251a9e95eb736d0842b |
|
11-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Encapsulate the Objective-C id/Class/SEL "redefinition" types in ASTContext with accessors/mutators. The only functional change is that the AST writer won't bother writing the id/Class/SEL redefinition type if it hasn't been explicitly set; previously, it ended up being written as a synonym for the built-in id/Class/SEL. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
777d6e56ad9b1fed9866daf3ee6486d85c5b7d32 |
|
11-Aug-2011 |
John McCall <rjmccall@apple.com> |
Simplify EH control flow by observing that EH scopes form a simple hierarchy of delegation, and that EH selector values are meaningful function-wide (good thing, too, or inlining wouldn't work). 2,3d 1a hierarchy of delegation and that EH selector values have the same meaning everywhere in the function instead of being meaningful only in the context of a specific selector. This removes the need for routing edges through EH cleanups, since a cleanup simply always branches to its enclosing scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0f6ac7cf7bc6a02c1a5c19d2c90ec0d1dd7786e7 |
|
22-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
db8264e4c5ffd7af6fbad4ca4306bd382bb02691 |
|
22-Jul-2011 |
Jordy Rose <jediknil@belkadan.com> |
Add a const overload for ObjCInterfaceDecl::all_declared_ivar_begin. This was previously not-const only because it has to lazily construct a chain of ivars the first time it is called (and after the chain is invalidated). In practice, all the clients were just const_casting their const Decls; all those now-unnecessary const_casts have been removed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a5c04344fa70d6eec34344760c1fe511e16f2d76 |
|
21-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert ConstantExpr::getGetElementPtr and ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2acc6e3feda5e4f7d9009bdcf8b1cd777fecfe2d |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
de-constify llvm::Type, patch by David Blaikie! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4c7d9f1507d0f102bd4133bba63348636facd469 |
|
15-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert CallInst and InvokeInst APIs to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ad346f4f678ab1c3222425641d851dc63e9dfa1a |
|
12-Jul-2011 |
John McCall <rjmccall@apple.com> |
Generalize Cleanup::Emit's "isForEH" parameter into a set of flags. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9cbe4f0ba01ec304e1e3d071c071f7bca33631c0 |
|
09-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
clang side to match the LLVM IR type system rewrite patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bf9eb88792e022e54a658657bf22e1925948e384 |
|
28-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Eliminate most uses of ShallowCollectObjCIvars which requires a vector for collection. Use iterators where needed instead. // rdar://6817577 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cf5abc7ba032bd35158e4d75b0bc92a482fc67e8 |
|
23-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Support for catching objc pointer objects in c++ catch-statement in fragile abi mode and some other cleanups. // rdar://8940528 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9d96bce991048fd2337cf058ec6a6a722207cbf2 |
|
22-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Alloa catching Objective-C id's being thrown with C++ throw in Darwin's fragile abi mode. // rdar://8940528 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
97357602a289749d59520ac4ac31149f8d32e12e |
|
22-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
Replace the existing forms of ConstantArray::get() with a single form that takes an ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c5cbb909e8a27deb8f1a2b6b7bf56a96051af81a |
|
20-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
Update to match mainline ConstantStruct::get API change. Also, use ConvertType on InitListExprs as they are being converted. This is needed for a forthcoming patch, and improves the IR generated anyway (see additional type names in testcases). This patch also converts a bunch of std::vector's in CGObjCMac to use C arrays. There are a ton more that should be converted as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7650d95a1a616ea300f37126a8dfc93dc19a662a |
|
19-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
update for api change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f85e193739c953358c865005855253af4f68a497 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting. Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7a614d8380297fcd2bc23986241905d97222948c |
|
11-Jun-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement support for C++11 in-class initialization of non-static data members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f968d8374791c37bc464efd9168c2d33dd73605f |
|
27-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Objective-C doesn't consider the use of incomplete types as method parameter types to be ill-formed. However, it relies on the completeness of method parameter types when producing metadata, e.g., for a protocol, leading IR generating to crash in such cases. Since there's no real way to tighten down the semantics of Objective-C here without breaking existing code, do something safe but lame: suppress the generation of metadata when this happens. Fixes <rdar://problem/9123036>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6f40e2244b0590f144c5ceee07981a962fbbc72e |
|
18-May-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to fix IR-gen crash generating structure ABI which implements user specified string class via -fconstant-string-class option. pr9914. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0774cb84719f2aea3016493a2bbd9a02aa3e0541 |
|
15-May-2011 |
John McCall <rjmccall@apple.com> |
Use arrays and SmallVectors instead of std::vectors when building function types. Also, cache a translation of 'void' in CGM and provide a ptrdiff_t alias. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cba681af356e24ec4335bcf2b6bb6515072ace99 |
|
14-May-2011 |
John McCall <rjmccall@apple.com> |
Only perform the null-initialization of an aggregate result of a message 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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
944c84313da15477eb18d90babb0890d10d98082 |
|
14-May-2011 |
John McCall <rjmccall@apple.com> |
Objective-C vtables are not taking the world by storm; call them 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b1e8144a9620a16281a8b56a8b49d4cf37db3242 |
|
14-May-2011 |
John McCall <rjmccall@apple.com> |
Reorganize this method to avoid multiple calls for computing CGFunctionInfo and to decrease the amount of effort in appending strings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e0c7665b042fd1ef7aaad5074131c5ce8bfba766 |
|
06-May-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
type of last arg of objc_assign_ivar is ptrdiff_t. // rdar://9362887 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1f382510495b581e3028d670a23c7dcf5440be62 |
|
04-May-2011 |
Bill Wendling <isanbard@gmail.com> |
Pack ivar offsets together. 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> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
04c9a49ee251424b11d7c4e8b1c23637684cecb6 |
|
02-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Simplify code a bit by using CallArgList::add. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
64089cece350472c04b420c497ae391443353325 |
|
23-Apr-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes an instance method meta-data generation bug in ObjC NeXt runtime where method pointer registered in metadata belongs to an unrelated method. Ast part of this fix, I turned at @end missing warning (for class implementations) into an error as we can never be sure that meta-data being generated is correct. // rdar://9072317 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fc8f0e14ad142ed811e90fbd9a30e419e301c717 |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix a bunch of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fb67ccd9da412d652d62e2ac9675b0f1b14fdc73 |
|
14-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Replace a couple of divisions-by-'8' with divisions-by-charwidth. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
af19ac4b39ea1a545bd279df38ac65144f84e4b2 |
|
25-Mar-2011 |
Daniel Dunbar <daniel@zuster.org> |
Obj-C/NeXT: Update and reapply 108847, now that changes are more baked. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
05dc91bc772f6dc46f90d927048bbef05ba03392 |
|
25-Mar-2011 |
David Chisnall <csdavec@swan.ac.uk> |
Refactor CGObjCMac to use the shared code for EH stuff. Sanity checked by John McCall. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9735ca6e01113aec6a825dd5b1cb1b98fb377d31 |
|
25-Mar-2011 |
David Chisnall <csdavec@swan.ac.uk> |
Continuing work on ObjC tidyup: - Moved the CGObjCRuntime functions out of CGObjCMac.cpp into CGObjCRuntime.cpp - Added generic functions in CGObjCRuntime for emitting @try and @synchronize blocks, usable by any runtime that uses DWARF exceptions. - Made the GNU runtimes use these functions. It should now be possible to replace the equivalent functions in CGObjCNonFragileABIMac with simple calls to these two functions, providing the runtime functions as arguments. I'll post a diff to the list for review before making any changes to the Mac runtime stuff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0a0d2b179085a52c10402feebeb6db8b4d96a140 |
|
23-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement a new 'availability' attribute, that allows one to specify which versions of an OS provide a certain facility. For example, void foo() __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6))); says that the function "foo" was introduced in 10.2, deprecated in 10.4, and completely obsoleted in 10.6. This attribute ties in with the deployment targets (e.g., -mmacosx-version-min=10.1 specifies that we want to deploy back to Mac OS X 10.1). There are several concrete behaviors that this attribute enables, as illustrated with the function foo() above: - If we choose a deployment target >= Mac OS X 10.4, uses of "foo" will result in a deprecation warning, as if we had placed attribute((deprecated)) on it (but with a better diagnostic) - If we choose a deployment target >= Mac OS X 10.6, uses of "foo" will result in an "unavailable" warning (in C)/error (in C++), as if we had placed attribute((unavailable)) on it - If we choose a deployment target prior to 10.2, foo() is weak-imported (if it is a kind of entity that can be weak imported), as if we had placed the weak_import attribute on it. Naturally, there can be multiple availability attributes on a declaration, for different platforms; only the current platform matters when checking availability attributes. The only platforms this attribute currently works for are "ios" and "macosx", since we already have -mxxxx-version-min flags for them and we have experience there with macro tricks translating down to the deprecated/unavailable/weak_import attributes. The end goal is to open this up to other platforms, and even extension to other "platforms" that are really libraries (say, through a #pragma clang define_system), but that hasn't yet been designed and we may want to shake out more issues with this narrower problem first. Addresses <rdar://problem/6690412>. As a drive-by bug-fix, if an entity is both deprecated and unavailable, we only emit the "unavailable" diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
60be607e5d71627bf3dab8f51c3fdca74267c692 |
|
22-Mar-2011 |
David Chisnall <csdavec@swan.ac.uk> |
Simplify Mac runtime selection - it's the factory function's job to select which class to produce, not CodeGenModule's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ab5824e97666ca7a91ed3013524cee18420866f1 |
|
22-Mar-2011 |
David Chisnall <csdavec@swan.ac.uk> |
Make the property accessor functions that take a ptrdiff_t actually take a ptrdiff_t instead of a long (should have no impact on any sane platforms, but win64 is not sane). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ba877adeb49ed6dc17f27fa3a3bcd0cca713fd68 |
|
09-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed InnerLocStart. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ff676cb48fe8bf7be2feaa251dc7c5fb15af4730 |
|
08-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed source range for all DeclaratorDecl's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fb4eb9f56c1b7bb4fb632127a5e2d253b65758bf |
|
04-Mar-2011 |
John McCall <rjmccall@apple.com> |
Access ivars with inbounds GEPs, even in -fwrapv. It's unlikely that this can have any optimization effect, given the opacity of objects pointers, but you never know. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
604da292483bc94a6a3e4700cd426d4fa7f1a4a8 |
|
04-Mar-2011 |
John McCall <rjmccall@apple.com> |
Let's do super message sends with static allocas instead of dynamic ones. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c0ddef23136368ce1bd882f7edd43591c8f30aa6 |
|
01-Mar-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc IRGen for Next runtime message API. The prototype for objc_msgSend() is technically variadic - `id objc_msgSend(id, SEL, ...)`. But all method calls should use a prototype that matches the method, not the prototype for objc_msgSend itself(). // rdar://9048030 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bf1f826ddadb046add4a9c7d7f7690f43feb55cf |
|
28-Feb-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Revert r126678. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3d04a0e534b43504f6879657d47891625bd63352 |
|
28-Feb-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc IRGen for Next runtime message API. The prototype for objc_msgSend() is technically variadic - `id objc_msgSend(id, SEL, ...)`. But all method calls should use a prototype that matches the method, not the prototype for objc_msgSend itself(). // rdar://9048030 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
448d2cdce2dd8360c09f4187cd7bbebf16ff964d |
|
26-Feb-2011 |
John McCall <rjmccall@apple.com> |
Don't assume that whoever is asking for a message send is going to give us a non-null return slot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a1bcc4ddb1ed8be9be6950232941d80a04f80819 |
|
26-Feb-2011 |
John McCall <rjmccall@apple.com> |
Zero-initialize the struct-return slot of an Objective-C message send before making the call. Fixes rdar://problem/7854674 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ec2990351335f163601b98e39b52425e2e9f931e |
|
11-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Convert RecordLayout::DataSize to CharUnits from bits, eliminating two unnecessary calls to RoundUpToAlignment. No changes to functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dd76a9ab9ea675671200f94b18ce95766841952b |
|
11-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Add a helper function, ASTContext::toBits(), that converts sizes in CharUnits to sizes in bits, and use it to tidy up the places where the conversion was done explicitly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5f022d82696c84e4d127c558871d68ac6273274e |
|
09-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Convert RecordLayout::Size to CharUnits from bits. No changes to functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d16c2cf1cafa413709aa487cbbd5dc392f1ba1ff |
|
08-Feb-2011 |
John McCall <rjmccall@apple.com> |
Reorganize CodeGen{Function,Module} to eliminate the unfortunate Block{Function,Module} base class. Minor other refactorings. Fixed a few address-space bugs while I was there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6b5a61b6dc400027fd793dcadceeb9da944a37ea |
|
07-Feb-2011 |
John McCall <rjmccall@apple.com> |
A few more tweaks to the blocks AST representation: - BlockDeclRefExprs always store VarDecls - BDREs no longer store copy expressions - BlockDecls now store a list of captured variables, information about how they're captured, and a copy expression if necessary With that in hand, change IR generation to use the captures data in blocks instead of walking the block independently. Additionally, optimize block layout by emitting fields in descending alignment order, with a heuristic for filling in words when alignment of the end of the block header is insufficient for the most aligned field. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
36f893c1efe367f929d92c8b125f964c22ba189e |
|
28-Jan-2011 |
John McCall <rjmccall@apple.com> |
Move all the cleanups framework code into a single file. Pure motion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f96bdf409fc9e5570e35aaf8a9167265e63d58d8 |
|
03-Jan-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Consider zero-length array of structs when computing ivar layouts for objc-gc. Fixes // rdar://8800513 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8fac25d33b13e25f512dd921d4d5a4b565f5d175 |
|
26-Dec-2010 |
David Chisnall <csdavec@swan.ac.uk> |
Add support for GNU runtime property set / get structure functions. Minor refactoring of Mac runtime (returns the same function for both, as the Mac runtimes currently only provide a single entry point for setting and getting struct properties, although this will presumably be fixed at some point). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e0d987626cc11317b36d6d3cc148c9a9d4b35850 |
|
03-Nov-2010 |
David Chisnall <csdavec@swan.ac.uk> |
Some fixes for synthesized ivar metadata (GNU runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1fb0caaa7bef765b85972274e3b434af2572c141 |
|
22-Oct-2010 |
John McCall <rjmccall@apple.com> |
Substantially revise how clang computes the visibility of a declaration to more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which will undoubtedly arise in abundance. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4c73307c74764ba99e1379677fe92af72f676531 |
|
19-Oct-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch implements Next's IRGen for -fconstant-string-class=class-name. PR6056, //rdar: //8564463 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fd186ac63b427ed65bf5972ef225961afe7893ff |
|
16-Oct-2010 |
John McCall <rjmccall@apple.com> |
Coding by inspection has its problems. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7ec404c40e42ce274d956a289ffa91e8f4befc43 |
|
16-Oct-2010 |
John McCall <rjmccall@apple.com> |
objc_exception_rethrow does not take an exception argument. rdar://problem/8535238 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b10ce9f4fcff51bebc9efaeda2fa15b6478c6aec |
|
16-Oct-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert r116656, "IRgen/Obj-C/NeXT: Fix the IR signature for objc_exception_rethrow, so we don't...", since something is actually trying to call this with the wrong signature (!). Unfortunately I don't understand the new EH infrastructure well enough to fix it immediately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
338ebcc57e116c2ca8c968d202ec81681a835748 |
|
16-Oct-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/Obj-C/NeXT: Fix the IR signature for objc_exception_rethrow, so we don't generate unnecessary %al clear on x86_64. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b6bbcc9995186799a60ce17d0c1acff31601653a |
|
15-Oct-2010 |
John McCall <rjmccall@apple.com> |
Death to blocks, or at least the word "block" in one particular obnoxiously ambiguous context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9e2213ddd5b3510fa48e3175e9d098db4224cc30 |
|
05-Oct-2010 |
John McCall <rjmccall@apple.com> |
In the fragile ObjC ABI, save the caught exception to the side if there are both @catches and a @finally, because the second call to @objc_exception_try_enter will clobber the exception slot. Fixes rdar://problem/8440970. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fb550312e74e2a04e93963891aa517d7acfc971b |
|
13-Sep-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Block description for trivial block literals have their 'isa' field scanned regardless. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c5904b40c3d76b612fb09c6d2717f646a0af6670 |
|
11-Sep-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes an obscure bug in importd block variable layout information when imported variable is used more than once. Originally though to be a bug in importing block varibles. Fixes radar 8417746. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
81979822cbf6347116d06dac0e5b06c451bcff05 |
|
09-Sep-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Block ivar layout must assume that the 'isa' field of the block descriptor is GC'able (scanned) as this what the runtime expects (one can send it messages). Radar 8394947. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0dc7509ed7f775f74106fbac37473da39b6c8e3a |
|
06-Sep-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
LastFieldBitfield in CGObjCCommonMac::BuildAggrIvarLayout keeps bitfields or unnamed fields but later the code assumes that it's always a bitfield. This can lead to a crash (reported at rdar://8368320). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c5c446ccadddd541e9aa6c1c609b114080710498 |
|
03-Sep-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/Obj-C: Rewrite Objective-C bit-field access to compute the access strategy using the same methods as used for normal structures. - This fixes problems with reading past the end of the structure and with handling straddled bit-field access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
53b9441b5a81a24fa1f66f3f6416f1e36baa9c2f |
|
01-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Split ObjCInterfaceDecl::ReferencedProtocols into two lists: ReferencedProtocols and AllReferencedProtocols. ReferencedProtocols (and thus protocol_begin(), protocol_end()) now only contains the list of protocols that were directly referenced in an @interface declaration. 'all_referenced_protocol_[begin,end]()' now returns the set of protocols that were referenced in both the @interface and class extensions. The latter is needed for semantic analysis/codegen, while the former is needed to maintain the lexical information of the original source. Fixes <rdar://problem/8380046>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
76695ca7ae85f164865c3650ca44720217aa78b3 |
|
21-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
Simplify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6d5eb76059c6251ffbb8f0cbac8d7fe9a3efabce |
|
21-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move remaining MakeAddr() calls to MakeAddrLValue(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2c18bb7c9fca66c30b6eabbdcbc6399d24a54fa9 |
|
20-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c ivar refactoring patch. Iterations over ivars for a varienty of puposes is now consolidated into two small routines; DeepCollectObjCIvars and ShallowCollectObjCIvars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9b7d6701dabc24387cc152e4d13bf9aec6aa461a |
|
18-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
zap dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4087f27e5416c799bcb6be072f905be752acb61c |
|
18-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
StringRef'ication of lots stuff, patch by Peter Davies! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ba6f816d633e3b88c38c6896c2d78d19489650f2 |
|
15-Aug-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Remove dead code, caught by unused function warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d96a8e771ca9f406f0fa1dd4639997335ae444a7 |
|
11-Aug-2010 |
John McCall <rjmccall@apple.com> |
Fix a bug in @finally emission in both the fragile and non-fragile EH schemes where we weren't accounting for the possibility that a @finally block might have internal cleanups and therefore might write to the cleanup destination slot. Fixes <rdar://problem/8293901>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9d50c0635fb213b2a1857e3f8488580f0dab2f98 |
|
09-Aug-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support ObjC implementation decls for PCH. Strictly speaking, implementations don't go in headers but there's no law against it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a1f024c1a5c49f87ee1d0767afc0437c4e4dbecf |
|
06-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Finishing up block variable layout API by supporting union type variables and their nesting inside other aggregate types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e1a48984f91cd8a65932f69be25f8330737e9842 |
|
05-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Add support for block imported struct variable layout info. (objc gc and blocks in NeXt runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8ada8eb194773fb22560925a1b726971b1f76128 |
|
05-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
For now skip over aggregate non-byref block variables. (objc gc specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5af1235d48d7bde471eb63fe6e1729be7c0308b8 |
|
05-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Trying to unbreak buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b8fd2eb42a9f21c1ea65a5be37f3ce814c5cf745 |
|
05-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Clean up of my last patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
93ce50d0e6fda37a74033596d8c1c08e6ec27ab1 |
|
05-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Block variable layout bitmap API generation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
44034db24bf59a53aa7699f4bbf59b939710bb3c |
|
04-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
More objc block variable layout info. work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
89ecd41e0a6bfb3b0913dbe41c3c666340b308c7 |
|
04-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Some early work for providing block layout info. for objective-c/c++ blocks (NeXt runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0b2517299415ab1c28b9cb87d536ccea84317a10 |
|
04-Aug-2010 |
John McCall <rjmccall@apple.com> |
Some more correctness fixes and code-size optimizations for fragile-ABI ObjC exceptions: - don't enter a try for the catch blocks unless there's a finally - put the setjmp buffer in the locals set for liveness reasons - dump the sync object into an alloca in the locals set for liveness reasons Some of this can go away if the backend starts to properly calculate liveness in the presence of setjmp (which would also be a *much* stabler solution). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
87bb5822bfa4baea23a3d9273df266777f3ab796 |
|
01-Aug-2010 |
John McCall <rjmccall@apple.com> |
Fix fragile-ABI ObjC exceptions in the presence of optimization with the magic of inline assembly. Essentially we use read and write hazards on the set of local variables to force flushing locals to memory immediately before any protected calls and to inhibit optimizing locals across the setjmp->catch edge. Fixes rdar://problem/8160285 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6633e3c5b33c10ebfc5a369e412bb3d3f2cb3899 |
|
30-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert "Re-apply fixed version of 108749, correctly conditionalizing the new sections on", this change uncovered a possible linker bug which resulted in the wrong messages getting dispatched. Backing this out while we investigate... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5a180397870944548aaadeaebf58e415885b9489 |
|
24-Jul-2010 |
John McCall <rjmccall@apple.com> |
Support catching Objective C pointers in C++ under the non-fragile NeXT runtime. Diagnose attempts to do this under the GNU or fragile NeXT runtimes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ff8e11579fc904aa4032d90d2be6ce1ac5fc9fe1 |
|
23-Jul-2010 |
John McCall <rjmccall@apple.com> |
Revise cleanup IR generation to fix a major bug with cleanups (PR7686) as well as some significant asymptotic inefficiencies with threading multiple jumps through deep cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1f0fca54676cfa8616e7f3cd7a26788ab937e3cd |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Rename LazyCleanup -> Cleanup. No functionality change for these last three commits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cc5052999cd064584492ba15a808b6e1cee6d931 |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Switch the fragile-ABI @finally/@synchronized cleanup over to using a lazy cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
740e807eee153348f50a86f4a6eac49f324467ab |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Convert the ObjC @synchronized cleanups to laziness. This is not actually a big deal, except that I want to eliminate the shared-code EH cleanups in preparation for a significant algorithmic fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
021a7a63984f0f912dc9e9dae2a1b3e1509a40ce |
|
20-Jul-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Adopt objc_assign_threadlocal() for __thread variables of GC types. Implements radar 8203301. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
35eee091f90496f5d59db62b83bfdae8258f4dc1 |
|
20-Jul-2010 |
Jim Grosbach <grosbach@apple.com> |
Re-apply fixed version of 108749, correctly conditionalizing the new sections on ObjC ABI version 2 this time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
af0bbea0d1ac9a79ed20845204059ed9c089d492 |
|
20-Jul-2010 |
Jim Grosbach <grosbach@apple.com> |
Temporarily revert. Some odd internal breakage is likely related. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2543dbb9d05c73dce758e48701807c8cf3714ed8 |
|
19-Jul-2010 |
Jim Grosbach <grosbach@apple.com> |
Put ObjC method names, method types and class names in separate string literal sections. rdar://8207705 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dacf9dda17346c628fdd8c5df53c681738db0dc5 |
|
15-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
CodeGen/ObjC/NeXT: Fix Obj-C message send to match llvm-gcc when choosing whether to use objc_msgSend_fpret; the choice is target dependent, not Obj-C ABI dependent. - <rdar://problem/8139758> arm objc _objc_msgSend_fpret bug git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8e3f86193995c47ee0d229e4336c3382410f09f5 |
|
14-Jul-2010 |
John McCall <rjmccall@apple.com> |
Allow for the possibility that __cxa_end_catch might throw for a catch-all block or a catch of a record type by value or reference. Also convert this to a lazy cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
da65ea86482bc116906edfb9ba1d7124f76cc867 |
|
13-Jul-2010 |
John McCall <rjmccall@apple.com> |
Teach IR generation how to lazily emit cleanups. This has a lot of advantages, mostly in avoiding unnecessary work at compile time but also in producing more sensible block orderings. Move the destructor cleanups for local variables over to use lazy cleanups. Eventually all cleanups will do this; for now we have some awkward code duplication. Tell IR generation just to never produce landing pads in -fno-exceptions. This is a much more comprehensive solution to a problem which previously was half-solved by checks in most cleanup-generation spots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f1549f66a8216a78112286e3978cea2c29d6334c |
|
06-Jul-2010 |
John McCall <rjmccall@apple.com> |
Validated by nightly-test runs on x86 and x86-64 darwin, including after self-host. Hopefully these results hold up on different platforms. I tried to keep the GNU ObjC runtime happy, but it's hard for me to test. Reimplement how clang generates IR for exceptions. Instead of creating new invoke destinations which sequentially chain to the previous destination, push a more semantic representation of *why* we need the cleanup/catch/filter behavior, then collect that information into a single landing pad upon request. Also reorganizes how normal cleanups (i.e. cleanups triggered by non-exceptional control flow) are generated, since it's actually fairly closely tied in with the former. Remove the need to track which cleanup scope a block is associated with. Document a lot of previously poorly-understood (by me, at least) behavior. The new framework implements the Horrible Hack (tm), which requires every landing pad to have a catch-all so that inlining will work. Clang no longer requires the Horrible Hack just to make exceptions flow correctly within a function, however. The HH is an unfortunate requirement of LLVM's EH IR. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
77b89b87c3b9220fea1bc80f6d6598d2003cc8a8 |
|
27-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
finally get around to doing a significant cleanup to irgen: have CGF create and make accessible standard int32,int64 and intptr types. This fixes a ton of 80 column violations introduced by LLVMContextification and cleans up stuff a lot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0c293ea13d452c1a47a05ada5a5ee9acc69c66cc |
|
23-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Type Type::isRealFloatingType() that vectors are not floating-point types, updating callers of both isFloatingType() and isRealFloatingType() accordingly. Caught at least one issue where we allowed one to declare a vector of vectors (!), along with cleaning up the standard-conversion logic for C++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6afbdf52563942cbf3d68c1cc0fcf590c94a47d3 |
|
22-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes a problem in generation of meta-data for category implementation whereby property list was missing. NeXt ObjC runtime (radar 8093297). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b9c5b3ddde5a327cd31f3aacbfc7d1e491f99fcb |
|
22-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
In fragile-abi (32bit mode abi) generate global symbol objc_category_name_xxx for each category implementation. (fixes PR7431) patch by Nico Weber. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7e70fb217dcdf96faf34df3e197c3831c86f8089 |
|
21-Jun-2010 |
Anders Carlsson <andersca@mac.com> |
Fix an Obj-C++ miscompile when calling an Obj-C method that returns a C++ reference. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
03b2960c14aede6ac82bdef32247094ebb72fa69 |
|
17-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Objective-c++ IRGen. Support for @selector expression as an lvalue. Fixes PR7390. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
06057cef0bcd7804e80f3ce2bbe352178396c715 |
|
16-Jun-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Move CodeGenOptions.h *back* into Frontend. This should have been done when the dependency edge was reversed such that CodeGen depends on Frontend. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
55bcace250e1ff366e4482714b344b8cbc8be5f3 |
|
16-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch adds support for copying of those objective-c++ class objects which have GC'able objc object pointers and need to use ObjC's objc_memmove_collectable API (radar 8070772). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
69677eadf881ba02d1a36e55c3b9a520769aa3c3 |
|
28-May-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
zero-cost exception API for NeXt runtime. rethrow inside @catch block must use objc_exception_rethrow API. Fixes radar 8037512. Test will be added to LLVM test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ef072fd2f3347cfd857d6eb787b245b950771430 |
|
22-May-2010 |
John McCall <rjmccall@apple.com> |
Push a return-value slot throughout ObjC message-send codegen. Will be critical for ObjC++ correctness; hard to test independently of various required Sema changes, though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
506b57e8b79d7dc2c367bf2ee7ec95420ad3fc8f |
|
17-May-2010 |
John McCall <rjmccall@apple.com> |
Clean up some more uses of getAs<ObjCInterfaceType>() that Fariborz pointed out. The remaining ones are okay. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c12c5bba6ceb6acd4e51e7a0fc03257da9cfd44e |
|
15-May-2010 |
John McCall <rjmccall@apple.com> |
Substantially alter the design of the Objective C type AST by introducing ObjCObjectType, which is basically just a pair of one of {primitive-id, primitive-Class, user-defined @class} with a list of protocols. An ObjCObjectPointerType is therefore just a pointer which always points to one of these types (possibly sugared). ObjCInterfaceType is now just a kind of ObjCObjectType which happens to not carry any protocols. Alter a rather large number of use sites to use ObjCObjectType instead of ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather than hashing them in a FoldingSet. Remove some number of methods that are no longer used, at least after this patch. By simplifying ObjCObjectPointerType, we are now able to easily remove and apply pointers to Objective-C types, which is crucial for a certain kind of ObjC++ metaprogramming common in WebKit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
465d41b92b2c862f3062c412a0538db65c6a2661 |
|
11-May-2010 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Merged Elaborated and QualifiedName types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
daa3ac503e93315ed3546463c13de4856bb80ef7 |
|
29-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/NeXT: Put the synthesized _objc_super, _message_ref_t decls in a valid DeclContext, to satisfy the invariants that should hold on a RecordDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
109dfc6ca6652f60c55ed0f2631aebf323d0200d |
|
28-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
IRGen for initialization/destruction of ivar class objects (NeXt runtime). (radar 7900343). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c6cd5fd3eae71f8841504a396563343cfaaf503e |
|
28-Apr-2010 |
David Chisnall <csdavec@swan.ac.uk> |
Changed signature of GenerateMessageSend() function to pass the ObjCInterfaceDecl for class messages and removed the boolean IsClassMessage argument, which wasn't used anywhere. Emitted some metadata on message sends to allow a later pass to do some speculative inlining of class methods (GNU runtime). Speculative inlining of instance methods requires type feedback to be useful (work in progress), but for class methods it works quite nicely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c00d8e18ad3d903acfeb5d05163ce90713066a3f |
|
26-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Make the static type of the exception variable in an Objective-C @catch a VarDecl. The dynamic type is still a ParmVarDecl, but that will change soon. No effective functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4b429ae34d80dd21661c91009c559746e553bc1e |
|
25-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/NeXT: Fix several alignment issues with Objective-C metadata symbols: - Fix some places that had the alignment hard coded. - Use ABI type alignment, not preferred type alignment -- neither of this is exactly right, as we really want the C type alignment as required by the runtime, but the ABI alignment is a more correct choice. This should be equivalent for x86_64, but fixes the alignment for ARM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fce176b051a5f6abe7464b6c75161476eceda0c5 |
|
25-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/NeXT: Reuse EmitImageInfo for both fragile and non-fragile ABI. This fixes Clang to correctly emit the "CorrectedSynthesize" bit when using the non-fragile ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f643b9b338b797a824447207d7eab5f1187f4f34 |
|
24-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Clean up dispatch method policy selection. - Replace -cc1 level -fobjc-legacy-dispatch with -fobjc-dispatch-method={legacy,non-legacy,mixed}. - Lift "mixed" vs "non-mixed" policy choice up to driver level, instead of being buried in CGObjCMac.cpp. - No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8f5e3dd32e443768d9dbbad7191e123e6733750c |
|
24-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve the AST representation of Objective-C @try/@catch/@finally statements. Instead of the @try having a single @catch, where all of the @catch's were chained (using an O(n^2) algorithm nonetheless), @try just holds an array of its @catch blocks. The resulting AST is slightly more compact (not important) and better represents the actual language semantics (good). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b76db237b8c2080137f9dc3362712432f3150ff1 |
|
23-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
NeXT/EH: When generating the rethrow code for a finally block, make sure to chain outwards when inside a nested exception scope. - A real test for this is going into LLVM test-suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ba6940aa58715633169aa519f6c94f5da097eba7 |
|
23-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
NeXT/EH: Tidy up EH code a bit, don't emit the catch block EH handler if it is unreachable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
33e982bf782d851bfe5767acb1336fcf3419ac6b |
|
22-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Support for -fno-constant-cfstrings option - wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
794afcb7049bdc82a2e7391e2f84d32446a7ffae |
|
19-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Check for darwin befoer cheking for version. (related to radar 7866951). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
776dbf9704353515b422ee13e481194c937ba01d |
|
19-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Force clang to produce legacy api for messaging in for pre-snowleoprd (NeXt runtime). Fixes radar 7866951 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
afd5eda46e8e98e13e6cb0c937e39835eef5a296 |
|
17-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
fix integrated assembler with i386 objc code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
900fc6388e803868a34b9483510c345e9b49d7eb |
|
17-Apr-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. The next step is to print the name directly into the stream, avoiding a temporary std::string copy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2df2569679237b4979654a8663cd61aea67ab207 |
|
15-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Change CGBitFieldInfo to take the AccessInfo as constructor arguments, it is now an immutable object. Also, add some checking of various invariants that should hold on the CGBitFieldInfo access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7fb619500404129322af972aab66c369949a2a74 |
|
15-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Eliminate now unused fields from CGBitFieldInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f8f8ebafafa6f4469a44de7a64194f52be1b8f53 |
|
14-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/NeXT: Simplify to use AST record layout for getting offsets instead of the IRgen record layout, which this code doesn't need to depend on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ab970f90ce31a53fe7e6375a37536bf0832fd922 |
|
13-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Enhance CGBitFieldInfo with enough information to fully describe the "policy" with which a bit-field should be accessed. - For now, these policies are computed to match the current IRgen strategy, although the new information isn't being used yet (except in -fdump-record-layouts). - Design comments appreciated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6cc590602f41c3e98e8af0023d54296c8eca7910 |
|
12-Apr-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Add some API code for future work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7f2896406c8f14bf123578610043a919ba1a1c8a |
|
08-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move the bit-field access type into CGBitFieldInfo, and change bit-field LValues to just store the base address of object containing the bit-field. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
efbf487da83883c2da81181cac6f040928aa4289 |
|
06-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move BitFieldIsSigned bit into CGBitFieldInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f0fe5bc0e46038dc79cdd27fcf0c77ad4789fdff |
|
05-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move BitField LValues to just hold a reference to the CGBitFieldInfo. - Unfortunately, this requires some horrible code in CGObjCMac which always allocats a CGBitFieldInfo because we don't currently build a proper layout for Objective-C classes. It needs to be cleaned up, but I don't want the bit-field cleanups to be blocked on that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2eec0b2e3e931de6cefbb266a7652a0622fe95b2 |
|
05-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Lift BitFieldInfo to CGBitFieldInfo at namespace level. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
56229f5889ee35495de7138f29712674f8f81ec1 |
|
05-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
Add a FIXME and reduce nesting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
61ac1d274936d96bd7590adeff75d3466fd87e76 |
|
03-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/NeXT: Remove my refactoring-enabling asserts, and add a FIXME. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e83be1228028f44de76cbad9d908e2dc9e261171 |
|
02-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/Obj-C: Eliminate FindIvarInterface, now that ivar's are in the right DeclContexts (-2 FIXMEs). We still have an annoying linear scan + hidden dependency on how Obj-C layout is done. - This is also an algorithmic improvement in IRgen for Obj-C, although it probably doesn't matter in practice. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3a2c80fe4c1f9306b7b96241117730a29e73ea8c |
|
02-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
CG/NeXT: Assert some invariants on an ivar's containing decl context that I am about to refactor based on, following some testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
198bcb44b6271c92fd856403f34b518828100aac |
|
31-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRGen: Move the auxiliary data structures tracking AST -> LLVM mappings out of CodeGenTypes, to per-record CGRecordLayout structures. - I did a cursory check that this was perf neutral, FWIW. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
264ba48dc98f3f843935a485d5b086f7e0fdc4f1 |
|
30-Mar-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
the big refactoring bits of PR3782. This introduces FunctionType::ExtInfo to hold the calling convention and the noreturn attribute. The next patch will extend it to include the regparm attribute and fix the bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ead608af31b6c9abeae1ca6d0b75094dac4641c0 |
|
26-Feb-2010 |
John McCall <rjmccall@apple.com> |
Use the power of types to track down another canonicalization bug in the ABI-computation interface. Fixes <rdar://problem/7691046>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
11062e11236b7bc689dad150e8b490fd6b063ec3 |
|
19-Feb-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch removes IVars list from ObjCInterfaceDecl and instead relies on their DeclContext for iteration, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
838db383b69b9fb55f55c8e9546477df198a4faa |
|
11-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate a bunch of unnecessary ASTContexts from members functions of Decl subclasses. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b2987d159a88ab0ee2e40c884eb4d77b42ab89b6 |
|
10-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
Switch to using -fsjlj-exceptions instead of hard-coding it. Notably, this fixes calls to the UnwindResumeOrRethrow function for C++/Obj-C exception handling, for Darwin ARM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
04a67a6aa3dfdc92d57f7f8d93ba397348c868a4 |
|
05-Feb-2010 |
John McCall <rjmccall@apple.com> |
Standardize the parsing of function type attributes in a way that follows (as conservatively as possible) gcc's current behavior: attributes written on return types that don't apply there are applied to the function instead, etc. Only parse CC attributes as type attributes, not as decl attributes; don't accepet noreturn as a decl attribute on ValueDecls, either (it still needs to apply to other decls, like blocks). Consistently consume CC/noreturn information throughout codegen; enforce this by removing their default values in CodeGenTypes::getFunctionInfo(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6d5a1c28593443f3973ef38f8fa042d59182412d |
|
03-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert "Numerous changes to selector handling:", this breaks a whole bunch of working code, for no apparent reason. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a8fa96e366ab36145a5500dd4fbea717c217f131 |
|
03-Feb-2010 |
David Chisnall <csdavec@swan.ac.uk> |
Numerous changes to selector handling: - Don't use GlobalAliases with non-0 GEPs (GNU runtime) - this was unsupported and LLVM will be generating errors if you do it soon. This also simplifies the code generated by the GNU runtime a bit. - Make GetSelector() return a constant (GNU runtime), not a load of a store of a constant. - Recognise @selector() expressions as valid static initialisers (as GCC does). - Add methods to GCObjCRuntime to emit selectors as constants (needed for using @selector() expressions as constants. These need implementing for the Mac runtimes - I couldn't figure out how to do this, they seem to require a load. - Store an ObjCMethodDecl in an ObjCSelectorExpr so that we can get at the type information for the selector. This is needed for generating typed selectors from @selector() expressions (as GCC does). Ideally, this information should be stored in the Selector, but that would be an invasive change. We should eventually add checks for common uses of @selector() expressions. Possibly adding an attribute that can be applied to method args providing the types of a selector so, for example, you'd do something like this: - (id)performSelector: __attribute__((selector_types(id, SEL, id)))(SEL) withObject: (id)object; Then, any @selector() expressions passed to the method will be check to ensure that it conforms to this signature. We do this at run time on the GNU runtime already, but it would be nice to do it at compile time on all runtimes. - Made @selector() expressions emit type info if available and the runtime supports it. Someone more familiar with the Mac runtime needs to implement the GetConstantSelector() function in CGObjCMac. This currently just assert()s. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2feefe8c195694d134b77503d67f535e04ca2a8b |
|
01-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Add support for -fobjc-legacy-dispatch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0d13f6fdbdd6f06e2449b8834dda53334abd399a |
|
23-Jan-2010 |
David Chisnall <csdavec@swan.ac.uk> |
Created __builtin___NSStringMakeConstantString() builtin, which generates constant Objective-C strings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
54d76db0aa7107597cac0b80d8e138a37e6d1de9 |
|
25-Dec-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove some dead variables clang-analyzer found. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f3c47c9525153aea2de0ec4bd615b9cf2d81c103 |
|
24-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Pass ReturnValueSlot to EmitCall. No functionality change yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8c89ff9b0923083f4838d9c6fcf858e3aa311b40 |
|
14-Dec-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to fix 32-bit @try failure with internal assertion when compiling an Objective-C rethrow nested inside another try/catch block. (fixes radar 7466728). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
191dcd76046ea751f21aae008df21bb3468a2188 |
|
12-Dec-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
patch to add a property from a protocol to a class that adopts the protocol. (fixes radar 7466494). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0e93d259ad19a0f70d3536d4f0f49710af52a169 |
|
01-Dec-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
(objc2 nonfragile-abi specific). If the translation unit includes an implementation of a subclass (direct or indirect) of a weak_import root class, emit a weak reference for the root class's metaclass (should complete radar 6815425). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2da84ff228a231adbd3f6f236b857f752d02959a |
|
29-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Don't pass false (default) for isVolatile parameter to CreateLoad. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
269f8bc10a33e29e2951df7720cad0abb45c74cb |
|
17-Nov-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch finalizes implementatin of weak_import objective-c2 classes (radar 6815425). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2cdcc4c4314b9db36028b10da8805fe02b1c85eb |
|
17-Nov-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More cases for weak_import objective-c2 classes. (still radar 6815425). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a03d0dd528573d0fc340370dc30ee7767c9cae9c |
|
17-Nov-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More support for weak_import objective-c2 class. (radar 6815425). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
182f2681e75565c9ec3099c90bbc4fcc7782140c |
|
14-Nov-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Generate the old API when sending message to super in a category implementation (objc 32bit api related). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b0069eebb604114d5c9d37d0856fc39d1dfffd6d |
|
12-Nov-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix a code gen bug in i386-apple-darwin (objc fragile abi), sending message to 'super'. Fixes radar 7205866. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@87017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c575ce7287ed9b5a2657aa0079595ebb59490afb |
|
19-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
Avoid std::string concatenation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
01eb9b9683535d8a65c704ad2c545903409e2d36 |
|
18-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
PR5218: Replace IdentifierInfo::getName with StringRef version, now that clients are updated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9c29bf597ee1d085ecce1e1fcbd3c6beed18127a |
|
18-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
Twinify CGObjCMac, this simplifies the code and should reduce std::string trashing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
790b20ed2cec72b4a79d1829ffc2c0339acbdec3 |
|
14-Oct-2009 |
Duncan Sands <baldrick@free.fr> |
There is now only one version of eh.selector and eh.typeid.for. Fix the clang build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3c0ef8cc0dc246bd3083e8cdd63005e8873d36d2 |
|
13-Oct-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify pointer creation with the new Type::getInt*Ptr methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6c7a1f364796ce1acb988714e9e42076d1ce332e |
|
25-Sep-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch fixes a code gen. bug in generation of objc_assign_ivar (objc GC's API). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0953e767ff7817f97b3ab20896b229891eeff45b |
|
24-Sep-2009 |
John McCall <rjmccall@apple.com> |
Refactor the representation of qualifiers to bring ExtQualType out of the Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
183700f494ec9b6701b6efe82bcb25f4c79ba561 |
|
22-Sep-2009 |
John McCall <rjmccall@apple.com> |
Change all the Type::getAsFoo() methods to specializations of Type::getAs(). Several of the existing methods were identical to their respective specializations, and so have been removed entirely. Several more 'leaf' optimizations were introduced. The getAsFoo() methods which imposed extra conditions, like getAsObjCInterfacePointerType(), have been left in place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0d36dd28bb40b08a93d7f64196794882eee08ee8 |
|
19-Sep-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Make clang stop relying on ConstantStruct::get's default value for isPacked which will be going away (ie. it's becoming a required parameter) later today. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6793966aa221764f579cc8436bd641e1ec339c6d |
|
17-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/ObjC: Correctly construct the function info for variadic message sends. This fixes some bad -O0 codegen and the unnecessary clearing of al on entry to objc_msgSend for most message sends. <rdar://problem/7102824> [irgen] unnecessary xorb on calls to objc_msgSend on x86_64 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d6c93d703541c992e06eb9a59a2d826a30da65b2 |
|
17-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/ObjC: Make the target method decl available to GenerateMessageSendSuper. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dbf3cfd39dd5234f90235e263ba2ff4cc61258bd |
|
17-Sep-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
patch for generating objc'2 objc_assign_ivar. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
039e6a1b085b025c054cb66a5665ad3a77d96abd |
|
11-Sep-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes a regression in objc GC layout bitmap involving block pointer ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
736d8a66062eeb25a4b63dcac36d1d4c261a02c4 |
|
10-Sep-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Get the size of object to pass to objc_memmove_collectable() from correct field of TypeInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5fcc88225b92179ff433c53b16f75062db949fd7 |
|
07-Sep-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unnecessary #include <sstream>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
330634933b67f917e993e7de020cf671ac614acb |
|
07-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Use a SetVector for tracking some Obj-C metadata, to ensure deterministic output. - Also, cleanup code to output inline asm references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
08c321380fff07d476a19daab6d29522c046cd49 |
|
31-Aug-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Re-implemented generation of objc_memmove_collectable API for copying GC'able aggregates (Next runtime only). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ef46d1817d5b00966f21a927a6a3b5d949aaf988 |
|
25-Aug-2009 |
Anders Carlsson <andersca@mac.com> |
Fix ivar layout map generation (hopefully). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e666b1b1fbe17ce6cc8d417690c61cd05f5b0002 |
|
25-Aug-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Remove #ifdef'out code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6d9eae69a07d6ea55bad53eff217ea2f0737e5a0 |
|
24-Aug-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Remove ivarlayout bitmap optimization, instead if all zeros, put out the bitmap when all objects are scanned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f42e4a6e089e8413247400fe58ad299193371f9c |
|
24-Aug-2009 |
Torok Edwin <edwintorok@gmail.com> |
Fix build of clang with gcc-4.4: #include <cstdio> was missing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a1d5662d96465f0fddf8819d245da4d19b892eff |
|
19-Aug-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Introduce DeclaratorDecl and pass DeclaratorInfo through the Decl/Sema interfaces. DeclaratorDecl contains a DeclaratorInfo* to keep type source info. Subclasses of DeclaratorDecl are FieldDecl, FunctionDecl, and VarDecl. EnumConstantDecl still inherits from ValueDecl since it has no need for DeclaratorInfo. Decl/Sema interfaces accept a DeclaratorInfo as parameter but no DeclaratorInfo is created yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8c8f69ec1477424e11faef6b235505584d61e522 |
|
14-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0032b2781b4deb131f8c9b7968f2030bf2489cdd |
|
13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
47a434ff3d49e7906eda88e8e8242e4297725b32 |
|
06-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e3d25abca3f0e0c92417734d6f548c5085ee1241 |
|
03-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
When generating cleanup blocks for Obj-C @finally, mark them as catch all blocks from the perspective of LLVM exception handling. Otherwise the C++ personality function may decide not to run them, if it only detects cleanup handlers. - Test case for this is exceptions.m in llvm-test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6bff2513b041eb84d4902b106d1b9023e5bb7c8e |
|
03-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Formatting fixes (trailing whitespace, 80-cols, indentation). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c9c88b4159791c48e486ca94e3743b5979e2b7a6 |
|
31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3b144ba615c32f3cfa5309060ed5e09c89ac2871 |
|
31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b3589f44c5d295cd41de2c83f3475116835eeebd |
|
31-Jul-2009 |
Mike Stump <mrs@apple.com> |
Canonicalize else spacing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5266d2ed446e9588eb00579ddfc5a2d327a5b3ab |
|
30-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Eliminate an unused-variable warning git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
96e0fc726c6fe7538522c60743705d5e696b40af |
|
30-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6217b80b7a1379b74cced1c076338262c3c980b3 |
|
29-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Change uses of: Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsRecordType() -> Type::getAs<RecordType>() Type::getAsPointerType() -> Type::getAs<PointerType>() Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>() Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>() Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>() Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>() Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsTagType() -> Type::getAs<TagType>() And remove Type::getAsReferenceType(), etc. This change is similar to one I made a couple weeks ago, but that was partly reverted pending some additional design discussion. With Doug's pending smart pointer changes for Types, it seemed natural to take this approach. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3c4972def972f8ca44dcd0561779a12aaa6fec97 |
|
29-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7db6d838aad4083fe86d7bf703a75fe6e8a17856 |
|
28-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
41f55d3d89d53ac242db8244f823555904200744 |
|
28-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
add some fixme's git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
99438a726ed16bf1847a18a6abc114304be9a6ce |
|
28-Jul-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch for objc's zero-const exception to not assume that @catch(...) cathces all exceptions (c++ objects are not cought by that). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
08e252425ca2cbdc44ba65d9a657ed5398014e36 |
|
28-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4a28d5deeba33722aa009eab488591fb9055cc7e |
|
25-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fc514abac21dbd801e2b665a1a24075c5ff62f44 |
|
24-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Don't use getLLVMFieldNo for bitfields when constructing the ivar layout maps for GC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
309a4368cd299cff30ab22709e2b772cf8059e45 |
|
24-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix declaration of obc_enumerationMutation function, for GNU runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4cd1608ba49c456504a3a25522c54a534b6880f3 |
|
21-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
243a68551ac9ec71bf341e062418e33eb4f286ff |
|
18-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Rename NextOffset to DataSize, which better matches the Itanium C++ ABI git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
19cc4abea06a9b49e0e16a50d335c064cd723572 |
|
18-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Revert r75641. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ad64e024bd18cf25dcfa44e049004371838decd8 |
|
18-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
fix objc codegen to not have its own list of things that eventually get into llvm.used, just populate CGM's list directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
35366a67baa970c287c714c957cf78a4131cf60d |
|
17-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::getAs<XXX> methods, so we still have reduced implementation redundancy. Having explicit getAsXXXType() methods makes it easier to set breakpoints in the debugger. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5cad1f74469d4d8b4fc51fe53a7837778aeb6107 |
|
17-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1a1a6e2bd4c5aefd7fd643cf25915f9623a02e59 |
|
16-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Add member template 'Type::getAs<T>', which converts a Type* to a respective T*. This method is intended to eventually replace the individual Type::getAsXXXType<> methods. The motivation behind this change is twofold: 1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of them are basically copy-and-paste. 2) By centralizing the implementation of the getAs<Type> logic we can more smoothly move over to Doug Gregor's proposed canonical type smart pointer scheme. Along with this patch: a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>. b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f49545602089be5b1f744e04326b8a566f6d8773 |
|
16-Jul-2009 |
Steve Naroff <snaroff@apple.com> |
Remove ASTContext::isObjCObjectPointerType(). Convert all clients to use the new predicate on Type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a1cf15f4680e5cf39e72e28c5ea854fcba792e84 |
|
15-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change, and contextify a bunch of related stuff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3d598a5ab3c8aabce0a03a2f5dea65eee643e5ac |
|
14-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Rename RecordLayout.h to ASTRecordLayout.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
69243825cb5c91ec7207256aa57ae327cfaf8cb2 |
|
13-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c1ab900fa5e9b8a09b042992eeca29f413b1d595 |
|
11-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Generate correct prototype for objc_enumerationMutation. - This was a latent bug exposed by the recent objc type changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
818e96f5a42b2a9adea4ac0050340469b49d70ef |
|
11-Jul-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Fix typo (found by gcc warning). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
14108da7f7fc059772711e4ffee1322a27b152a7 |
|
11-Jul-2009 |
Steve Naroff <snaroff@apple.com> |
This patch includes a conceptually simple, but very intrusive/pervasive change. The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches. This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic. By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1c431b323d776362490bbf7cc796b74fedaf19f2 |
|
08-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c14f0d230257a8db58aee6329116a7e245e6bbd6 |
|
08-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
082b02e8403d3ee9d2ded969fbe0e5d472f04cd8 |
|
08-Jul-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Implemented memmove_collectable API for Next runtime when struct variables with GC'able members are copied into. Will provide a test case later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b59761b2530bf54926bf67de11956f3820ac38d9 |
|
01-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
use new and simplified LLVM APIs. Patch by Jay Foad! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
17945a0f64fe03ff6ec0c2146005a87636e3ac12 |
|
30-Jun-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
De-ASTContext-ify DeclContext. Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
40b598eea1310ec9ed554d56ce3e25b34c585458 |
|
30-Jun-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Remove the ASTContext parameter from the attribute-related methods of Decl. The implementations of these methods can Use Decl::getASTContext() to get the ASTContext. This commit touches a lot of files since call sites for these methods are everywhere. I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c0183e8281b2ddacdca87cd2f749255d06a4bfe6 |
|
26-Jun-2009 |
Daniel Dunbar <daniel@zuster.org> |
Simplify, and fix a possible crash (never happens however, because we don't ever take this path with non-builtin floating point types). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c38e9affd4519ea199af22419c8c794973cc4b23 |
|
23-Jun-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch fixes an obscure bug when 'used' attribute is applied to variables in ObjC's Next runtime mode. Next runtime also implicitly applies 'used' attribute on some of its meta-data. This results in two 'llvm.used' arrays to be generated, and one of them is renamed to 'llvm.used1'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
68584ed35ad819a1668e3f527ba7f5dd4ae6a333 |
|
18-Jun-2009 |
Douglas Gregor <dgregor@apple.com> |
Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
42f963dec21ed86f33ba34dc01140f77c7174768 |
|
10-Jun-2009 |
Daniel Dunbar <daniel@zuster.org> |
Support complex properties, ivars and message expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8e6ac1d80055fa37b9b84029c7e751624ba7f84c |
|
04-Jun-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Cleanup/Refactoring of ivar collection. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ecfbdcbaf71609ab99cdebbf2d704173070dbaf3 |
|
21-May-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Minor refactoring. Uses an existing API to lookup a class method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f5408fe484495ee4efbdd709c8a2c2fdbbbdb328 |
|
16-May-2009 |
Mike Stump <mrs@apple.com> |
Reflow some comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
74d4b127d9f924ad354f47012e0d0e42ab1ee32b |
|
16-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Classes with "+load" methods need to go in the non-lazy class list (or else the method will not be found by the runtime at class load time). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
463b87687346d3990a9854382abfb41810f0678a |
|
15-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Factor code for adding module-level class lists into separate method. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
be53be4551bacfe05ec93ca56d29990da0cc1db9 |
|
13-May-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Removed 4-letter :) word in comment. Used simple array for Selector build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4523eb0fdfb1e003c3810951d9eb3dddcf08cc24 |
|
12-May-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed typos, used DenseSet for keeping track of selectors which need use Nonfrgile API for message dispatch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9820074dd47d37681085e964cd3392ac0b3e67b9 |
|
12-May-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to implement ivar synthesis of properties declared in protocols only and used in class imllementations (objc2 Nonfragile ABI specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d0f8a8d17082266c1e774ca07d58bcd4811b2681 |
|
11-May-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to allow Nonfragile ABI to use 32-bit style legacy 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9408c45009b417e758749b3d95cdfb87dcb68ea9 |
|
09-May-2009 |
Duncan Sands <baldrick@free.fr> |
Correct for renaming PaddedSize -> AllocSize in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
df9ccc6381314ccca6407abb209155e9273a631d |
|
05-May-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to support Gnu runtime's typed selectors. Patch by David Chisnall. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a81419d0b53a40399a589a2fcc13f1ed2ec28f75 |
|
05-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove an unneeded lookup routine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6e8575b88bfb2634d7b28c0c4d5ed2a6acc8418a |
|
05-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix the field count in interface record layout (it was incorrectly compensating for super classes). This was making the reported class sizes for empty classes very, very wrong. - Also, we now report the size info for an empty class like gcc (as the offset of the start, not as 0, 0). - Add a few more test cases we were mishandling before (padding bit field at end of struct, for example). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b4c79e027fdcc752b5a377611fd4cfbb21611a05 |
|
04-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Compute interface instanceStart and instanceSize using the record layout. - This is much simpler / more efficient. - This also properly computes the size in the presence of bit-fields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3715328021f69ed55e7b4cd65465fc761a8b6457 |
|
04-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Don't allow clients to traverse into superclass synthesized properties via CollectObjCIvars. - In places where we need them, we should have the implementation and access the properties through it. This is a fairly substantial functionality change: 1. @encode no longer encodes synthesized ivars, ever. 2. The ivar layout bitmap no longer encodes information for synthesized ivars in superclasses. Well, actually I had already broken that, but it is intentional now. We are now differing substantially from llvm-gcc and gcc here. However, in my opinion this fundamentally *must* work if non-fragile classes are to work. Without this change, the result of @encode and the ivar layout depend on the order that the implementation is seen in a file (if it is in the same file with its superclass). Since both scenarios should work the same, our behavior is now consistent with gcc behavior as if an implementation is never seen following an implementation of its superclass. Note that #2 is only a functionality change when (A) an implementation appears in the same translation unit with the implementation of its superclass, and (B) the superclass has synthesized ivars. My belief is that this situation does not occur in practice. I am not yet sure of the role/semantics of @encode when synthesized ivars are present... it's use is fairly unsound in a non-fragile world. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e05cc98e97ec910829beccd0d890a002ce5ab909 |
|
04-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Inline GetFieldBaseOffset into sole callsite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
900c1980de73d17cdc11b108cde7f9b68be1e5bd |
|
04-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Avoid recomputing field offsets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
31682fd385042369d490b2f73ecff2871467ade9 |
|
04-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Normalize formatting git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5a5a803df8a8e3e567278fdfd8a6c1aff8dc6b82 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Use the implementation decl for looking up offset while building the ivar layout. - The layout needs access to synthesized ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7c9f6c51be1c0bbfe59b64e92587d2e37ce73a7d |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
It turns out BuildAggrIvarLayout wasn't even using the shadow struct, just computing it! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
25d583ec27cc2fe4d0dccaa5d41b6c3b645beda0 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Lift common subexpression, remove dead "base" variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d58edcb49140b4e82f8b1e2f2e6ab35b9d401c99 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Factor out BuildAggrIvarRecordLayout routine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5e563dd38d6ec9f367cfd4b55d3efaf88a97cc09 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Lift out GetGCAttrTypeForType routine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8b2926c23645627d60d62667fc0e7a310e40815e |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add constructors for GC_IVAR and SKIP_SCAN, tighten up uses. Lift up a size calculation and note some asymmetries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
487993b90d432e9c866475ff0ffb8915e21c3904 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Normalize style, remove a dead assert. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
532d4daa038d972240138e2fd6e1122517340833 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Use ASTRecordLayout for computing ivar offsets instead of shadow struct. - We still need to do more lookup than necessary because ivars don't live in a reasonable DeclContext. - The only remaining client of the interface shadow struct is the ivar layout bitmap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9f89f2bc111339ee7fa0df3c2f18e39493b460c4 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add a ComputeIvarBaseOffset overload taking an implementation decl. Only this routine will be suitable for computing the offset of a synthesized ivar. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2bebbf0acee55404de4b8846713b64429e744e8f |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Compute Objective-C metadata size information from the record layout, not the shadow structure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5384b0990ea6995121fd4bad0855e96d41dcad18 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove unused argument. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1d7e539bbee1981faddf45284c492deab4ca2e01 |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Coalesce the ivar offset calculation further. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e38df86a6ddc48d4a6d37478ac7d20e92edfb63a |
|
03-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Use type from ivar instead of from shadow struct field. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
70b51c7e112757fa958f696c6b90e6c3e48922a3 |
|
01-May-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Remove a warning when this file is compiled optimized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5b2bad017b5f86c83aeb80d186696a4c8d59f68f |
|
30-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
API for message dispatch of methods returning floats to match gcc's closely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
65257cafb2cdf353d017c3860e15b813b9244bca |
|
30-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Undid setting of the flag for msg_Send for 32bit code gen. It seems to effect code gen. Add a FIXME instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
679cd7fcbd341fa3747e598f537601db421b1002 |
|
29-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Export lazy references of .objc_class_name of class names referenced in a category implementation meta-data (Next objc 32bit abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2f87216d26d2fce02d2aa6d6dd0a37d61f75fdfb |
|
29-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Type of msgSend message dispatch API is a vararg. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9a901bb63990574ff0bcc12ff851d7a71cff8ddb |
|
26-Apr-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Remove getIntegerConstantExprValue in favor of using EvaluateAsInt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
16f0049415ec596504891259e2a83e19871c0d52 |
|
26-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
split ObjC and C++ Statements out into their own headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d019d96e1ea39cec32f1320b1f9f772aae28247e |
|
24-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Minor refactoring. No intended change in behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8c2f2d1849247ebf7b2c0dbf1ebba15fe163664b |
|
24-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Minor refactoring. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
81adc058eaf450b43671633b2ad92e8bfa08d9b3 |
|
24-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Some code clean up of objc2's bitmap layout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2eada631e99ae5239c55572d65b41433db6fa172 |
|
23-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Removed bunch of FIXMEs no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
325f75896d346605a00b9cc3494ed20a2a5dfb4e |
|
23-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Mark IMAGE_INFO as constant on x86_64-darwin. - This shouldn't change anything, we never actually access it, but this is consistent with llvm-gcc (and 32-bit) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0941b49af3b7204ddb69ed21f07c966b8d949cf4 |
|
23-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Use std::sort instead of qsort. - Notably, there was a memory error here, SkipIvars does not have to be the same size as IvarsInfo. - Fariborz, please check. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
653f1b1bf293a9bd96fd4dd6372e779cc7af1597 |
|
23-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
Eliminate the three SmallVectors in ObjCImplDecl (for instance methods, class methods, and property implementations) and instead place all of these entities into the DeclContext. This eliminates more linear walks when looking for class or instance methods and should make PCH (de-)serialization of ObjCDecls trivial (and lazy). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c71303de3e295d19c3617b6738da009f6e679337 |
|
23-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
ivar layout bitmap is alive! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a80a0f6398df06c018af779a7ca82a29172c45d1 |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Reapply r69771, with updates & fixes: Rework the shadow struct that is layed out for Objective-C classes. - Superclasses are now always laid out in their shadow structure at the first field. - Prior to this, the entire class heirarchy was flattened into a single structure which meant that alignment, padding, and bitfields were incorrect (the ASTRecordLayout was correct however, which meant our debug info didn't coincide with ivar offsets, for example). - This is still very suboptimal (for example, ivar are looked up recursively, but I believe the ivar layout itself is now at least close to correct. - <rdar://problem/6773388> error: objc[29823]: layout bitmap sliding backwards git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a24357887dc2e6971fb84286be4484953565dc4d |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove lookupFieldDeclFromIvar from ObjCIvarDecl interface. - This is only used by CGObjCRuntime now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
412f59b23fc502b199b9ca96c72ef5d5ad21d62b |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Don't convert interface types (to structs) as part of CodeGenTypes. - This has pros and cons, but for now the pros seem to significantly outway the con. The con is that we will always need to cast in the runtime implementation to a struct type, if we wish to access an interface directly. The pros are: - Avoid the cost of generating types which are used. Most manipulation of Objective-C objects is done through messages, and only the implementation of a class will directly access memory. Previously, we would convert the type even if it only appear as a function parameter, for example. - We don't need to worry about incomplete types, and UpdateCompletedType for interfaces is gone. - It becomes easier to narrow the interface to the shadow struct for Objective-C interfaces (so it can be eliminated). Currently the runtimes still use the CodeGenTypes machinery to generate the LLVM structure they need via ConvertTagDecl, but this can eventually be replaced. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
84ad77a8f83121713ea69d8002d1fd19565f87ab |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add CGObjCRuntime::GetConcreteClassStruct to encapsulate access to the underlying llvm::StructType for an interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3fea0c01e178e46eb20e81de4907a3d144c21fd6 |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Emit meta data using the Ivar, not a looked up FieldDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9777687562c338601c2f17906e65e1c1a0aad96f |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Merge ivar access amongst the three runtimes. - For now, this means we are always doing the address computations by hand instead of constructing a proper GEP. Right now, however, this is less important than having fewer entry points to dealing with Objective-C interface layout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2a03192a02dbf4fdff438d1e658356bde871aba4 |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Make ObjCInterfaceDecl's const in some more places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d4ae6c038ea8dd2faaadd1f9da725ec37b4f7ef9 |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Revert r69771, I missed some (obvious) details. :/ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0c45793173ebdf15ba7345a1f71919c47abbeed0 |
|
22-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Rework the shadow struct that is layed out for Objective-C classes. - Superclasses are now always laid out their shadow structure at the first field. - Prior to this, the entire class heirarchy was flattened into a single structure which meant that alignment, padding, and bitfields weren't packed correctly (the ASTRecordLayout was correct however, which meant our debug info didn't coincide with ivar offsets, for example). - This is still very suboptimal, but I believe the ivar layout itself is now at least close to correct. - <rdar://problem/6773388> error: objc[29823]: layout bitmap sliding backwards git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1c02f86f5be46f36d6c5facb88c2d15e0e19266c |
|
22-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
move 64-bit abi functions to lazy model, everything is lazy now, yay. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
72db6c3db7b3f992f06c880f9039f03b4cdeb517 |
|
22-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
remove the last of the non-lazy objc runtime functions for the 32-bit ABI, 7 left for 64-bit ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bbccd611bb3ccf36703992592ef5209327f259b9 |
|
22-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
number of non-lazy runtime functions from 9 -> 4. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4176b0c632b166548f5d0437efff10a748cd62c4 |
|
22-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
make message send functions lazy, we're down from 14 non-lazy functions to 9. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
34b02a11576fd6123a703102fc0405a5bb29f6a9 |
|
22-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
move more EH stuff to being lazily created. An empty .m file now produces just 14 dead "declares" in llvm ir instead of 19. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8a56911956aa875922a5faa3787c6829e7f7011f |
|
22-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
make try/catch objc runtime functions be lazily generated. rdar://6809612 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
24c8991f4dd0ab86678b5ab11f05586687b55be9 |
|
21-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Make sure to mark the interface as completed when we see an @implementation that closes a @class delcaration. - I don't know how to make a test case for this, but this strengthens the invariants that hold internally. The functionality change here is the edit to SemaDeclObjC.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7fb162785f42d74d419db3d0d37ba698bca780a1 |
|
21-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More objc2's ivar layout bitmap. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
525c9b7baeeff022127cd1b167579f3bda73b3ed |
|
21-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Kill ASTContext::[gs]etFieldForDecl, instead we just lookup things when we need them -- which is exactly what some code was already doing! - No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9e6c20bae697c908b7d368c0f79f5510d1006a65 |
|
21-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Assert on a few conditions that (I believe) should hold w.r.t. ASTContext::[gs]etFieldDecl, and the Field argument to EmitObjCValueForIvar). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3d2ad66b47d19fb771276a66ab8ac7c9c38694b7 |
|
21-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjC2's Ivar bitmap layout work. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6c1aac8883ef2732a2d8543d7ac2a5ca9a199f86 |
|
20-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Move countInheritedIvars to within striking distance of GetClassSizeInfo Reduce nesting in GetInterfaceDeclStructLayout. Tweak some comments. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6ec07164b4c678645036c0e43007cc9663d2af74 |
|
20-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Inline GetFirstIvarInRecord into sole caller. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c7c6dc0c7ad547f03778502a63a18c3277dd93b5 |
|
20-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Set a bit in IMAGE_INFO to indicate that we don't contain any @synthesized ivars for superclasses. - <rdar://problem/6806371> [clang] Mark code without miscompiled @synthesized properties git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3e5f0d88d7eda79b7a679188d1e6da54cec72f5d |
|
20-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Lift out GetNamedIvarList. Drop uses of GetFirstInvarInRecord, instead we lookup the ivars we know are in the record. - This is somewhat less efficient, but I need to detangle this code first... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3eec8aac935eda70975d7d88f1f4a09be90f33c9 |
|
20-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Don't emit ivar offsets for unnamed bit fields. Also, added assertion that the field matches what would be looked up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
60952f94cf67ddb566600434857cad7a48264c3b |
|
20-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove non-const form of lookupFieldDeclForIvar. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
91636d6c4c07fd2edf19a510b02c6e793a28741f |
|
20-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Comment fixes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b02532a9e34d23de996cbf1f46fc978ef556c0e5 |
|
20-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Lift GetClassSizeInfo out of GenerateClass, add a FIXME. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b7b58b1fcd3007730fd46471583543c9b57c7693 |
|
19-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
Fix rdar://6804402 - crash on objc implementations declared with @class but no implementation. This was broken in all 3 runtime impls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
48fa064aa62526def4a0d804c43ed08ef44136eb |
|
19-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix bug in computation of ivar offsets for (adjacent) bitfields. - The confusing IRgen bitfield interface is partly to blame here; fixing the functional error for now, cleanups to the interface to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
737c502a3f259fc3790542366597c7e3fccad6fd |
|
19-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Reuse ObjcIvarOffsetVariable instead of duplicating code. - No functionality change (but added a FIXME). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5e88beaa0a86b162dfb9f53891adfdfbe925cc64 |
|
19-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove some unnecessary complexity. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1139452ae326e96a11f9740e5fda7f995fd3a6be |
|
18-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix a bug found by inspection, class/meta references could be emitted into the wrong section (they shared the same lookup table). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
96508e1fea58347b6401ca9a4728c0b268174603 |
|
18-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
fix a crash compiling code with its own definition of objc_assign_weak. rdar://6800430 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8a81e1e858f9bb75c295c12b5b05e17b49fcd279 |
|
17-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Don't put msgrefs in used globals (in particular, we don't want no-dead-strip set on them). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
51123fe78c92a4d1e76b6599db9db6a87db7b679 |
|
17-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
Fix rdar://6800926 - crash compiling non-fragile _Bool bitfield ivar, the functional change here is changing ConvertType -> ConvertTypeForMem so that we handle i1 fields properly as memory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fdb5e1c5317fb59415b8eea10a584030cf997627 |
|
16-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Removed a no longer needed FIXME comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1e9aef31545b2312ddfc5ac2593ad8e48754e2c6 |
|
16-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Category method synbols must be qualified by gategory name to match gcc's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7595fb1418243ac715d729b4dc62d995a7a1d5a5 |
|
15-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Don't use \01 in symbol name if unnecessary. - This was particularly bad since I fixed one instance of this name and not another, meaning we got an LLVM module with the same effective name in two different globals! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f59c1a6d27ff23fb0ea1f5b94be0e1dc866f68b9 |
|
15-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix alignment on obj_msgrefs to match llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
33af70f0f003d9765b92621f4fdd801e2b6c0ae7 |
|
15-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add test case for superrefs section (and make spacing consistent). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
93ae2c780e2ab6382f60610866217213a9fa182a |
|
15-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
__objc_superrefs belongs to __DATA segment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0bf2199b79b1ca2dcbb0d0406fd90335c8575752 |
|
15-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Tweaks to Objective-C metadata (32 & 64-bit) to match llvm-gcc. - Set alignment on property lists. - 32-bit: o Set section on property lists. o Fix section name for category class methods. o Fix symbol name for property lists. o Fix section name for class method. o Set alignment and section on class extension structure. o Set alignment on a number of things: instance variables, methods, method descriptions, the symbols structure. - 64-bit: o Fix section flags for protocol list. I doubt most of these were problems in practice, but it is nice to match llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b90bb0099e9c8914ba18ddb2d30f9369b6de74d5 |
|
15-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Set alignment on __cstring metadata variables to 1 (matching llvm-gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dd1319879fedf30690fbbb63d5330ad4e54ffe9f |
|
15-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Avoid use of magic \01 prefix when unneeded. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0f9029406b4dcdcf740cf99edc8652c43c9350cd |
|
14-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Do not dead code strip global meta-data objects. This will match gcc's behavior in the arena. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c15830694f2bd01080e6c39a88c5b8ff2288af18 |
|
14-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
04d4078425614bf9fd58d606335c1f5f74ee7fa4 |
|
14-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Clean up handling of visibility. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b11fa0d25d86169f0e0a29d5398116c0212bb787 |
|
13-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update to use hasAttr() instead of getAttr(). - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
960cd06eab1325071d331b462553c9e4135c926e |
|
10-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to generate meta-data for prtocol used in @protocol expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6ab3524f72a6e64aa04973fa9433b5559abb3525 |
|
09-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
Propagate the ASTContext to various AST traversal and lookup functions. No functionality change (really). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8158a2f78c47bf332dbd8b0b680de8a9b8d0511e |
|
08-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Implementation definition of interfaces with __objc_exception attribute. - Complete <rdar://problem/6635883> Support __objc_exception__ attribute git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cf71dd4242fd00ab155b5430a4c6c9f88fe5c4be |
|
07-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Propagte -fvisibility to objc2's class symbols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7e075cb62c06e0b0023fd12875c95da9c5ddefb7 |
|
07-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Handle use side of __objc_exception__ attribute; when using an exception with this attribute we don't need to emit a weak definition for the exception type information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6ab187a49a42de6d351248d8a6e0206e39743a0c |
|
07-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Various fixes to symbols used for Obj-C x86_64 metadata. - Changed method names to match gcc (categories names still aren't mangled in). - Expose correct name for class and metadata symbols (although -fvisibility=hidden isn't yet correct). - Remove several things from llvm.used that didn't need to be there (I suspect this can still be trimmed). - Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not needed). - Hide EH type class info with -fvisibility=hidden - Change setGlobal[Option]Visibility to not change the visibility of functions with internal linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
77c9fd2eee4cdac3c5a38a353788f308990598af |
|
06-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed visibility issues related to objc2's synthesized ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b02e53b5a859f12ad1e3f90a22b6fb711901a172 |
|
06-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
Fix a couple of cases where Constant* pointers can dangle in ObjCNonFragileABITypesHelper by converting them to dynamic getters. This fixes a crash on rdar://6757213. The others should be converted over as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d09a456e466597fe1667ea5e757bfe53be2cba7d |
|
02-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix up lookup rules for properties declared in objc's continuation class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
99eee3675e830ff367ae1fe35ce19fb49e7e4114 |
|
01-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Nonfragile ivar synthesis with property is in a continuation class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8d4141f83d9de379547cf05bd75d4c6cf894b189 |
|
01-Apr-2009 |
Steve Naroff <snaroff@apple.com> |
More "prep" work for handling UTF16 CFString. Patch by Jean-Daniel Dupas. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
03d9f34a96ea28eaa698cc779462a1ce1dc79105 |
|
01-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
remove ASTContext::buildObjCInterfaceType, which breaks canonical types. It is no longer needed now that the code generator re-lays-out interfaces if they are defines after being laid out from a forward decl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
18191886554407b4260c40165bc294c3ea732033 |
|
31-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
ir-gen support for nonfragile abi's synthesized ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5a4b45354cf81b27c1835c035a29c18eb101e686 |
|
31-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More toward nonfragile abi's synthesized ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
33fdb738a6c125f4c788733897021b7c1a062b0c |
|
31-Mar-2009 |
Steve Naroff <snaroff@apple.com> |
Some "prep" work for handling ObjC @-string constants that contain UTF-8. No functionality change. Changed GenerateConstantString() to take an ObjCStringLiteral (instead of a std::string). While this isn't strictly necessary, it seems cleaner and allows us to cache to "containsNonAscii" if necessary (to avoid checking in both Sema and CodeGen). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f1690858344968358131f8d5690d9ee458883000 |
|
31-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
fill in temporary smallvectors instead of vectors for performance. Fix BuildAggrIvarLayout to not access vectors out of range. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cd0ee14a3b8ba7293670f760c982063f4615e105 |
|
31-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
small cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dbf15cb5709067b3d23b3cdd8d014610ba4a8783 |
|
26-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
- Minor change to dump of ivar layout map. - Temporarily undef'ed __OBJC2__ in nonfragile objc abi mode as it was forcing ivar synthesis in a certain project which clang does not yet support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
667423a545c1f62efc32b48e5ce19c1c90181d4a |
|
25-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More for for objc2's ivar layout map (currently is not in use). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0a855d0bad7a32d5d0f8a03ac9ce7660c8c98b26 |
|
23-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Must allow for strong cast of floats as well (objc2 gc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
74391b48b4791cded373683a3baf67314f358d50 |
|
22-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
pull "runtime globals" into the same framework as other functions/global variables. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ebf9ed3193e3e2f32141781bd517369a58dbab61 |
|
20-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix a crash during meta-data generation of objc2's nonfragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
73f697f1f94fb59999c37a16bcf4703001ae3ebb |
|
15-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove a FIXME. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3b8a652d60ddc4419c1fab5c7b5347560283cdc1 |
|
13-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed an ir-gen bug related to strong-cast generation of source being a non-pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c8ce9c8c0b24e45aac06795a0222d8d1dbdeafcc |
|
12-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More objc2's ivar layout bitmap. bitmap generation for basic ivars seem to work now. This is work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
21e6f176015f8ffa0f162618c03f6d63746361ef |
|
11-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Code refactoring. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
9397e1dd41cb52fb3f49e1872d48897dcfb14859 |
|
11-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More of objc2's ivar layout bitmap (Next: specific). Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
820e0203079afd64b0de422832f9e0b31a27c0c8 |
|
11-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More Next objc2's gc ivar layout bitmap work. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a5a10c37a02ac65f88624a29d1f7ad1d196fc7ea |
|
10-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More objc2's gc meta-data work related to ivar layout bitmap. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
58a29128005f6e54c7d3aa39797d86ada8d40006 |
|
09-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Set alignment on a number of ObjC metadata variables (matching llvm-gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
63c5b50d80b9843acaea0a89d425b77454ac88d9 |
|
09-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Move some routines over to CreateMetadataVar. - No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
35bd763b9438b53f7920521ed19c1ef74c7a6795 |
|
09-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Tweak CreateMetadataVar, take the exact alignment instead of relying on LLVM TargetData. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a6681ae9bb1578b7a5be65eb34e22b026ecbe884 |
|
09-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More fix for bitfield ivar meta-data and code gen accessing it. Now, we can actually execute dejagnu test with bitfield ivars in non-fragile abi mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d6e941d37dbf75a20f94b94af377e44c38ab0070 |
|
09-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix typo in pref commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fd65d370b14209e35cdbf7bb3b899b60ef207eab |
|
09-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Add CreateMetadataVar utility method to encapsulate creation of Obj-C metadata variables (which generally should be handled the same, although they aren't currently). - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b21f07e056b6c9918bf938f19ca561c60f778695 |
|
08-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Code refactoring. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
11894a4ad600a4919008b2693143cde395b9e9de |
|
07-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
correct bitfield ivar offset in ivar meta-data. (objc abi specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
286acbdbe0c82e9a6bcad5fca3c4fa582f3f1a2c |
|
07-Mar-2009 |
Mike Stump <mrs@apple.com> |
Fixup our uses of various linkages to match how llvm now works. I think they are all correct, but an extra set of ObjC eyes would be good. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8339b35ca05dd040a9a0ecfc92e7b49d80c5a96b |
|
07-Mar-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Back out the patch in r66302, and re-fix it properly. We assume for performance that the type of the returned llvm::Value for an expression matches the converted type of the clang::Expr; mismatches will cause all sorts of errors and silent miscompilations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ede8de95ebea858e65c79e54aa2455a394f27f13 |
|
06-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Cleanup EH a bit given changes to ObjCCatchStmt. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d61a50a84d87a317cf929c6c1babf27d404b1e29 |
|
05-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More function stop for objc2's ivar layout bit map. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d80d81b53c08db00078c14d30aba4fa259a20ae0 |
|
05-Mar-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Adds a template for a function for objc2's gc's ivar layout bitmap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7794bb8271d97bea5d0bf52f4f050fbfff1a7420 |
|
04-Mar-2009 |
Devang Patel <dpatel@apple.com> |
Refactor code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7ba138abd329e591a8f6d5001f60dd7082f71b3b |
|
03-Mar-2009 |
Steve Naroff <snaroff@apple.com> |
Fix <rdar://problem/6640991> Exception handling executes wrong clause (Daniel, please verify). Also necessary to fix: <rdar://problem/6632061> [sema] non object types should not be allowed in @catch statements <rdar://problem/6252237> [sema] qualified id should be disallowed in @catch statements git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4ff36847f44b35c2677330c39e87dff1d745944a |
|
02-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
First cut at zero-cost EH support. - Still manually generates the EH code; the parts related to cleanup need to be integrated into the cleanup stack (for proper interaction with VLAs, etc.). - Some differences vs gcc in corner cases; I believe our behavior is correct but need to verify/file bugs vs gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cec4c77bf422528f4536d30574b82f878bc705b3 |
|
02-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Make sure to invoke (not call) to objc_exception_throw if necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dfff23060b4a3add79a3bb68ccec606ade4f39bf |
|
02-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix completely broken thinko in GetClassGlobal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8def799ef5b006d4a28f9466e4637a90dcab2b0d |
|
01-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Obj-C non fragile ABI: Use GetClassGlobal in one more instance I missed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e588b9924fb36975fada46d48e74a948653e7526 |
|
01-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Obj-C non fragile ABI: Add GetInterfaceEHType for getting the Obj-C exception typeinfo metadata, and a few other EH related types/functions. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5a7379a0d7a89d646322cfa61d80c60ef23d4569 |
|
01-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Unify code for creating a class global. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
93b2bdb866d49e3dab4623a822db281042e87382 |
|
01-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
ObjCAtCatchStmt's ParamStmt is always a DeclStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7ce77920a35060f1c8dd72e541e42ce296ccd168 |
|
28-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Obscure code gen bug related to sending message to 'super' in a class method declared in cateogy (darwin specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5a1edf6c0dc70bd555e51bedba782da8e3552f94 |
|
28-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Alignment of pointers in __objc_classlist must be on their natural alignment. Otherwise, the excess hole confuses the objc2 runtime (this is darwin specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
21228b7753c6579d1ea273b52316239bf059ab75 |
|
26-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Couple of meta-data segments were wrong. This patch fixes them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fab98c4e24a55960322c0f5e349df22c48597a73 |
|
26-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix an inconsistance in objc2's meta-data related to the symbol for the root meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
66a5c2c0da225d45334c8062f10e73b7dee50681 |
|
25-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
patch for two things. make sure objc2's nonfragile abi is enacted for Leopard too. add -fobjc-gc-only flag to the image_info symbol. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
067986e534121a0226b5580d026c7afaf5ee514d |
|
24-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Set flag for -fobjc-gc in IMAGE_INFO variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8ecbaf25c1373be6fb5a9d332b08b6be16d9fd4e |
|
24-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
Some initial Obj-C zero cost EH support. - Only handles cases with @try with no @catch blocks, and there are a number of problems with the implementation. Nevertheless, this is good enough to handled @synchronized correctly, and some other basic uses. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1c56667febcf8e2d78bd8c1c720eca1888ff1d60 |
|
24-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix two @synchronized bugs found by inspection: the expression to sychronize on should only be evaluated once, and it is evaluated outside the cleanup scope. Also, lift SyncEnter and SyncExit up in nervous anticipation of x86-64 zero cost EH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a223cca7751637f8ec1a860010c4148757fb4752 |
|
20-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More objc's gc ir-gen stuff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f57c5b2ef767223f349be6adba9bf1b4f9d19283 |
|
16-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Add support for throwing exceptions to the nonfragile ABI git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6948aea3664832416031eaac6fb55af3efb99b48 |
|
16-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Added implementation of objc2's gc API calls for nonfragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
28ed0847480b76ce76a7e605156608b1cea80e53 |
|
16-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
assert/ErrorUnsupported in unimplemented stub functions instead of miscompiling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
948e2589505aa1b334b2cff81b28a741db49f701 |
|
15-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
Obj-C non-fragile ABI: Fix types of a few globals; these were not creating valid LLVM structures (although they work fined). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3ab75bde6d8d2798a1f400b9335d359e25fb1765 |
|
14-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed a bad ir-gen bug which caused a dejagnu test to fail. Now we are pretty close to be in sync with objc's classic abi when it comes to passing dejagnu objc executable tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f3710babc1ba40779c0fc64e6657cfc84dee7545 |
|
14-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed a problem caused by foreward @class use which consequently caused a Seg fault. during meta-data generation. It also addresses an issue related to late binding of newly synthesize ivars (when we support it). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
943ed6ff5fafabc5ee1ea6a015908562688fbd47 |
|
13-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed a 64bit code gen bug of a cateogory implementation with no category declaration! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
01a0c3624aaa976ccba08b6cee1606521b8378d2 |
|
12-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix a bug whereby, an ivar used to synthesize a property belongs to a base class (nonfragile abi ir gen bug). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
389bf46ae41241a656ed71b00ac2177d7f385651 |
|
12-Feb-2009 |
Steve Naroff <snaroff@apple.com> |
Several cleanups: - rename isObjCIdType/isObjCClassType -> isObjCIdStructType/isObjCClassStructType. The previous name didn't do what you would expect. - add back isObjCIdType/isObjCClassType to do what you would expect. Not currently used, however many of the isObjCIdStructType/isObjCClassStructType clients could be converted over time. - move static Sema function areComparableObjCInterfaces to ASTContext (renamed to areComparableObjCPointerTypes, since it now operates on pointer types). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
26cc89ffb1cc57313371b4175ceac56a2f975641 |
|
11-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
ir-gen for objc's @selector expression in nonfragile abi mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3afdfd70616b5ba569dc4e78f41063d35b127464 |
|
10-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch is all it takes to pass all objc2's fast-enumeration tests in the dejagnu test suite in the nonfragile abi mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ed157d3952637afe0ec38bf850b4d025b9a701ac |
|
10-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Generate ir for ivar offset. This will pass type-nsobject-attribute.m in the dejagnu test suite in the nonfragile abi mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f63aa3fd429cdb9145d78f0b656bc78754efedb9 |
|
10-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Some refactoring of Ivar offset code gen. in preparation for nonfragile ivar offset work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fa1f756f88f4e6f3da2673082fdc1e8f54bccd6f |
|
10-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Remove the last remnants of the Obj-C EH stack code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f3a79a96eecff0fba4de8e29831a5ec0eaf90385 |
|
09-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Use the new cleanup infrastructure for @try/@finally git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
48de1012a2d8525362b417efce6fbfdf1c2b36e1 |
|
08-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Add a simplified EmitJumpThroughFinally and use it in CGObjC in preparation of making it use the cleanup stack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
273558fbd891a0872e620e0d3d109b92c1160d72 |
|
07-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Split the exception object out into its own stack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
190d00e1396214c77539c7095756b9ea38160463 |
|
07-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Simplify the Objective-C exception handling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
169c7f8fa6d1d361f44708609cf0cd0780c4f6fb |
|
07-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed an objc2 nonfragile-abi code gen bug. Now we can say 'hello world' objective-c style in the nonfragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7a06aae468c94a21c267106ec16bd2c79dab2857 |
|
06-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
objc2's nonfragile abi API for messages sent to 'super'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0e81f4b58d4e9767efbca7f3e856dcbc2192b1b5 |
|
05-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
objc2's nonfragile-abi - API selection for when receiver is a class git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1a6b3686bf5671075c5b217fcfc1840cb0aae172 |
|
05-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More objc2's API chanes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c170852db6af081810c6fca01e2f434cb8709209 |
|
05-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
#ifdef'out out objc2 API selection which is not done in gcc (unlike the documentation to the contrary). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ef163782d227f064df5988d46487609324a0169e |
|
05-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch generates messaging code for objc2's non-fragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
83a8a7534c6766c2df2745eca35effa3e6f9d092 |
|
04-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Some early code for objc2's nonfragile abi messaging. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
34c94a2babcac200c8e0fd778e549afcc43e2df1 |
|
04-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
Change construction of common ObjC functions to use CGCall infrastructure to construct function type. - For consistencty, we should probably always use this to construct function types, but these are absolutely necessary to ensure that we can emit calls to these functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4655112d1c64a098c5f7d665175063f4664a7cf6 |
|
04-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Some function stub added for new abi messaging. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2e4672b53107245deb998f55fb9dd77650d610dd |
|
04-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Several new declarations for objc2 nonfragile abi messaging. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
598d3f61b6ca854e9d3c2f3359e24468502a61aa |
|
03-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
ir-gen for nonfragile ivar bitfield access (objc2 nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
07da367ca230b88d4b056dd79fefa4f10ab88b7a |
|
03-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Minor objc2 bug fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
45012a7ef5abf1042c893f3f2fa5c23cb5485ea9 |
|
03-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
objc2's ir-gen for nonfragile ivar access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
541b63b1a9db77e4a8670e9823711c2c12e58afb |
|
03-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
Thread CGFunctionInfo construction through CodeGenTypes. - Inefficient & leaks memory currently, will be cleaned up subsequently. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
88b5396b0897f28d22ae3debf4a0d97b33b6c362 |
|
02-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
More ABI API cleanup. - Lift CGFunctionInfo creation above ReturnTypeUsesSret and EmitFunction{Epi,Pro}log. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bb36d331f439f49859efcfb4435c61762fbba6f9 |
|
02-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
ABI handling API changes. - Lift CGFunctionInfo creation up to callers of EmitCall. - Move isVariadic bit out of CGFunctionInfo, take as argument to GetFunctionType instead. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0bb20361a321593887f067515dd04cf109f4c74a |
|
02-Feb-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Refactored code gen for ivar access in preparation for objc2 nonfragile ivar access code gen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
09796d6a23c683413470efd19dd5ad331d91af7d |
|
31-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Use target alignment API to set objc2's meta-data alignment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
725ad31086e3d6c41afa10c43db44f2e7060a961 |
|
31-Jan-2009 |
Daniel Dunbar <daniel@zuster.org> |
Kill off CGCallInfo, always use CGFunctionInfo for encapsulating function/call info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dd0db2a60b65e7eaa852b77c8b9f607640eb50b9 |
|
31-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
class meta-data belong to __objc_data section (in objc2 nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
cf55516a2f8db4790e4f291fd94fe9e887d2464a |
|
31-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Recognize class's visibility attribute and set its linkage to private extern (in objc2 nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fdbe11db007c20222951dae6265a1c7ab4aaeb57 |
|
31-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Missed another mis-alignment of an objc2 meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
014858b69f063cbf7b6513eebe964a9f6224970d |
|
31-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Setting correct alignent for objc2 meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0f6610e41701e7d7a9b65c52e1a0926530ac3ce1 |
|
30-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
add imag_info section and data (for objc2 nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f87a0ccb05eb2aa095ea835fdcdf4a0363637b28 |
|
30-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Generate list of implemented classes and categories in their own sections (related to objc2 nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8cfd397d5f1dfb0a0242c428f7d9cb24dceb5760 |
|
30-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Code gen. for @protocol expression in the new nonfragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3819a0bf47f43fc6e496c1d0257a1658424ab6a5 |
|
30-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Bug fixing involving method-list in protocol meta-data (objc2 nonfragile-abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
eb732131505dd9710b35e32077143962dab52cab |
|
30-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Random bug fix related to protocl metadata in categories in non-fragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8448c2cdab6e3d4b15725921735243c77b06623d |
|
29-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Set protocol linkage and visibility correctly and build protocol translation table meta-data (objc2 non-fragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
da3200986d9ec2ed0920e4d84ac210c889136946 |
|
29-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Protocol meta-data for objc2's non-fragile abi. Lot more to do in this area. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
939abced90071beb750041ee9c2cf57f827e024a |
|
28-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Add setter/getter methods to the list of methods of class's meta-data (related to objc2 nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5de14dc87966ab98730cfacffe0b7d3198a91a62 |
|
28-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
property metadata for objc2's nonfragile abi git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
46b86c610ede6d9abdec254f39663db86c9c88e0 |
|
28-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Some refactoring of common code. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2fa5a27f38b2c4abc26e86895fdcef3ec84af39d |
|
28-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Set visibility of ivar offset symbols according to accessibility of the ivar (related to objc2's non-fragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1bf0afbb08a23412d1607505c092a537f305d8c7 |
|
28-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Generation of ivar-offset symbols in objc2's non-fragile abi. Changed section names for meta-data (to match current gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
07236ba8d3cf1d2aa8cd173c440f3e7dc1249fd0 |
|
27-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
After talking to our runtime guru, I added a comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
98abf4bd3526a00a0e5cf71a9462c181f97b1c81 |
|
27-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
ivar meta-data generation for nonfragile-abi. Still more work to do in this area. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
528473335419f072f6eff25a4af07925c1692121 |
|
27-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Added a FIXME. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f6317dd7da4a3de06a45cba3ed9d47e6877b4cca |
|
26-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Build method-description-list for category meta-data as well (for nonfragile-abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
493dab7fe59303d8bb2120bc2556f355344f65bd |
|
26-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Method decription meta-data and its setting in class_ro_t meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
eb062d922f10f7e649c2a18fab6c65bc169c77d5 |
|
26-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Meta-data for nonfragile-abi's categories git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f6a077edbbfc88d63b43d43f22db93017685c130 |
|
25-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Compute instaceStart/instanceSize fields of the class_ro_t meta-data for objc2's non-fragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
84394a50e307e2f056e270e1eeadd4f26913cd1e |
|
24-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to build class meta-data for each implementation of class in objc2's nonfragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
058a1b7f9d7d3498783f7d24e73235c4ba7ee851 |
|
24-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch builds the meta-class object for each implemented class in objc2's nonfrigile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
aa23b570b059e8d29c69a656bbdc42f652f7c308 |
|
24-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Some very early work for new objc's meta-data generation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f31c7293ff626c8f235c62991617084a100300c4 |
|
23-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Checked in an oops! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
45c2ba0c13f353a8bab6cc01b30b3a13f3404c1e |
|
23-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Another missing LLVM type for objc2's new abi defined. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d55b6fc5f3304e97621b4d5a2d9376ad63d74179 |
|
23-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Define LLVM types for nonfragile abi metadata. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
30bc57187be7535c57ef1ca8ff3e765653e94332 |
|
23-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Use NonFragileABI as name of new Next abi. More comments for the new meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
db2868616b966c96a5014e58892c27cea377477c |
|
22-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
More refactoring of common API to the common class for the two Next's objc runtimes. More comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
56210f780b3d7e6533b3dd968ad9ba007cdbe7b4 |
|
22-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Moved whole bunch of common APIs to the common class. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ee0af74d1e0990c7b66d32657f3e4e54b8691552 |
|
21-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Refactoring ObjC Next's runtime classes in preparation for the new ObjC's abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
10a4231e73017e70231acebd55de2d2e48930a91 |
|
21-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Commented objective-c's metadata types. Minor clean up. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4afa39deaa245592977136d367251ee2c173dd8d |
|
20-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Remove ScopedDecl, collapsing all of its functionality into Decl, so that every declaration lives inside a DeclContext. Moved several things that don't have names but were ScopedDecls (and, therefore, NamedDecls) to inherit from Decl rather than NamedDecl, including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't store empty DeclarationNames for these things, nor do we try to insert them into DeclContext's lookup structure. The serialization tests are temporarily disabled. We'll re-enable them once we've sorted out the remaining ownership/serialiazation issues between DeclContexts and TranslationUnion, DeclGroups, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f54b19497cb832da78700a6c86473231f35fba65 |
|
17-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to re-implement ivar-list meta-data generation to fix cases of unnamed ivar bitfields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
482b77d1cb4ca08391d1f749436f092a4cc24427 |
|
13-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Cleanup DeclContext::addDecl and DeclContext::insert interface, from Piotr Rak git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
491c7b77cd8ec8570f646d43b937a5aec688bcbf |
|
12-Jan-2009 |
Daniel Dunbar <daniel@zuster.org> |
(LLVM up) Match TargetData API change in LLVM TOT. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
93983f8fa120330bf212bfde7e65da2709fb3be8 |
|
11-Jan-2009 |
Steve Naroff <snaroff@apple.com> |
Convert property implementation to DeclContext::addDecl(). This completes the ObjCContainerDecl AST cleanup (for now). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
679a502d462ef819e6175b58e255ca3f3391e7cf |
|
10-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch fixes the code gen failures which was a fallout from not merging protocol properties into the classes which use those protocols. With this patch, all my exceutable test pass again. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f8d49f64ef6ab7e632717a31631fc289aab69428 |
|
09-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Provide a new kind of iterator, the specific_decl_iterator, that filters the decls seen by decl_iterator with two criteria: the dynamic type of the declaration and a run-time predicate described by a member function. This simplifies EnumDecl, RecordDecl, and ObjCContainerDecl considerably. It has no measurable performance impact. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
09c4719788a5cea09897525e528fa00420f1677b |
|
09-Jan-2009 |
Steve Naroff <snaroff@apple.com> |
Move property API's up to ObjCContainerDecl (removing a lot of duplicate code). Add isa/cast/dyncast support for ObjCContainerDecl. Renamed classprop_iterator/begin/end to prop_iterator/begin/end (the class prefix was confusing). More simplifications to Sema::ActOnAtEnd()... Added/changed some FIXME's as a result of the above work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b0d27943e133f099a39abc26a49d1130b5a8f5af |
|
07-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Another nasty code gen. bug with trivial fix. Calling class method on 'super' receiver in a category implementation. Other simpler cases were working by accident. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
43822eaeddeaa419b90f23c68af6b23c46788a58 |
|
20-Dec-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
More encoding support. This time for @encode of classes and bitfields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
fd64bb635dc221baa19f81d5d2a084f7eb269f7f |
|
15-Dec-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Code gen. for ivar references; including bitfield ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
44b4321feab46299d3f5cfd404680884752a0fcf |
|
11-Dec-2008 |
Douglas Gregor <dgregor@apple.com> |
Unifies the name-lookup mechanisms used in various parts of the AST and separates lexical name lookup from qualified name lookup. In particular: * Make DeclContext the central data structure for storing and looking up declarations within existing declarations, e.g., members of structs/unions/classes, enumerators in C++0x enums, members of C++ namespaces, and (later) members of Objective-C interfaces/implementations. DeclContext uses a lazily-constructed data structure optimized for fast lookup (array for small contexts, hash table for larger contexts). * Implement C++ qualified name lookup in terms of lookup into DeclContext. * Implement C++ unqualified name lookup in terms of qualified+unqualified name lookup (since unqualified lookup is not purely lexical in C++!) * Limit the use of the chains of declarations stored in IdentifierInfo to those names declared lexically. * Eliminate CXXFieldDecl, collapsing its behavior into FieldDecl. (FieldDecl is now a ScopedDecl). * Make RecordDecl into a DeclContext and eliminates its Members/NumMembers fields (since one can just iterate through the DeclContext to get the fields). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
565c99f45e758406f26404e92fadd15d8b84a8c4 |
|
10-Dec-2008 |
Anders Carlsson <andersca@mac.com> |
Append an extra newline to the module inline asm if it's not empty. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d9d22dd9c94618490dbffb0e2caf222530ca39d3 |
|
24-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Rename NamedDecl::getName() to getNameAsString(). Replace a bunch of uses of getName() with uses of getDeclName(). This upgrades a bunch of diags to take DeclNames instead of std::strings. This also tweaks a couple of diagnostics to be cleaner and changes CheckInitializerTypes/PerformInitializationByConstructor to pass around DeclarationNames instead of std::strings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8ec03f58c33c33a917f54bb7f2cd61b6d7ffe0ca |
|
24-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Rename NamedDecl::getIdentifierName() to ::getNameAsCString() and make it assert if the name is not an identifier. Update callers to do the right thing and avoid this method in unsafe cases. This also fixes an objc warning that was missing a space, and migrates a couple more to taking IdentifierInfo and QualTypes instead of std::strings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
077bf5e2f48acfa9e7d69429b6e4ba86ea14896d |
|
24-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Rename Selector::getName() to Selector::getAsString(), and add a new NamedDecl::getAsString() method. Change uses of Selector::getName() to just pass in a Selector where possible (e.g. to diagnostics) instead of going through an std::string. This also adds new formatters for objcinstance and objcclass as described in the dox. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f2878e5dffd20bf0a97fb0b30a376f2d60963593 |
|
21-Nov-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed bugzilla bug# 3095 related to code gen. for @synchronized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bd71be4683c195260d5245118b1e13e6b2e20504 |
|
21-Nov-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Consolidated @try and @synchronize into a single code gen. method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7eda8367cf63caee8acf907356b1d199ccaa6e89 |
|
20-Nov-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Introducing objc_assign_ivar to clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dbd32c20c529430fe1d22d87317f039849b8b0bb |
|
19-Nov-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Few more changes due to Daniel's feedback. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
58626500527695865683d1d65053743de8770b60 |
|
19-Nov-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Generate strong write barriers for __strong objects. Also, took care of Daniel's commments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3e283e344595e0bd499b13b30a92b7d9c10a2140 |
|
18-Nov-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch for generation of weak write barriers for objc __weak objects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6dc2317b59cb1180a59f6c283d96b7a5dfeb5307 |
|
18-Nov-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Generate objc_read_weak for __weak objc loads. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6d657c4809d9128be88705d32768de007b988212 |
|
18-Nov-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Some basic support toward objective-c's GC code gen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2e1cd4264d363ca869bf37ef160902f211d21b8c |
|
17-Nov-2008 |
Douglas Gregor <dgregor@apple.com> |
Introduction the DeclarationName class, as a single, general method of representing the names of declarations in the C family of languages. DeclarationName is used in NamedDecl to store the name of the declaration (naturally), and ObjCMethodDecl is now a NamedDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
10cac6f7115b59a466bb8d2d51cdddeb38aadc37 |
|
15-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Start implementing support for @synchonized with the darwin ObjC API. Patch by Fariborz! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
a448fb2da03ece39978784793eea68760e8205a1 |
|
12-Nov-2008 |
Daniel Dunbar <daniel@zuster.org> |
Rework IRgen invariant w.r.t. current insert point. - EmitStmt is no longer required to finish with a current insertion point defined (i.e. it does not need to make dummy blocks). Instead, it can clear the insertion point in the builder which indicates that the current insertion point is unreachable. - CodeGenFunction provides HaveInsertPoint and EnsureInsertPoint which respectively test if there is an insert point and ensure an insertion point exists (by making a dummy block). - Clearly mark functions in CodeGenFunction which can be called with no insertion point defined. Currently this is a limited set, and EmitStmt simply EnsureInsertPoint()s before emitting subsequent IR. Remove EmitDummyBlock, which is no longer needed. Clients who haven't already cleared the insertion point (typically via EmitBranch) can do so by hand. Remove isDummyBlock, which has effectively been renamed to HaveInsertPoint. The main thrust of this change is that we no longer have create dummy blocks just to destroy them a short time later in EmitBlock in the common case that there is no unreachable code following something like a goto. Additionally, this means that we are not using the hokey condition in isDummyBlock that a block without a name is a dummy block. Guess how well that works when we never emit block names! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d57a871339c7c98d58d93108b806f59bdf4e13e2 |
|
11-Nov-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add CodeGenFunction::EmitBranch. - Emits an unconditional branch, with extra logic to avoid generating spurious branches out of dummy blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
824e3bd76b2e32db2ec6e4d2d113413e518d1c63 |
|
11-Nov-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add CodeGenFunction::EmitDummyBlock for marking places where we make "dummy" blocks (blocks just used to make sure we have a place to dump code to). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
55e874299f2ad827646a4ca9ea38c402aaeb38c9 |
|
11-Nov-2008 |
Daniel Dunbar <daniel@zuster.org> |
Centralize basic block creation in CodeGenFunction::createBasicBlock. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
45d196b8387dcefc4df26cda114fa34c6528e928 |
|
01-Nov-2008 |
Daniel Dunbar <daniel@zuster.org> |
Move IRBuilder type definition to common file. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0c0e7a65214d0b4af68336d6d2fdce525695146a |
|
29-Oct-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit protocol objects lazily. - That is, the metadata for a protocol is only emitted if that protocol is actually used in the translation unit. This is important because Objective-C headers frequently contain a large number of protocol definitions, only a few of which will be used in any given file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
0d504c1da852e58ff802545c823ecff3b6c654b8 |
|
17-Oct-2008 |
Daniel Dunbar <daniel@zuster.org> |
Remove unneeded EncodingRecordTypes argument to getObjCEncodingForType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
d96b35bc6becf8db00d140c11e3d0e53f27567a1 |
|
17-Oct-2008 |
Daniel Dunbar <daniel@zuster.org> |
More Obj-C type encoding improvements. - Encode unions and bit-fields correctly. - Accept option to name record fields (used for NeXT runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
5669e57b4a74d26e9e2fb70d778141d0d849388b |
|
17-Oct-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Use objc_msgSend_fpret for calling functions which return floating point. This is only correct for x86-32 at the moment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
de3b8fb02bd86a592fe5073020e6bdaf97902ffc |
|
06-Oct-2008 |
Ted Kremenek <kremenek@apple.com> |
Use DeclStmt::getSolitaryDecl() instead of DeclStmt::getDecl() when processing the Decl of a @catch statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
91cd320ea2b7da98227869b0dd803a4953c076d0 |
|
02-Oct-2008 |
Daniel Dunbar <daniel@zuster.org> |
(LLVM up) Rename IRBuilder::IsNonNull -> IsNotNull. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ad2dc71a6f40e94331e72c18b2cffa0320b18eb3 |
|
01-Oct-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Update to use CreateRuntimeFunction for the routines it imports. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
898d508d4c9e9d45914952473e39196b20830a9f |
|
30-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add infrastructure for proper @finally support. - Provides a basic primitive to jump to an arbitrary basic block, through the finally code. - Only used for return statements and rethrow currently. Still need to handle break, continue and goto. - Code still needs to be shuffled around to live elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
18ccc7776ad6288c5f630dc7967fb99d099c9cd9 |
|
28-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add support for implicit rethrows in @catch blocks. Comment exception-handling code generation strategy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e4b5ee06153777c6899d20797dce1d4d236eb4bc |
|
28-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
(Update LLVM) Clean up obj-c exception generation to be a bit more readable and to generate more readable IR. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
97f61d14c89c26b9ae8e8f1faa8e8fcc6ec00b77 |
|
28-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Bug fix, codegen @catch(id<X> ...) acceptably. - This should be rejected by sema (IMHO) but that needs some investigation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
129271a42975f8b9d42adc707be9883db91c8a5d |
|
27-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Simplify generate code for exceptions: - There is no need to branch on the rethrow variable to determine if we need to call objc_exception_try_exit. We know whether an exception was thrown, so just branch to a different target if we want to skip the try_exit. This is a slight semantic departure from gcc, but only for throwing nil, which is undefined (and for which gcc emits broken code). - Also fixes a bug in current code which was calling try_exit too many times when an exception was uncaught (but there were some handlers). Fix bug introduced in prev. commit, the type of the @catch parameter was uninitialized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
55e40721e7c27611174e52378f50435c9ded27db |
|
27-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Bug fix, make sure to initialize exception object (to rethrow) even when there are no @catch blocks. Also, eliminated unneeded alloca for the rethrow object. Also, avoid generating code to rethrow exception if the exception will trivially always be caught. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
10004916dbda1f6f5d3d0dbea8c1e70b6466ab63 |
|
27-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Easy fix for nasty bug, exception data buffer had wrong type == wrong (smaller) size == garbage on stack == heisenbugs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
86957eb200492e95a09bce1b2c76f66345468f84 |
|
24-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Implement Obj-C synthesized setters for copy / retain. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
49f6602707887eea1a558a1dffe0213102f887f2 |
|
24-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add Obj-C runtime methods to get runtime specific functions for implementing property access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dde0a94120915fa925d1ffcdb997c7b44dc9fa21 |
|
11-Sep-2008 |
Anders Carlsson <andersca@mac.com> |
Make sure to store the exception in the catch parameter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
1452f5599d4de1d97a71ad61786126b91da9da69 |
|
11-Sep-2008 |
Anders Carlsson <andersca@mac.com> |
Make sure to emit the catch parameter as well as the catch body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4b7ff6ebd7879ebf86cf6d0108d35d817135d513 |
|
11-Sep-2008 |
Anders Carlsson <andersca@mac.com> |
Fix stupid mistake I made in the exception handling code git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
62d5c1b5038cdaa4a887a03c37fe1e8d00166ea0 |
|
10-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add CodeGenTypes::GetFunctionType overload for getting the effective type of a call. Change NeXT runtime to use this instead of trying to bitcasting internally (which doesn't respect the ABI). Fix subtle bug, use of ConvertTypeRecursive instead of ConvertType is bad inside GetFunctionType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
45c25ba11cbf8c9a461def5b03f6ee9481e06769 |
|
10-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Move FunctionType conversion into CGCall.cpp: - Added CodeGenTypes::GetFunctionType, taking a CGFunctionInfo. - Updated Obj-C runtimes to use this instead of rolling the llvm::FunctionType by hand. - Killed CodeGenTypes::{ConvertReturnType, DecodeArgumentTypes}. Add ABIArgInfo class to encapsulate ABI decision of how to lower types to LLVM. - Will move to target sometime soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b768807c49a1c7085def099b848631856af766fa |
|
10-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Tweak CGCall functions again: - Realized these functions will eventually need access to more data, moved to CodeGenModule. Eventually they should probably live together in some other helper class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3913f184c84135fb4612743f1faa6c1edd2dd055 |
|
10-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add CodeGenFunction::ReturnTypeUsesSret - Hook so NeXT runtime doesn't depend on ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
80f2567e30959b4428c14b3cb872a91be10b69f9 |
|
09-Sep-2008 |
Anders Carlsson <andersca@mac.com> |
Check in half-assed implementation of @try/@catch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2b1e311009cf682b7b5adb8ba97a0816f727bfb7 |
|
09-Sep-2008 |
Anders Carlsson <andersca@mac.com> |
Simple @throw support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
124526b72f35978e4c9d5e1af8ee125a65c1b917 |
|
09-Sep-2008 |
Anders Carlsson <andersca@mac.com> |
Add types and functions related to exceptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
64d5d6c5903157c521af496479d06dc26032d718 |
|
09-Sep-2008 |
Anders Carlsson <andersca@mac.com> |
Move handling of @try and @throw to the runtime class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
46f45b9bec4a265ad8400a538e5ec3a5683617f1 |
|
09-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Change CodeGen to emit calls using (RValue,Type) list: - Add CodeGenFunction::EmitAnyExprToTemp o Like EmitAnyExpr, but emits aggregates to a temporary location if none is available. Seems like this should be simpler (even aside from using first class aggregates). - Killed CodeGenFunction::EmitCallArg (just append the pair) - Conversion of RValues to actual call arguments is now isolated in CodeGenFunction::EmitCall. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4b7c98378ae0c1a3635f0b7756848b4a9923f8bc |
|
05-Sep-2008 |
Ted Kremenek <kremenek@apple.com> |
Change struct forward declarations and definitions to use unique RecordDecls, as opposed to creating a single RecordDecl and reusing it. This change effects both RecordDecls and CXXRecordDecls, but does not effect EnumDecls (yet). The motivation of this patch is as follows: - Capture more source information, necessary for refactoring/rewriting clients. - Pave the way to resolve ownership issues with RecordDecls with the forthcoming addition of DeclGroups. Current caveats: - Until DeclGroups are in place, we will leak RecordDecls not explicitly referenced by the AST. For example: typedef struct { ... } x; The RecordDecl for the struct will be leaked because the TypedefDecl doesn't refer to it. This will be solved with DeclGroups. - This patch also (temporarily) breaks CodeGen. More below. High-level changes: - As before, TagType still refers to a TagDecl, but it doesn't own it. When a struct/union/class is first referenced, a RecordType and RecordDecl are created for it, and the RecordType refers to that RecordDecl. Later, if a new RecordDecl is created, the pointer to a RecordDecl in RecordType is updated to point to the RecordDecl that defines the struct/union/class. - TagDecl and RecordDecl now how a method 'getDefinition()' to return the TagDecl*/RecordDecl* that refers to the TagDecl* that defines a particular enum/struct/class/union. This is useful from going from a RecordDecl* that defines a forward declaration to the RecordDecl* that provides the actual definition. Note that this also works for EnumDecls, except that in this case there is no distinction between forward declarations and definitions (yet). - Clients should no longer assume that 'isDefinition()' returns true from a RecordDecl if the corresponding struct/union/class has been defined. isDefinition() only returns true if a particular RecordDecl is the defining Decl. Use 'getDefinition()' instead to determine if a struct has been defined. - The main changes to Sema happen in ActOnTag. To make the changes more incremental, I split off the processing of enums and structs et al into two code paths. Enums use the original code path (which is in ActOnTag) and structs use the ActOnTagStruct. Eventually the two code paths will be merged, but the idea was to preserve the original logic both for comparison and not to change the logic for both enums and structs all at once. - There is NO CHAINING of RecordDecls for the same RecordType. All RecordDecls that correspond to the same type simply have a pointer to that type. If we need to figure out what are all the RecordDecls for a given type we can build a backmap. - The diff in CXXRecordDecl.[cpp,h] is actually very small; it just mimics the changes to RecordDecl. For some reason 'svn' marks the entire file as changed. Why is CodeGen broken: - Codegen assumes that there is an equivalence between RecordDecl* and RecordType*. This was true before because we only created one RecordDecl* for a given RecordType*, but it is no longer true. I believe this shouldn't be too hard to change, but the patch was big enough as it is. I have tested this patch on both the clang test suite, and by running the static analyzer over Postgresql and a large Apple-internal project (mix of Objective-C and C). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
df042e6c2bf06b2d9ed53c52469599ac1bd93a3f |
|
05-Sep-2008 |
Ted Kremenek <kremenek@apple.com> |
Remove "NextDecl" from RecordDecl. This change touches many files that where RecordDecl or CXXRecordDecl was constructed, always with an argument of 'NULL' for the previous declaration. The motivation behind this change is that chaining the RecordDecls is simply unnecessary. Once we create multiple RecordDecls for the same struct/union/class, clients that care about all the declarations of the same struct can build a back map by seeing which Decls refer to the same RecordType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c67876d6886219983881e1304a761b113ae1aec0 |
|
04-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit lazy reference to Protocol class for forward protocol references (to match gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e66f4e3e3ae9d7d11b0c302211066fad69228aba |
|
03-Sep-2008 |
Daniel Dunbar <daniel@zuster.org> |
Fix ObjCPropertRefExpr to be able to encode all the information for uses which refer to methods not properties. - Not yet wired in Sema. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2abd89c039e835e84519a4cd8a7495899a70153d |
|
31-Aug-2008 |
Anders Carlsson <andersca@mac.com> |
Handle mutation while enumerating correctly. Fix some bugs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7f8ea5c5b3a6a4332a841eefdd86b0726722ea7b |
|
30-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add Objective-C property setter support. - Change Obj-C runtime message API, drop the ObjCMessageExpr arg in favor of just result type and selector. Necessary so it can be reused in situations where we don't want to cons up an ObjCMessageExpr. - Update aggregate binary assignment to know about special property ref lvalues. - Add CodeGenFunction::EmitCallArg overload which takes an already emitted rvalue. Add CodeGenFunction::StoreComplexIntoAddr. Disabled logic in Sema for parsing Objective-C dot-syntax that accesses methods. This code does not search in the correct order and the AST node has no way of properly representing its results. Updated StmtDumper to print a bit more information about ObjCPropertyRefExprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
19cd87eb5fb3c197e631ce08fd52c446c4d4e8f1 |
|
30-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Refactor handling of calls: - Added CodeGenFunction::EmitCall which just takes the callee, return type, and a list of (Value*,QualType) pairs. - Added CodeGenFunction::EmitCallArg which handles emitting code for a call argument and turning it into an appropriate (Value*,QualType) pair. - Changed Objective-C runtime interface so that the actual emission of arguments for message sends is (once again) done in the code to emit a message send. No intended functionality change, this is prep work for better ABI support and for Objective-C property setter support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
662174c82ef46b19a2329c7d37208e1d12dfb7b3 |
|
29-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Downgrade a number of FIXME asserts to ErrorUnsupported. - Notably VLAs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c56f34a1c1779de15330bdb3eec39b3418802d47 |
|
28-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit mostly-correct property type encoding. - Added ASTContext::getObjCEncodingForPropertyDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ae226fa1141e22d1b997f19bd92c7223079d03f4 |
|
27-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Refactor protocol method metadata emission. Also, fix category protocol list metadata. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
86e2f40071ca8c29284a3294fe2f20a01ec88971 |
|
27-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit correct properties for category. - Was emitting duplicates of class properties instead of the category properties. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c45ef600ed6f1544e8dfca2a3fa554eb7d6a9908 |
|
26-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit metadata for synthetsized properties. Also, fix method lookup to not use LLVM module symbol table. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
af05bb9073319d8381b71c4325188853fd4b8ed6 |
|
26-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Objective-C @synthesize support. - Only supports simple assignment and atomic semantics are ignored. - Not quite usable yet because the methods do not actually get added to the class metadata. - Added ObjCPropertyDecl::getSetterKind (one of Assign, Copy, Retain). - Rearrange CodeGenFunction so synthesis can reuse function prolog / epilog code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f56f1913e91ad32bed52dd3f6afc26735d336584 |
|
25-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Fix Obj-C super sends inside class methods. - NeXT loads the super class at runtime; this required changing the runtime interface to pass more information down. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
242d4dce3ab9a649866066b44c5a32cd2c09b6b8 |
|
25-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit symbols used to manage linking of Obj-C classes. - This ensures that references to undefined classes cause link errors. - NOTE: This relies on platform specific asm directives currently, this should be factored out. Also, don't emit a SYMBOLS metadata entry if there are no symbols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
3e9df9920db8de8ec93a424b0c1784f9bff301ea |
|
23-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Clean up constant CFString handling. - Use CodeGenModule::GetAddrOfConstantCFString Some tweaks of CodeGenModule::GetAddrOfConstantCFString git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
14c80b7ed64e0eddfbe81adf5113d5be5f9964bf |
|
23-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Fix message sends which return structures. - Simplify the sending code a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e8b470d40c4d44b77c2efab3cb977beb23344ff6 |
|
23-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Implement super message sends. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
8f2926b73ed635afecd020da787af6a837601a2b |
|
23-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Trim CGObjCRuntime::GenerateMessageSend[Super] - Returns an RValue. - Reduced to only taking the CodeGenFunction, Expr, and Receiver. - Becomes responsible for emitting the arguments. Add CodeGenFunction::EmitCallExprExt - Takes optional extra arguments to insert at the head of the call. - This allows the Obj-C runtimes to call into this and isolates the argument and call instruction generation code to one place. Upshot is that we now pass structures (more) correctly. Also, fix one aspect of generating methods which take structure arguments (for NeXT). This probably needs to be merged with the SetFunctionAttributes code in CodeGenModule.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c8ef551615e7c7e4aae7c2e845f998be42daef4f |
|
23-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit property metadata (classes, protocols, categories). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
86e253a0cb438b118eb598abb0225d431c8798d2 |
|
22-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit category metadata. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
dbc933701d20918add13b6a3c9d47ff8c75419cf |
|
21-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
NeXT: Emit [meta]class protocol references. Updated ObjCProtocolDecl::protocol_iterator to match that of ObjCInterfaceDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
27f9d77b61b377b21ccda536122f2be6fa715751 |
|
21-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Preliminary support for Obj-C classes in NeXT runtime. - Functional for simple cases but there are some glaring omissions (protocols, properties, and other language extensions). - The code needs a fair bit of cleaning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
b7ec246872b412f0e7bb9e93eacfd78cfa6adfb3 |
|
16-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add NeXT runtime support for generating methods. Change CodeGenFunction::EmitParmDecl to take either a ParmVarDecl or an ImplicitParamDecl. Drop hasAggregateLLVMType from CodeGenModule.cpp (use version in CodeGenFunction). Change the Objective-C method generation to use EmitParmDecl for implicit parameters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
ddb2a3d55a24a1dbdf9152621642d9a4b4fc2f61 |
|
16-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Change ObjCRuntime::LookupClass -> GetClass, and now takes the ObjCInterfaceDecl. Change ObjCRuntime::GenerateMessageSendSuper to take the ObjCInterfaceDecl for the super class, instead of just its name. Change EmitObjCMessageExpr to make the right runtime calls for super sends in class methods (i.e. a super send with the class object as the receiver). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
7ded7f4983dc4a20561db7a8d02c6b2435030961 |
|
16-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Change CGObjCRuntime methods to take appropriate clang Decls. - This is in prep for implementation class support for the NeXT runtime, for which the existing methods don't provide enough information (and additionally make too many assumptions about how things should be emitted). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
6efc0c559b5f9861d4bbd4aef5b4897c02b2ae74 |
|
13-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Implement Obj-C protocol metadata generation for NeXT. - Near complete, only properties are missing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
af2f62ce32e462f256855cd24b06dec4755d2827 |
|
13-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Change ObjCRuntime GenerateProtocol[Ref] methods to take ObjCProtocolDecl directly. Implement CodeGen support for forward protocol decls (no-ops are so nice to implement). Also moved CGObjCRuntime.h out of CodeGenModule.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
4e2d7d03b2e07ad5f4eb56be67f066ed1427b3a5 |
|
12-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Emit OBJC_MODULE_INFO and OBJC_SYMBOLS metadata - Matches llvm-gcc and seem to be expected by otool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
2bedbf8549bb33293c6a53e5da6cbd8de290d014 |
|
12-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Drop Sender from GenerateMessageSend* - Was unused and generated a unnecessary load of self Update NeXT runtime to get proper object & selector types from ASTContext. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
259d93d1e1f820d5ee7251e875fdb7c883102f16 |
|
12-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add NeXT support for (simple) message sends. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
bbce49b9e5c6d7f05926b89f8e6fd235ae01c250 |
|
12-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add ObjC constant string support for NeXT. Changed CGObjCRuntime::GenerateConstantString interface to take std::string instead of char* and size. Change ObjC functions which call on GenerateConstantString to bitcast result to appropriate type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
f77ac86f4eca528a04b817d7ad7f045a47d52712 |
|
11-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add LangOptions::NeXTRuntime. - Wired to -fnext-runtime and -fgnu-runtime options. - Defaults to GNU, no autoselection for NeXT. Emit NeXT OBJC_IMAGE_INFO marker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
acc5f3e42334525bf28c86471551f83dfce222d5 |
|
11-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
More #include cleaning - Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
e91593ef084479340582b2ba177b44be50a717b7 |
|
11-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
More #include cleaning - Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and SourceLocation.h) - Move ASTContext constructor into implementation git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|
c17a4d3b16a2624a76de5d7508805534545bd3bf |
|
11-Aug-2008 |
Daniel Dunbar <daniel@zuster.org> |
Add dummy Mac Objective-C runtime interface. - Not currently accessible and completely non-functional. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGObjCMac.cpp
|