summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* fix several problems with asm renaming, by pulling it into the mangling code:Chris Lattner2009-03-211-18/+0
| | | | | | | | 1. it wasn't applying to definitions, only declarations, e.g. int x __asm("foo") 2. multiple definitions were conflicting, they weren't getting merged. 3. the code was duplicated in several places. llvm-svn: 67442
* add some fixmesChris Lattner2009-03-211-10/+9
| | | | llvm-svn: 67441
* reduce redundant calls of getMangledName.Chris Lattner2009-03-211-8/+10
| | | | llvm-svn: 67440
* simplify some more code.Chris Lattner2009-03-211-27/+32
| | | | llvm-svn: 67439
* simplify and comment some code better. Make BindRuntimeGlobalsChris Lattner2009-03-211-25/+30
| | | | | | more optimistic that it will work (optimizing for the common case). llvm-svn: 67438
* random code cleanups.Chris Lattner2009-03-211-14/+12
| | | | llvm-svn: 67437
* remove obviously dead code: you can't bitcast a pointer to "Ty" (a function ↵Chris Lattner2009-03-211-5/+1
| | | | | | type). llvm-svn: 67436
* avoid making constant folding logic eliminate obviously dead bitcasts, ↵Chris Lattner2009-03-211-2/+7
| | | | | | | | speeding up PR3810 by ~2%. llvm-svn: 67434
* Add a fast path to CodeGenModule::getMangledName for almost all C functions,Chris Lattner2009-03-211-2/+8
| | | | | | speeding up the testcase in PR3810 by 60%. llvm-svn: 67431
* IRgen support for alias of global variable.Daniel Dunbar2009-03-191-11/+9
| | | | | | - PR3818. llvm-svn: 67297
* objc: Implemented variables declared in class interface Fariborz Jahanian2009-03-181-5/+13
| | | | | | whose sema decl is at the translation unit. llvm-svn: 67249
* Adjust for linkage name change.Duncan Sands2009-03-111-1/+1
| | | | llvm-svn: 66691
* Correct for change of this name in LLVM.Duncan Sands2009-03-111-2/+2
| | | | llvm-svn: 66652
* Backout r66408, we don't want handling of globals to rely on theDaniel Dunbar2009-03-091-36/+32
| | | | | | | module symbol table. The root problem inspiring this was fixed in r66316 (and again in r66506). llvm-svn: 66512
* Be sure to never create two functions with the same name, instead arrange toMike Stump2009-03-091-32/+36
| | | | | | reuse the prior one. llvm-svn: 66408
* Make constant emission for @encode use the common string emission code. Eli Friedman2009-03-071-6/+2
| | | | | | | This is a bit cleaner, and also "fixes" bad code that compares the addresses of the string constants. llvm-svn: 66346
* Fixup our uses of various linkages to match how llvm now works. I think ↵Mike Stump2009-03-071-5/+5
| | | | | | | | they are all correct, but an extra set of ObjC eyes would be good. llvm-svn: 66342
* (LLVM svn up) Generalize RuntimeFunctions to RuntimeGlobals and addDaniel Dunbar2009-03-061-20/+34
| | | | | | | | | | | | | | CodeGenModule::CreateRuntimeVariable. - No real functionality change; although we now assert on silly things like: -- int objc_exception_throw; void f0() { @throw(@"A"); } -- instead of accepting it. llvm-svn: 66292
* IRgen support for weak_import.Daniel Dunbar2009-03-061-4/+9
| | | | | | - <rdar://problem/6652110> clang should support weak_import llvm-svn: 66270
* Don't mangle names of local variables.Daniel Dunbar2009-03-051-1/+3
| | | | | | | | - For one thing, this adds unneeded overhead; for another, this routine can be used to emit unnamed decls which we shouldn't try to mangle. llvm-svn: 66212
OpenPOWER on IntegriCloud