Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | More Next objc2's gc ivar layout bitmap work. | Fariborz Jahanian | 2009-03-11 | 1 | -3/+128 | |
| | | | | | | Work in progress. llvm-svn: 66615 | |||||
* | More objc2's gc meta-data work related to ivar layout bitmap. | Fariborz Jahanian | 2009-03-10 | 1 | -6/+55 | |
| | | | | | | Work in progress. llvm-svn: 66546 | |||||
* | NeXT: Set alignment on a number of ObjC metadata variables (matching llvm-gcc). | Daniel Dunbar | 2009-03-09 | 1 | -11/+11 | |
| | | | | llvm-svn: 66481 | |||||
* | NeXT: Move some routines over to CreateMetadataVar. | Daniel Dunbar | 2009-03-09 | 1 | -169/+81 | |
| | | | | | | - No intended functionality change. llvm-svn: 66473 | |||||
* | Tweak CreateMetadataVar, take the exact alignment instead of relying | Daniel Dunbar | 2009-03-09 | 1 | -7/+15 | |
| | | | | | | on LLVM TargetData. llvm-svn: 66455 | |||||
* | More fix for bitfield ivar meta-data and code gen accessing it. | Fariborz Jahanian | 2009-03-09 | 1 | -8/+17 | |
| | | | | | | | Now, we can actually execute dejagnu test with bitfield ivars in non-fragile abi mode. llvm-svn: 66448 | |||||
* | Fix typo in pref commit. | Daniel Dunbar | 2009-03-09 | 1 | -1/+1 | |
| | | | | llvm-svn: 66433 | |||||
* | NeXT: Add CreateMetadataVar utility method to encapsulate creation of | Daniel Dunbar | 2009-03-09 | 1 | -0/+34 | |
| | | | | | | | | Obj-C metadata variables (which generally should be handled the same, although they aren't currently). - No functionality change. llvm-svn: 66432 | |||||
* | Code refactoring. No functional change. | Fariborz Jahanian | 2009-03-08 | 1 | -25/+17 | |
| | | | | llvm-svn: 66391 | |||||
* | correct bitfield ivar offset in ivar meta-data. | Fariborz Jahanian | 2009-03-07 | 1 | -12/+27 | |
| | | | | | | (objc abi specific). llvm-svn: 66345 | |||||
* | Fixup our uses of various linkages to match how llvm now works. I think ↵ | Mike Stump | 2009-03-07 | 1 | -6/+8 | |
| | | | | | | | | they are all correct, but an extra set of ObjC eyes would be good. llvm-svn: 66342 | |||||
* | Back out the patch in r66302, and re-fix it properly. We assume for | Eli Friedman | 2009-03-07 | 1 | -0/+6 | |
| | | | | | | | | 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. llvm-svn: 66321 | |||||
* | Cleanup EH a bit given changes to ObjCCatchStmt. | Daniel Dunbar | 2009-03-06 | 1 | -13/+15 | |
| | | | | | | - No functionality change. llvm-svn: 66218 | |||||
* | More function stop for objc2's ivar layout bit map. | Fariborz Jahanian | 2009-03-05 | 1 | -0/+50 | |
| | | | | llvm-svn: 66209 | |||||
* | Adds a template for a function for objc2's gc's ivar layout | Fariborz Jahanian | 2009-03-05 | 1 | -4/+16 | |
| | | | | | | bitmap. llvm-svn: 66175 | |||||
* | Refactor code. | Devang Patel | 2009-03-04 | 1 | -12/+24 | |
| | | | | llvm-svn: 66043 | |||||
* | Fix <rdar://problem/6640991> Exception handling executes wrong clause ↵ | Steve Naroff | 2009-03-03 | 1 | -19/+17 | |
| | | | | | | | | | | | (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 llvm-svn: 65964 | |||||
* | First cut at zero-cost EH support. | Daniel Dunbar | 2009-03-02 | 1 | -72/+210 | |
| | | | | | | | | | | | - 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. llvm-svn: 65809 | |||||
* | Make sure to invoke (not call) to objc_exception_throw if necessary. | Daniel Dunbar | 2009-03-02 | 1 | -2/+11 | |
| | | | | llvm-svn: 65808 | |||||
* | Fix completely broken thinko in GetClassGlobal. | Daniel Dunbar | 2009-03-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 65807 | |||||
* | Obj-C non fragile ABI: Use GetClassGlobal in one more instance I missed. | Daniel Dunbar | 2009-03-01 | 1 | -12/+1 | |
| | | | | llvm-svn: 65762 | |||||
* | Obj-C non fragile ABI: Add GetInterfaceEHType for getting the Obj-C | Daniel Dunbar | 2009-03-01 | 1 | -3/+73 | |
| | | | | | | | exception typeinfo metadata, and a few other EH related types/functions. - No functionality change. llvm-svn: 65761 | |||||
* | NeXT: Unify code for creating a class global. | Daniel Dunbar | 2009-03-01 | 1 | -85/+27 | |
| | | | | | | - No functionality change. llvm-svn: 65760 | |||||
* | ObjCAtCatchStmt's ParamStmt is always a DeclStmt. | Daniel Dunbar | 2009-03-01 | 1 | -2/+1 | |
| | | | | llvm-svn: 65759 | |||||
* | Obscure code gen bug related to sending | Fariborz Jahanian | 2009-02-28 | 1 | -7/+35 | |
| | | | | | | | message to 'super' in a class method declared in cateogy (darwin specific). llvm-svn: 65709 | |||||
* | Alignment of pointers in __objc_classlist must be on their | Fariborz Jahanian | 2009-02-28 | 1 | -0/+2 | |
| | | | | | | | natural alignment. Otherwise, the excess hole confuses the objc2 runtime (this is darwin specific). llvm-svn: 65666 | |||||
* | Couple of meta-data segments were wrong. This patch fixes them. | Fariborz Jahanian | 2009-02-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 65578 | |||||
* | Fix an inconsistance in objc2's meta-data related to | Fariborz Jahanian | 2009-02-26 | 1 | -5/+18 | |
| | | | | | | the symbol for the root meta-data. llvm-svn: 65548 | |||||
* | patch for two things. | Fariborz Jahanian | 2009-02-24 | 1 | -3/+5 | |
| | | | | | | | make sure objc2's nonfragile abi is enacted for Leopard too. add -fobjc-gc-only flag to the image_info symbol. llvm-svn: 65413 | |||||
* | Set flag for -fobjc-gc in IMAGE_INFO variable. | Fariborz Jahanian | 2009-02-24 | 1 | -1/+5 | |
| | | | | llvm-svn: 65387 | |||||
* | Some initial Obj-C zero cost EH support. | Daniel Dunbar | 2009-02-24 | 1 | -5/+134 | |
| | | | | | | | | | - 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. llvm-svn: 65378 | |||||
* | Fix two @synchronized bugs found by inspection: the expression to sychronize ↵ | Daniel Dunbar | 2009-02-24 | 1 | -40/+32 | |
| | | | | | | | | | 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. llvm-svn: 65362 | |||||
* | More objc's gc ir-gen stuff. | Fariborz Jahanian | 2009-02-19 | 1 | -2/+4 | |
| | | | | llvm-svn: 65077 | |||||
* | Add support for throwing exceptions to the nonfragile ABI | Anders Carlsson | 2009-02-16 | 1 | -15/+34 | |
| | | | | llvm-svn: 64692 | |||||
* | Added implementation of objc2's gc API calls for | Fariborz Jahanian | 2009-02-16 | 1 | -16/+70 | |
| | | | | | | nonfragile abi. llvm-svn: 64690 | |||||
* | assert/ErrorUnsupported in unimplemented stub functions instead of | Daniel Dunbar | 2009-02-16 | 1 | -16/+25 | |
| | | | | | | miscompiling. llvm-svn: 64647 | |||||
* | Obj-C non-fragile ABI: Fix types of a few globals; these were not | Daniel Dunbar | 2009-02-15 | 1 | -20/+26 | |
| | | | | | | creating valid LLVM structures (although they work fined). llvm-svn: 64580 | |||||
* | Fixed a bad ir-gen bug which caused a dejagnu test to fail. | Fariborz Jahanian | 2009-02-14 | 1 | -1/+1 | |
| | | | | | | | Now we are pretty close to be in sync with objc's classic abi when it comes to passing dejagnu objc executable tests. llvm-svn: 64569 | |||||
* | Fixed a problem caused by foreward @class use | Fariborz Jahanian | 2009-02-14 | 1 | -2/+2 | |
| | | | | | | | | 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). llvm-svn: 64563 | |||||
* | Fixed a 64bit code gen bug of a cateogory | Fariborz Jahanian | 2009-02-13 | 1 | -11/+17 | |
| | | | | | | implementation with no category declaration! llvm-svn: 64470 | |||||
* | Fix a bug whereby, an ivar used to synthesize a property belongs | Fariborz Jahanian | 2009-02-12 | 1 | -4/+25 | |
| | | | | | | to a base class (nonfragile abi ir gen bug). llvm-svn: 64391 | |||||
* | Several cleanups: | Steve Naroff | 2009-02-12 | 1 | -1/+1 | |
| | | | | | | | | - 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). llvm-svn: 64385 | |||||
* | ir-gen for objc's @selector expression in nonfragile abi mode. | Fariborz Jahanian | 2009-02-11 | 1 | -1/+26 | |
| | | | | llvm-svn: 64323 | |||||
* | This patch is all it takes to pass all objc2's fast-enumeration | Fariborz Jahanian | 2009-02-10 | 1 | -1/+1 | |
| | | | | | | tests in the dejagnu test suite in the nonfragile abi mode. llvm-svn: 64251 | |||||
* | Generate ir for ivar offset. This will pass | Fariborz Jahanian | 2009-02-10 | 1 | -23/+42 | |
| | | | | | | | type-nsobject-attribute.m in the dejagnu test suite in the nonfragile abi mode. llvm-svn: 64233 | |||||
* | Some refactoring of Ivar offset code gen. | Fariborz Jahanian | 2009-02-10 | 1 | -3/+36 | |
| | | | | | | in preparation for nonfragile ivar offset work. llvm-svn: 64225 | |||||
* | Remove the last remnants of the Obj-C EH stack code. | Anders Carlsson | 2009-02-10 | 1 | -30/+0 | |
| | | | | llvm-svn: 64205 | |||||
* | Use the new cleanup infrastructure for @try/@finally | Anders Carlsson | 2009-02-09 | 1 | -21/+17 | |
| | | | | llvm-svn: 64160 | |||||
* | Add a simplified EmitJumpThroughFinally and use it in CGObjC in preparation ↵ | Anders Carlsson | 2009-02-08 | 1 | -9/+12 | |
| | | | | | | of making it use the cleanup stack. llvm-svn: 64098 | |||||
* | Split the exception object out into its own stack. | Anders Carlsson | 2009-02-07 | 1 | -5/+7 | |
| | | | | llvm-svn: 64032 |