summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Use the new EmitCallArgs function. No indented functionality change.Anders Carlsson2009-04-084-11/+7
| | | | llvm-svn: 68652
* Add code for emitting call arguments (not used yet).Anders Carlsson2009-04-082-0/+47
| | | | llvm-svn: 68639
* We weren't generating correct code for calls to variadic member functions.Anders Carlsson2009-04-081-6/+5
| | | | llvm-svn: 68635
* Use presumed location to get line number info.Devang Patel2009-04-081-3/+3
| | | | llvm-svn: 68630
* Make sure value is initialized when built w/o asserts.Daniel Dunbar2009-04-081-0/+1
| | | | llvm-svn: 68615
* Make debug info work when using -save-temps.Daniel Dunbar2009-04-081-0/+6
| | | | | | | | | | | | | | | | | | - This is pretty ugly, but the most obvious solution. Chime in if you have a nicer one. - The problem is that with -save-temps, clang-cc has no idea what the name of the original input file is. However, the user expects to be able to set breakpoints based on the input file name. - We support this by providing a new option -main-file-name (similar to -dumpbase used by gcc) which allows the driver to pass in the original file name. - <rdar://problem/6753383> building with clang using --save-temps gets the compile unit name from the .i file... llvm-svn: 68595
* Add a destination type argument to EmitConstantExpr. This will be used for ↵Anders Carlsson2009-04-085-13/+22
| | | | | | when the destination has a reference type. (No functionality change yet) llvm-svn: 68593
* Implementation definition of interfaces with __objc_exception attribute.Daniel Dunbar2009-04-081-35/+65
| | | | | | | - Complete <rdar://problem/6635883> Support __objc_exception__ attribute llvm-svn: 68591
* Pointer width on targets like PIC16 is 16-bit, while the valid index size to ↵Sanjiv Gupta2009-04-082-6/+15
| | | | | | GEP is only 32 or 64. So promote index to 32 in such cases. llvm-svn: 68590
* Don't assume that a block always has a FunctionProtoType. Fixes rdar://6768379.Anders Carlsson2009-04-083-19/+6
| | | | llvm-svn: 68583
* Visibility attributes should only be set on definition.Daniel Dunbar2009-04-071-4/+6
| | | | llvm-svn: 68561
* Shuffle some call code around. No functionality change.Anders Carlsson2009-04-071-12/+14
| | | | llvm-svn: 68557
* Propagte -fvisibility to objc2's class symbols.Fariborz Jahanian2009-04-071-9/+6
| | | | llvm-svn: 68543
* Remove some dead code.Anders Carlsson2009-04-071-9/+5
| | | | llvm-svn: 68532
* Handle use side of __objc_exception__ attribute; when using anDaniel Dunbar2009-04-071-0/+19
| | | | | | | exception with this attribute we don't need to emit a weak definition for the exception type information. llvm-svn: 68513
* Various fixes to symbols used for Obj-C x86_64 metadata.Daniel Dunbar2009-04-073-24/+48
| | | | | | | | | | | | | | | | | | | | | - 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. llvm-svn: 68510
* Implement __sync_{add,sub,and,or,xor}_and_fetch andDaniel Dunbar2009-04-071-9/+59
| | | | | | | | __sync_bool_compare_and_swap. - <rdar://problem/6762223> [sema/irgen] support __sync_bool_compare_and_swap and __sync_add_and_fetch llvm-svn: 68482
* Use the new getFunctionInfo that takes a BlockPointerType parameter, and get ↵Anders Carlsson2009-04-071-23/+8
| | | | | | rid of getBlockFunctionType from CGBlocks.cpp llvm-svn: 68478
* Fixed visibility issues related to objc2's synthesizedFariborz Jahanian2009-04-061-20/+17
| | | | | | ivars. llvm-svn: 68453
* Add a getFunctionInfo that takes a BlockPointerType.Anders Carlsson2009-04-062-0/+16
| | | | llvm-svn: 68452
* Simplify C++ member function calls.Anders Carlsson2009-04-061-5/+4
| | | | llvm-svn: 68451
* Fix a couple of cases where Constant* pointers can dangle inChris Lattner2009-04-061-17/+20
| | | | | | | | ObjCNonFragileABITypesHelper by converting them to dynamic getters. This fixes a crash on rdar://6757213. The others should be converted over as well. llvm-svn: 68445
* Add some basic support for generating C++ member functions.Anders Carlsson2009-04-043-13/+45
| | | | llvm-svn: 68425
* 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
OpenPOWER on IntegriCloud