summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename (one) SetFunctionAttributes to SetLLVMFunctionAttributes toDaniel Dunbar2009-04-141-5/+5
| | | | | | | 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-141-15/+26
| | | | llvm-svn: 69028
* Clean up handling of visibility.Daniel Dunbar2009-04-141-85/+43
| | | | 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
* Update to use hasAttr() instead of getAttr().Daniel Dunbar2009-04-131-19/+19
| | | | | | - 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
* 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
* reject codegen of __thread variables as unimplemented, rdar://6775265Chris Lattner2009-04-101-1/+5
| | | | llvm-svn: 68755
* Propagate the ASTContext to various AST traversal and lookup functions.Douglas Gregor2009-04-091-3/+5
| | | | | | No functionality change (really). llvm-svn: 68726
* Add a destination type argument to EmitConstantExpr. This will be used for ↵Anders Carlsson2009-04-081-1/+1
| | | | | | when the destination has a reference type. (No functionality change yet) llvm-svn: 68593
* Visibility attributes should only be set on definition.Daniel Dunbar2009-04-071-4/+6
| | | | llvm-svn: 68561
* Various fixes to symbols used for Obj-C x86_64 metadata.Daniel Dunbar2009-04-071-0/+8
| | | | | | | | | | | | | | | | | | | | | - 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
* Add some basic support for generating C++ member functions.Anders Carlsson2009-04-041-12/+21
| | | | llvm-svn: 68425
* Basic support for regparm codegenAnton Korobeynikov2009-04-041-3/+0
| | | | llvm-svn: 68414
* 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
* Emit code for linkage specifications.Anders Carlsson2009-04-021-7/+15
| | | | llvm-svn: 68300
* 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 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-011-1/+5
| | | | | | Patch by Jean-Daniel Dupas. Thanks! llvm-svn: 68203
* fix the two xfails I added with a previous patch by making ObjC interfaceChris Lattner2009-04-011-2/+5
| | | | | | | 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-011-6/+0
| | | | llvm-svn: 68176
* Implement code generation of namespaces and add mangling tests.Anders Carlsson2009-04-011-1/+7
| | | | llvm-svn: 68170
* 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-311-9/+13
| | | | | | | | that occurs when attribute(used) and asm renaming are used together. llvm-svn: 68155
* remove some obsolete comments, use an AssertingVH.Chris Lattner2009-03-311-11/+0
| | | | llvm-svn: 68151
* Finish off semantic analysis for regparm, and remove the warning. Also Eli Friedman2009-03-271-3/+0
| | | | | | remove a redundant error in CodeGen. llvm-svn: 67868
* Besides the warning, issue unsupported diagnostics in Fariborz Jahanian2009-03-271-0/+6
| | | | | | ir gen. No intended change in functionality. llvm-svn: 67857
* most of this is plumbing to get CompileOptions down into Chris Lattner2009-03-261-6/+8
| | | | | | | CodeGenModule. Once there, add a new NoCommon option to it and implement -fno-common. llvm-svn: 67735
* switch getBuiltinLibFunction to use the new GetOrCreateLLVMFunction Chris Lattner2009-03-221-31/+5
| | | | | | | | functionality, fixing a crash on the attached testcase. Eliminate the BuiltinFunctions cache, as it can contain dangling pointers. This fixes a bunch of valgrind errors on test/CodeGen/builtins.c llvm-svn: 67484
* emit aliases as the definitions fly by, don't bother deferring untilChris Lattner2009-03-221-76/+63
| | | | | | the end of the module. llvm-svn: 67482
* make alias definition logic more similar to functions/globals.Chris Lattner2009-03-221-12/+29
| | | | llvm-svn: 67481
* fix PR3200 by making alias emission use the new infrastructure. Fold Chris Lattner2009-03-221-11/+17
| | | | | | some tests into the alias.c file. llvm-svn: 67479
* pull "runtime globals" into the same framework as other functions/global ↵Chris Lattner2009-03-221-108/+81
| | | | | | | | variables. No intended functionality change. llvm-svn: 67478
* fix a fixme: non-proto struct returning function definitions should be compiledChris Lattner2009-03-221-4/+7
| | | | | | | | | to something like: define void @bar(%struct.foo* noalias sret %agg.result) nounwind { instead of: define void @bar(%struct.foo* noalias sret %agg.result, ...) nounwind { llvm-svn: 67475
* set function/global names with setName instead of passing the name into theChris Lattner2009-03-221-2/+4
| | | | | | | ctor function. This avoids creating a temporary std::string for the name, speeding up the testcase in PR3810 by 3.8% llvm-svn: 67457
* Issue error if variables are defined inside an objc class,Fariborz Jahanian2009-03-211-11/+3
| | | | | | category or protocol. llvm-svn: 67450
* now that all the decl reference and creation stuff is going through twoChris Lattner2009-03-211-34/+59
| | | | | | | very simple places, reimplement the deferred decl emission logic to not be O(N^2), fixing PR3810. llvm-svn: 67447
* fix a crash that could occur when a variable declaration became aChris Lattner2009-03-211-42/+60
| | | | | | function definition. llvm-svn: 67446
* simplify and cleanup global variable creation stuff to all go through oneChris Lattner2009-03-211-67/+69
| | | | | | code path. llvm-svn: 67445
* simplify management of llvm::Function creation to all go throughChris Lattner2009-03-211-52/+43
| | | | | | GetAddrOfFunction. This is simpler and more efficient. llvm-svn: 67444
* code cleanups, rename EmitForwardFunctionDefinition -> Chris Lattner2009-03-211-42/+43
| | | | | | | CreateFunctionPrototypeIR, though my next patch will eliminate it entirely. llvm-svn: 67443
OpenPOWER on IntegriCloud