summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Enable Objective-C interface debug info.Devang Patel2009-03-021-1/+2
| | | | llvm-svn: 65850
* Avoid crash when child iterator gives null result.Daniel Dunbar2009-03-021-1/+2
| | | | llvm-svn: 65812
* First cut at zero-cost EH support.Daniel Dunbar2009-03-021-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 Dunbar2009-03-021-2/+11
| | | | llvm-svn: 65808
* Fix completely broken thinko in GetClassGlobal.Daniel Dunbar2009-03-021-1/+1
| | | | llvm-svn: 65807
* Don't set nounwind on functions when in using the new Obj-C ABI.Daniel Dunbar2009-03-021-1/+1
| | | | llvm-svn: 65806
* Cleanup handling of function attributes in calls.Daniel Dunbar2009-03-021-35/+27
| | | | | | - No intended functionality change. llvm-svn: 65805
* Push checking down, also, give the user a hit as to which part of theMike Stump2009-03-022-39/+11
| | | | | | | block literal is causing the problem, instead of the vague reference to the entire block literal. llvm-svn: 65798
* Add BLOCK_HAS_DESCRIPTOR to global blocks.Anders Carlsson2009-03-011-1/+2
| | | | llvm-svn: 65788
* Be sure to mark blocks with no imports as being global.Mike Stump2009-03-011-0/+4
| | | | llvm-svn: 65784
* simplify some code.Chris Lattner2009-03-011-9/+5
| | | | llvm-svn: 65782
* Obj-C non fragile ABI: Use GetClassGlobal in one more instance I missed.Daniel Dunbar2009-03-011-12/+1
| | | | llvm-svn: 65762
* Obj-C non fragile ABI: Add GetInterfaceEHType for getting the Obj-CDaniel Dunbar2009-03-011-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 Dunbar2009-03-011-85/+27
| | | | | | - No functionality change. llvm-svn: 65760
* ObjCAtCatchStmt's ParamStmt is always a DeclStmt.Daniel Dunbar2009-03-011-2/+1
| | | | llvm-svn: 65759
* Remove debugging code.Anders Carlsson2009-03-011-2/+0
| | | | llvm-svn: 65753
* Emit errors about unsupported blocks features.Anders Carlsson2009-03-011-0/+41
| | | | llvm-svn: 65751
* Initialize NSConcreteStackBlockAnders Carlsson2009-03-011-2/+2
| | | | llvm-svn: 65749
* Do some blocks cleanup and simplification. Fix a crash, and add a test case.Anders Carlsson2009-03-013-16/+48
| | | | llvm-svn: 65746
* Obscure code gen bug related to sending Fariborz Jahanian2009-02-284-7/+40
| | | | | | | message to 'super' in a class method declared in cateogy (darwin specific). llvm-svn: 65709
* improve compatibility with the VC++'08 C++ compiler. Patch byChris Lattner2009-02-282-7/+7
| | | | | | Niklas Larsson! llvm-svn: 65706
* brain thinking memcpy, fingers thinking memset :)Chris Lattner2009-02-281-2/+2
| | | | llvm-svn: 65701
* after going around in circles a few times, finally cave and emit structureChris Lattner2009-02-281-2/+11
| | | | | | | | copies with memcpy instead of memmove. This matches what GCC does and if it causes a problem with a particular libc we can always fix it with a target hook. llvm-svn: 65699
* First cut CodeGen support for __block variables.Mike Stump2009-02-285-76/+129
| | | | llvm-svn: 65688
* Eliminate CXXRecordTypeDouglas Gregor2009-02-282-2/+0
| | | | llvm-svn: 65671
* Alignment of pointers in __objc_classlist must be on theirFariborz Jahanian2009-02-281-0/+2
| | | | | | | natural alignment. Otherwise, the excess hole confuses the objc2 runtime (this is darwin specific). llvm-svn: 65666
* Fix enumeration in switch warnings. No behavior change.Eli Friedman2009-02-271-0/+6
| | | | llvm-svn: 65659
* Fix PR3612. We ensure that we add builtins to the GlobalDeclMap andMike Stump2009-02-272-5/+14
| | | | | | | | | we ensure that things added to the module can be found even when they are not in GlobalDeclMap. The later is for increased flexibility, should someone want to do something tricky like extern "Ada" in the same module. llvm-svn: 65657
* Change the AST generated for offsetof a bit so that it looks like a Eli Friedman2009-02-271-40/+2
| | | | | | | | normal expression, and change Evaluate and IRGen to evaluate it like a normal expression. This simplifies the code significantly, and fixes PR3396. llvm-svn: 65622
* Change the way clang generates union types a bit so it plays well Eli Friedman2009-02-271-1/+6
| | | | | | with the LLVM C backend. llvm-svn: 65615
* Minor cleanup: use getDeclAlignInBytes helper.Eli Friedman2009-02-271-11/+1
| | | | llvm-svn: 65611
* Create a new TypeNodes.def file that enumerates all of the types,Douglas Gregor2009-02-268-33/+46
| | | | | | | | | | | | | | | | | | | | | | | | | giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591
* fix some sema problems with wide strings and hook up basic codegen for them.Chris Lattner2009-02-261-7/+5
| | | | llvm-svn: 65582
* Couple of meta-data segments were wrong. This patch fixes them.Fariborz Jahanian2009-02-261-2/+2
| | | | llvm-svn: 65578
* Add support to emit debug info for objective-c interfaces.Devang Patel2009-02-262-3/+121
| | | | | | (This is not yet used.) llvm-svn: 65573
* Add Type::hasPointerRepresentation predicate.Daniel Dunbar2009-02-263-15/+3
| | | | | | | | | - For types whose native representation is a pointer. - Use to replace ExprConstant.cpp:HasPointerEvalType, CodeGenFunction::isObjCPointerType. llvm-svn: 65569
* Remove PointerLikeType.Daniel Dunbar2009-02-261-1/+0
| | | | | | | - Having pointers and references share a base was not a useful notion. llvm-svn: 65567
* Change PointersToResolve to list the pointee type to resolve, not theDaniel Dunbar2009-02-262-6/+12
| | | | | | | | pointer type. - Drops use of PointerLikeType. - No intended functionality change. llvm-svn: 65566
* Drop uses of isPointerLikeType.Daniel Dunbar2009-02-262-4/+4
| | | | | | - No functionality change. llvm-svn: 65560
* Fix an inconsistance in objc2's meta-data related toFariborz Jahanian2009-02-261-5/+18
| | | | | | the symbol for the root meta-data. llvm-svn: 65548
* Classify enum types correctlyAnders Carlsson2009-02-261-0/+3
| | | | llvm-svn: 65533
* x86_64 ABI: Qualified id types are passed as pointers.Daniel Dunbar2009-02-261-0/+1
| | | | | | - <rdar://problem/6622451> Bad x86_64 code gen for message call taking one argument. llvm-svn: 65510
* CodeGen support for copied BlockDeclRefExprs.Mike Stump2009-02-255-38/+112
| | | | llvm-svn: 65487
* Temporarily disable clearing of insert point (to indicate unreachableDaniel Dunbar2009-02-251-0/+5
| | | | | | | code) when calling noreturn functions; general expression emission isn't ready to do the right thing in all cases. llvm-svn: 65473
* Allow constant initializers to reference their defining decl.Daniel Dunbar2009-02-251-0/+9
| | | | | | - PR3662. llvm-svn: 65472
* Fold GeneraticStaticBlockVarDecl into callers.Daniel Dunbar2009-02-252-34/+14
| | | | | | - No functionality change. llvm-svn: 65470
* Pull COdeGenFunction::CreateStaticBlockVarDecl (just for creating theDaniel Dunbar2009-02-254-65/+92
| | | | | | | | global variable) out of GenerateStaticBlockVarDecl. - No intended functionality change. - Prep for some mild cleanups and PR3662. llvm-svn: 65466
* Fix comments.Devang Patel2009-02-251-3/+3
| | | | llvm-svn: 65423
* Enable debug info emission for objc methods.Devang Patel2009-02-251-0/+3
| | | | llvm-svn: 65422
* patch for two things.Fariborz Jahanian2009-02-241-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
OpenPOWER on IntegriCloud