summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for mangling C++ constructors. Review appreciated (I'm looking ↵Anders Carlsson2009-04-152-10/+57
| | | | | | at you, Doug) llvm-svn: 69150
* Add CGCXX.h with ctor/dtor type enumerations. No functionality change.Anders Carlsson2009-04-151-0/+36
| | | | llvm-svn: 69137
* Simplify CodeGenFunction::GenerateCode.Anders Carlsson2009-04-151-9/+4
| | | | llvm-svn: 69134
* Tweaks to Objective-C metadata (32 & 64-bit) to match llvm-gcc.Daniel Dunbar2009-04-151-19/+21
| | | | | | | | | | | | | | | | | | | - Set alignment on property lists. - 32-bit: o Set section on property lists. o Fix section name for category class methods. o Fix symbol name for property lists. o Fix section name for class method. o Set alignment and section on class extension structure. o Set alignment on a number of things: instance variables, methods, method descriptions, the symbols structure. - 64-bit: o Fix section flags for protocol list. I doubt most of these were problems in practice, but it is nice to match llvm-gcc. llvm-svn: 69132
* Set alignment on __cstring metadata variables to 1 (matchingDaniel Dunbar2009-04-141-15/+10
| | | | | | llvm-gcc). llvm-svn: 69097
* Avoid use of magic \01 prefix when unneeded.Daniel Dunbar2009-04-141-1/+1
| | | | llvm-svn: 69093
* Comment fix.Daniel Dunbar2009-04-141-1/+1
| | | | llvm-svn: 69091
* remove dead enumChris Lattner2009-04-141-1/+0
| | | | llvm-svn: 69070
* Fix PR3988: extern inline functions get strong symbol definitions inChris Lattner2009-04-142-26/+23
| | | | | | | | C99 mode. This is a regression from an earlier patch of mine. This also simplifies the linkage enums a bit. llvm-svn: 69069
* Do not dead code strip global meta-data objects.Fariborz Jahanian2009-04-141-15/+10
| | | | | | This will match gcc's behavior in the arena. llvm-svn: 69061
* Fixup whitespacing.Mike Stump2009-04-141-1/+1
| | | | llvm-svn: 69055
* Fix comment.Daniel Dunbar2009-04-141-1/+1
| | | | llvm-svn: 69053
* Support code generation of 'this' exprsAnders Carlsson2009-04-143-0/+20
| | | | llvm-svn: 69050
* implement codegen support for __attribute((__gnuc_inline__)),Chris Lattner2009-04-142-38/+47
| | | | | | | | pulling some attribute munging stuff into GetLinkageForFunction. This should fix PR3986 llvm-svn: 69045
* Refactor how attributes are set on values.Daniel Dunbar2009-04-142-101/+90
| | | | | | | | | | | | | | | | | | | | | | | | - Pull out SetCommonAttributes, which handles the things common to aliases, methods, functions, and variables. - Pull out SetLLVMFunctionAttributesForDefinition, which handles the LLVM attributes which we only want to apply to a definition (like noinline and alwaysinline). - Kill SetGVDeclarationAttributes (inlined into SetFunctionAttributes and specialized). - Kill SetFunctionAttributesForDefinition (inlined into sole caller). - Inline SetGVDefinitionAttributes into SetMethodAttributes and specialize. - Rename SetGVDefinitionAttributes to SetFunctionDefinitionAttributes. This is supposed to be a no functionality change commit, but I may have made a mistake. llvm-svn: 69036
* Split SetGlobalValueAttributes into definition/declaration halves.Daniel Dunbar2009-04-142-40/+45
| | | | | | - No functionality change. llvm-svn: 69035
* Rename (one) SetFunctionAttributes to SetLLVMFunctionAttributes toDaniel Dunbar2009-04-142-8/+13
| | | | | | | disambiguate it. - No functionality change. llvm-svn: 69034
* Reduce indentation, no functionality change.Daniel Dunbar2009-04-141-12/+13
| | | | llvm-svn: 69033
* defer emission of always_inline, extern_inline, and inline functions (when Chris Lattner2009-04-141-11/+16
| | | | | | not in c89 mode). llvm-svn: 69032
* give always_inline functions internal linkage. If they cannot be Chris Lattner2009-04-141-1/+3
| | | | | | | inlined for some reason, then we don't want a strong or even weak definition. llvm-svn: 69031
* set the linkage of an inline function according to its language rules.Chris Lattner2009-04-141-2/+26
| | | | llvm-svn: 69030
* Add a comment on SetGlobalValueAttributes.Daniel Dunbar2009-04-141-2/+7
| | | | llvm-svn: 69029
* add a new enum type for linkage, no functionality change.Chris Lattner2009-04-142-19/+35
| | | | llvm-svn: 69028
* Clean up handling of visibility.Daniel Dunbar2009-04-143-115/+59
| | | | llvm-svn: 69027
* reduce indentation, no functionality change.Chris Lattner2009-04-141-27/+23
| | | | llvm-svn: 69026
* do not set visibility on "private" or "available externally" linkage objects.Chris Lattner2009-04-141-2/+2
| | | | llvm-svn: 69025
* Use hasAttr instead of getAttr for conditionals.Mike Stump2009-04-141-1/+1
| | | | llvm-svn: 69021
* Audit __private_extern__ handling.Daniel Dunbar2009-04-143-9/+9
| | | | | | | | | | | | | | - Exposed quite a few Sema issues and a CodeGen crash. - See FIXMEs in test case, and in SemaDecl.cpp (PR3983). I'm skeptical that __private_extern__ should actually be a storage class value. I think that __private_extern__ basically amounts to extern A __attribute__((visibility("hidden"))) and would be better off handled (a) as that, or (b) with an extra bit in the VarDecl. llvm-svn: 69020
* Fixup CodeGen for __weak __block variables. Radar 6756266Mike Stump2009-04-141-3/+4
| | | | llvm-svn: 69010
* Minor work related to removing the assumption that value initialization Eli Friedman2009-04-133-11/+24
| | | | | | implies an all-zero bit pattern. llvm-svn: 68994
* Minor simplification.Eli Friedman2009-04-131-6/+1
| | | | llvm-svn: 68992
* Update to use hasAttr() instead of getAttr().Daniel Dunbar2009-04-139-33/+33
| | | | | | - No functionality change. llvm-svn: 68987
* Move/update recent FIXME (wrt UTF-8 checking for ObjC @-strings).Steve Naroff2009-04-131-4/+1
| | | | llvm-svn: 68982
* Fixed crasher in <rdar://problem/6780904> [irgen] Assertion failed: (Result ↵Steve Naroff2009-04-131-9/+18
| | | | | | | | == conversionOK && "UTF-8 to UTF-16 conversion failed"), function GetAddrOfConstantCFString, file CodeGenModule.cpp, line 1063. Still a diagnostic related FIXME (will discuss with Daniel/Fariborz offline). llvm-svn: 68975
* Use the new guard variable mangling function and get rid of the old code.Anders Carlsson2009-04-131-65/+6
| | | | llvm-svn: 68971
* Add support for mangling guard variables.Anders Carlsson2009-04-132-1/+23
| | | | llvm-svn: 68969
* Minor refactoring of my last patch.Fariborz Jahanian2009-04-111-2/+2
| | | | llvm-svn: 68870
* Fixes a ir-gen crash for K&R style blocks.Fariborz Jahanian2009-04-111-5/+16
| | | | llvm-svn: 68865
* Don't mangle variables that are at translation unit scope.Anders Carlsson2009-04-111-1/+2
| | | | llvm-svn: 68853
* Add support for generating reference initialization code.Anders Carlsson2009-04-111-2/+21
| | | | llvm-svn: 68852
* Fixup copy/dispose helpers for Objective-C. Radar 6756504Mike Stump2009-04-101-0/+2
| | | | llvm-svn: 68837
* Remove asserts that weren't really useful, and that would fire in case the ↵Anders Carlsson2009-04-101-5/+0
| | | | | | CleanupEntries vector needed to be reallocated. llvm-svn: 68835
* Don't set both readnone and readonly.Daniel Dunbar2009-04-101-2/+2
| | | | llvm-svn: 68833
* Internal variables could mistakenly have "hidden" visibility whenDaniel Dunbar2009-04-101-9/+13
| | | | | | | | their emission was deferred. - <rdar://problem/6775234> variables with internal linkage should not be exposed with -fvisibility=hidden. llvm-svn: 68818
* Fixup codegen for nested blocks that use copy/dispose in the innerMike Stump2009-04-102-56/+64
| | | | | | blocks, so that the outer blocks use it as well. Radar 6762279 llvm-svn: 68811
* Patch to generate meta-data for prtocol usedFariborz Jahanian2009-04-101-1/+4
| | | | | | in @protocol expression. llvm-svn: 68806
* Rename variables to avoid conflict.Anders Carlsson2009-04-101-8/+8
| | | | llvm-svn: 68764
* Make messages consistent.Chris Lattner2009-04-101-1/+1
| | | | llvm-svn: 68756
* reject codegen of __thread variables as unimplemented, rdar://6775265Chris Lattner2009-04-103-4/+11
| | | | llvm-svn: 68755
* Propagate the ASTContext to various AST traversal and lookup functions.Douglas Gregor2009-04-098-87/+108
| | | | | | No functionality change (really). llvm-svn: 68726
OpenPOWER on IntegriCloud