aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGObjCMac.cpp
AgeCommit message (Collapse)Author
2009-02-10Some refactoring of Ivar offset code gen.Fariborz Jahanian
in preparation for nonfragile ivar offset work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64225 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-10Remove the last remnants of the Obj-C EH stack code.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09Use the new cleanup infrastructure for @try/@finallyAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08Add a simplified EmitJumpThroughFinally and use it in CGObjC in preparation ↵Anders Carlsson
of making it use the cleanup stack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64098 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07Split the exception object out into its own stack.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64032 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07Simplify the Objective-C exception handling.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64031 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06Fixed an objc2 nonfragile-abi code gen bug.Fariborz Jahanian
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
2009-02-06objc2's nonfragile abi API for messages sent to 'super'.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63959 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05objc2's nonfragile-abi - API selection for when receiver is a classFariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63881 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05More objc2's API chanes.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63878 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05#ifdef'out out objc2 API selection which is not done in gcc (unlikeFariborz Jahanian
the documentation to the contrary). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 This patch generates messaging code for objc2's non-fragile abi.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63810 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04Some early code for objc2's nonfragile abi messaging.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63770 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04Change construction of common ObjC functions to use CGCallDaniel Dunbar
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
2009-02-04Some function stub added for new abi messaging.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63691 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03Several new declarations for objc2 nonfragileFariborz Jahanian
abi messaging. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03ir-gen for nonfragile ivar bitfield access (objc2 nonfragile abi).Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63644 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03Minor objc2 bug fix.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03objc2's ir-gen for nonfragile ivar access.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63578 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02Thread CGFunctionInfo construction through CodeGenTypes.Daniel Dunbar
- 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
2009-02-02More ABI API cleanup.Daniel Dunbar
- 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
2009-02-02ABI handling API changes.Daniel Dunbar
- 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
2009-02-02Refactored code gen for ivar access in preparation forFariborz Jahanian
objc2 nonfragile ivar access code gen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-31Use target alignment API to set objc2's meta-dataFariborz Jahanian
alignment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63470 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-31Kill off CGCallInfo, always use CGFunctionInfo for encapsulatingDaniel Dunbar
function/call info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63466 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-31class meta-data belong to __objc_data section (in objc2Fariborz Jahanian
nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63461 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-31Recognize class's visibility attribute and set its linkageFariborz Jahanian
to private extern (in objc2 nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63460 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30Missed another mis-alignment of an objc2 meta-data.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63453 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30Setting correct alignent for objc2 meta-data.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63445 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30add imag_info section and data (for objc2 nonfragile abi).Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63430 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30Generate list of implemented classes and categories in theirFariborz Jahanian
own sections (related to objc2 nonfragile abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63418 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30Code gen. for @protocol expression in the new nonfragile abi.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63408 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30Bug fixing involving method-list in protocol meta-dataFariborz Jahanian
(objc2 nonfragile-abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63351 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29Random bug fix related to protocl metadata in categories inFariborz Jahanian
non-fragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63343 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29Set protocol linkage and visibility correctly andFariborz Jahanian
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
2009-01-29Protocol meta-data for objc2's non-fragile abi. Fariborz Jahanian
Lot more to do in this area. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63326 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28Add setter/getter methods to the list of methodsFariborz Jahanian
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
2009-01-28property metadata for objc2's nonfragile abiFariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28Some refactoring of common code. No change in functionality.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63218 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28Set visibility of ivar offset symbols according to Fariborz Jahanian
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
2009-01-28Generation of ivar-offset symbols in objc2's non-fragile abi.Fariborz Jahanian
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
2009-01-27After talking to our runtime guru, I added a comment.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63141 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-27ivar meta-data generation for nonfragile-abi.Fariborz Jahanian
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
2009-01-26Added a FIXME.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63071 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26Build method-description-list for category meta-data Fariborz Jahanian
as well (for nonfragile-abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63062 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26Method decription meta-data and its setting in class_ro_t Fariborz Jahanian
meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63043 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26Meta-data for nonfragile-abi's categoriesFariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63020 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-24Compute instaceStart/instanceSize fields of the class_ro_t meta-dataFariborz Jahanian
for objc2's non-fragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62945 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-24Patch to build class meta-data for each implementation Fariborz Jahanian
of class in objc2's nonfragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62935 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-24This patch builds the meta-class object for each Fariborz Jahanian
implemented class in objc2's nonfrigile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62929 91177308-0d34-0410-b5e6-96231b3b80d8