summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Basic support for regparm codegenAnton Korobeynikov2009-04-042-6/+22
| | | | llvm-svn: 68414
* Add support for calling C++ member functions.Anders Carlsson2009-04-033-0/+45
| | | | llvm-svn: 68412
* Add a getFunctionInfo that takes a CXXMethodDecl.Anders Carlsson2009-04-032-0/+19
| | | | llvm-svn: 68411
* Add a comment/FIXME so Eli can sleep better:-))Steve Naroff2009-04-031-0/+5
| | | | llvm-svn: 68379
* Implement -fvisibility.Fariborz Jahanian2009-04-031-2/+23
| | | | llvm-svn: 68369
* Add target hook for setting symbol prefix and section of unicodeDaniel Dunbar2009-04-031-4/+22
| | | | | | string literals. llvm-svn: 68363
* Fix up lookup rules for properties declared inFariborz Jahanian2009-04-021-37/+0
| | | | | | objc's continuation class. llvm-svn: 68339
* Remove -ftrapu.Mike Stump2009-04-021-57/+28
| | | | llvm-svn: 68330
* Don't use static globals for params as it confuses the optimzer that their ↵Sanjiv Gupta2009-04-021-6/+0
| | | | | | values are never being used in the function. llvm-svn: 68328
* Implement mangling of declarations inside functions.Anders Carlsson2009-04-021-2/+14
| | | | llvm-svn: 68321
* Mangle VarDecls correctly.Anders Carlsson2009-04-021-0/+10
| | | | llvm-svn: 68320
* Move the function decl mangling code out into its own function. No ↵Anders Carlsson2009-04-021-32/+36
| | | | | | functionality change. llvm-svn: 68319
* Emit code for linkage specifications.Anders Carlsson2009-04-022-7/+16
| | | | llvm-svn: 68300
* When compiling C++ code, always mangle the names of static block var decls.Anders Carlsson2009-04-021-10/+16
| | | | llvm-svn: 68280
* Fixup -ftrapv to be more gcc compatible. -ftrapu (for want of aMike Stump2009-04-021-3/+17
| | | | | | | | | | better name) is the option that SmallTalk can use to intercept all overflows, including unsigned. I added some testcases so we don't break anything. Also included is another patch from David for += and friends. llvm-svn: 68267
* CodeGenModule::GetAddrOfConstantCFString():Steve Naroff2009-04-011-5/+10
| | | | | | | | | | - Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants. Remove warning from CheckObjCString. As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling). llvm-svn: 68245
* Add -ftrapv support, patch from David Chisnall; well all except theMike Stump2009-04-011-2/+115
| | | | | | clang option code that is and two bug fixes. llvm-svn: 68240
* Fixes a problem where the compiler is reporting the wrong size to the Gnu Fariborz Jahanian2009-04-011-2/+3
| | | | | | | runtime on 64-bit architectures. Patch by David Chisnall llvm-svn: 68238
* Nonfragile ivar synthesis with property is in a continuationFariborz Jahanian2009-04-011-0/+38
| | | | | | class. llvm-svn: 68234
* Revert r68221, -ftrapv support, which causes several regressions inDouglas Gregor2009-04-011-111/+0
| | | | | | Clang's test suite. llvm-svn: 68230
* Add -ftrapv support, patch from David Chisnall; well all except theMike Stump2009-04-011-0/+111
| | | | | | clang option code that is. llvm-svn: 68221
* Add ConvertUTF module from http://www.unicode.org/Public/PROGRAMS/CVTUTF.Steve Naroff2009-04-011-4/+19
| | | | | | | | | | #ifdef'd out the 5 conversion routines that we don't currently need. Still need a bit more work in GetAddrOfConstantCFString(). Added a FIXME to indicate this. Expect to remove the FIXME today... llvm-svn: 68208
* More "prep" work for handling UTF16 CFString.Steve Naroff2009-04-014-10/+8
| | | | | | Patch by Jean-Daniel Dupas. Thanks! llvm-svn: 68203
* x86-32 Darwin ABI: Handle small structures correctly.Daniel Dunbar2009-04-011-2/+68
| | | | | | | | | | | | | | - Small structures are returned in a register if: 1. They fit nicely in a register. 2. All fields fit nicely in a register. (more or less) - We now pass the first 5000 ABITests if unions are disabled. - <rdar://problem/6497882> [irgen] x86-32 ABI compatibility with small structs llvm-svn: 68197
* x86-32 Darwin ABI: Single element arrays can be part of "singleDaniel Dunbar2009-04-011-18/+26
| | | | | | | | | | element structures", which have different ABI rules. - Current return-arguments-32 status is: 1 out of 1000 failures (-7) - Also, vectors inside "single element structs" require special handling. llvm-svn: 68196
* remove ASTContext::buildObjCInterfaceType, which breaks canonical Chris Lattner2009-04-012-5/+2
| | | | | | | | 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. llvm-svn: 68194
* x86-32 Darwin ABI: Handle direct return of vectors.Daniel Dunbar2009-04-011-0/+22
| | | | | | - Current return-arguments-32 status is: 8 out of 1000 failures (-7) llvm-svn: 68192
* Fix a subtle bug where the cleanup scope entries had a dangling block referenceDaniel Dunbar2009-04-012-14/+32
| | | | | | | | | - <rdar://problem/6732143> Crash when generating @synchronize for zero-cost exception - Thanks to Anders for helping track down the problem. llvm-svn: 68186
* fix the two xfails I added with a previous patch by making ObjC interfaceChris Lattner2009-04-013-2/+41
| | | | | | | types get completed when their definition is seen if previously laid out by the code generator. llvm-svn: 68177
* move trivial forwarding function inline.Chris Lattner2009-04-012-7/+4
| | | | llvm-svn: 68176
* tidy some code.Chris Lattner2009-04-012-11/+9
| | | | llvm-svn: 68174
* Fix block comparisons. Radar 6732116.Mike Stump2009-04-011-7/+8
| | | | llvm-svn: 68171
* Implement code generation of namespaces and add mangling tests.Anders Carlsson2009-04-012-2/+9
| | | | llvm-svn: 68170
* Fix a bug (that I thought I had fixed already) where mangling a prefix could ↵Anders Carlsson2009-04-011-2/+2
| | | | | | get us into an infinite loop llvm-svn: 68168
* Fix a mangling bug where functions with no arguments weren't getting the 'v' ↵Anders Carlsson2009-04-011-0/+5
| | | | | | parameter specifier. llvm-svn: 68162
* Add Target hooks for IRgen of [cf]string literals.Daniel Dunbar2009-03-311-18/+29
| | | | | | | | | | | - Notably, set section on cfstring literal string data (for now, this is done everywhere because it matches what we were already doing for the CFString data itself) - <rdar://problem/6599098> [irgen] linker requires objc string data to go into cstring llvm-svn: 68160
* Change UsedArray to be a vector of WeakVH to fix a dangling pointer problem ↵Chris Lattner2009-03-312-10/+15
| | | | | | | | that occurs when attribute(used) and asm renaming are used together. llvm-svn: 68155
* remove some obsolete comments, use an AssertingVH.Chris Lattner2009-03-313-20/+7
| | | | llvm-svn: 68151
* x86_32 Darwin ABI: Treat empty unions like empty structures.Daniel Dunbar2009-03-311-5/+5
| | | | | | - Current return-arguments-32 status: 15/1000 failures llvm-svn: 68132
* Patch to fix proptocol reference ir-gen for GNU runtime.Fariborz Jahanian2009-03-311-2/+39
| | | | | | Patch by David Chisnal. llvm-svn: 68125
* ir-gen support for nonfragile abi's synthesized ivars.Fariborz Jahanian2009-03-311-4/+17
| | | | llvm-svn: 68122
* More toward nonfragile abi's synthesized ivars.Fariborz Jahanian2009-03-311-0/+8
| | | | llvm-svn: 68115
* Some "prep" work for handling ObjC @-string constants that contain UTF-8. No ↵Steve Naroff2009-03-315-12/+17
| | | | | | | | 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). llvm-svn: 68114
* remove a dead prototypeChris Lattner2009-03-312-7/+6
| | | | llvm-svn: 68105
* remove the warning. We don't control what users do, and this codeChris Lattner2009-03-311-6/+0
| | | | | | | is run for perfectly reasonable things like NSString* because type layout is recursive. llvm-svn: 68104
* do not *copy* objc interface types, just use their reference.Chris Lattner2009-03-311-12/+8
| | | | llvm-svn: 68102
* fill in temporary smallvectors instead of vectors for performance.Chris Lattner2009-03-311-32/+29
| | | | | | Fix BuildAggrIvarLayout to not access vectors out of range. llvm-svn: 68101
* small cleanups.Chris Lattner2009-03-311-9/+7
| | | | llvm-svn: 68095
* Improve the representation of template names in the AST. ThisDouglas Gregor2009-03-302-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | representation handles the various ways in which one can name a template, including unqualified references ("vector"), qualified references ("std::vector"), and dependent template names ("MetaFun::template apply"). One immediate effect of this change is that the representation of nested-name-specifiers in type names for class template specializations (e.g., std::vector<int>) is more accurate. Rather than representing std::vector<int> as std::(vector<int>) we represent it as (std::vector)<int> which more closely follows the C++ grammar. Additionally, templates are no longer represented as declarations (DeclPtrTy) in Parse-Sema interactions. Instead, I've introduced a new OpaquePtr type (TemplateTy) that holds the representation of a TemplateName. This will simplify the handling of dependent template-names, once we get there. llvm-svn: 68074
* Code gen does not yet supports __asm__ on a variableFariborz Jahanian2009-03-301-0/+3
| | | | | | declaration. Reject it. llvm-svn: 68058
OpenPOWER on IntegriCloud