Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Basic support for regparm codegen | Anton Korobeynikov | 2009-04-04 | 1 | -3/+0 | |
| | | | | llvm-svn: 68414 | |||||
* | Add a comment/FIXME so Eli can sleep better:-)) | Steve Naroff | 2009-04-03 | 1 | -0/+5 | |
| | | | | llvm-svn: 68379 | |||||
* | Implement -fvisibility. | Fariborz Jahanian | 2009-04-03 | 1 | -2/+23 | |
| | | | | llvm-svn: 68369 | |||||
* | Add target hook for setting symbol prefix and section of unicode | Daniel Dunbar | 2009-04-03 | 1 | -4/+22 | |
| | | | | | | string literals. llvm-svn: 68363 | |||||
* | Emit code for linkage specifications. | Anders Carlsson | 2009-04-02 | 1 | -7/+15 | |
| | | | | llvm-svn: 68300 | |||||
* | CodeGenModule::GetAddrOfConstantCFString(): | Steve Naroff | 2009-04-01 | 1 | -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 Naroff | 2009-04-01 | 1 | -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 Naroff | 2009-04-01 | 1 | -1/+5 | |
| | | | | | | Patch by Jean-Daniel Dupas. Thanks! llvm-svn: 68203 | |||||
* | fix the two xfails I added with a previous patch by making ObjC interface | Chris Lattner | 2009-04-01 | 1 | -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 Lattner | 2009-04-01 | 1 | -6/+0 | |
| | | | | llvm-svn: 68176 | |||||
* | Implement code generation of namespaces and add mangling tests. | Anders Carlsson | 2009-04-01 | 1 | -1/+7 | |
| | | | | llvm-svn: 68170 | |||||
* | Add Target hooks for IRgen of [cf]string literals. | Daniel Dunbar | 2009-03-31 | 1 | -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 Lattner | 2009-03-31 | 1 | -9/+13 | |
| | | | | | | | | that occurs when attribute(used) and asm renaming are used together. llvm-svn: 68155 | |||||
* | remove some obsolete comments, use an AssertingVH. | Chris Lattner | 2009-03-31 | 1 | -11/+0 | |
| | | | | llvm-svn: 68151 | |||||
* | Finish off semantic analysis for regparm, and remove the warning. Also | Eli Friedman | 2009-03-27 | 1 | -3/+0 | |
| | | | | | | remove a redundant error in CodeGen. llvm-svn: 67868 | |||||
* | Besides the warning, issue unsupported diagnostics in | Fariborz Jahanian | 2009-03-27 | 1 | -0/+6 | |
| | | | | | | ir gen. No intended change in functionality. llvm-svn: 67857 | |||||
* | most of this is plumbing to get CompileOptions down into | Chris Lattner | 2009-03-26 | 1 | -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 Lattner | 2009-03-22 | 1 | -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 until | Chris Lattner | 2009-03-22 | 1 | -76/+63 | |
| | | | | | | the end of the module. llvm-svn: 67482 | |||||
* | make alias definition logic more similar to functions/globals. | Chris Lattner | 2009-03-22 | 1 | -12/+29 | |
| | | | | llvm-svn: 67481 | |||||
* | fix PR3200 by making alias emission use the new infrastructure. Fold | Chris Lattner | 2009-03-22 | 1 | -11/+17 | |
| | | | | | | some tests into the alias.c file. llvm-svn: 67479 | |||||
* | pull "runtime globals" into the same framework as other functions/global ↵ | Chris Lattner | 2009-03-22 | 1 | -108/+81 | |
| | | | | | | | | variables. No intended functionality change. llvm-svn: 67478 | |||||
* | fix a fixme: non-proto struct returning function definitions should be compiled | Chris Lattner | 2009-03-22 | 1 | -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 the | Chris Lattner | 2009-03-22 | 1 | -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 Jahanian | 2009-03-21 | 1 | -11/+3 | |
| | | | | | | category or protocol. llvm-svn: 67450 | |||||
* | now that all the decl reference and creation stuff is going through two | Chris Lattner | 2009-03-21 | 1 | -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 a | Chris Lattner | 2009-03-21 | 1 | -42/+60 | |
| | | | | | | function definition. llvm-svn: 67446 | |||||
* | simplify and cleanup global variable creation stuff to all go through one | Chris Lattner | 2009-03-21 | 1 | -67/+69 | |
| | | | | | | code path. llvm-svn: 67445 | |||||
* | simplify management of llvm::Function creation to all go through | Chris Lattner | 2009-03-21 | 1 | -52/+43 | |
| | | | | | | GetAddrOfFunction. This is simpler and more efficient. llvm-svn: 67444 | |||||
* | code cleanups, rename EmitForwardFunctionDefinition -> | Chris Lattner | 2009-03-21 | 1 | -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 Lattner | 2009-03-21 | 1 | -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 fixmes | Chris Lattner | 2009-03-21 | 1 | -10/+9 | |
| | | | | llvm-svn: 67441 | |||||
* | reduce redundant calls of getMangledName. | Chris Lattner | 2009-03-21 | 1 | -8/+10 | |
| | | | | llvm-svn: 67440 | |||||
* | simplify some more code. | Chris Lattner | 2009-03-21 | 1 | -27/+32 | |
| | | | | llvm-svn: 67439 | |||||
* | simplify and comment some code better. Make BindRuntimeGlobals | Chris Lattner | 2009-03-21 | 1 | -25/+30 | |
| | | | | | | more optimistic that it will work (optimizing for the common case). llvm-svn: 67438 | |||||
* | random code cleanups. | Chris Lattner | 2009-03-21 | 1 | -14/+12 | |
| | | | | llvm-svn: 67437 | |||||
* | remove obviously dead code: you can't bitcast a pointer to "Ty" (a function ↵ | Chris Lattner | 2009-03-21 | 1 | -5/+1 | |
| | | | | | | type). llvm-svn: 67436 | |||||
* | avoid making constant folding logic eliminate obviously dead bitcasts, ↵ | Chris Lattner | 2009-03-21 | 1 | -2/+7 | |
| | | | | | | | | speeding up PR3810 by ~2%. llvm-svn: 67434 | |||||
* | Add a fast path to CodeGenModule::getMangledName for almost all C functions, | Chris Lattner | 2009-03-21 | 1 | -2/+8 | |
| | | | | | | speeding up the testcase in PR3810 by 60%. llvm-svn: 67431 | |||||
* | IRgen support for alias of global variable. | Daniel Dunbar | 2009-03-19 | 1 | -11/+9 | |
| | | | | | | - PR3818. llvm-svn: 67297 | |||||
* | objc: Implemented variables declared in class interface | Fariborz Jahanian | 2009-03-18 | 1 | -5/+13 | |
| | | | | | | whose sema decl is at the translation unit. llvm-svn: 67249 | |||||
* | Adjust for linkage name change. | Duncan Sands | 2009-03-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 66691 | |||||
* | Correct for change of this name in LLVM. | Duncan Sands | 2009-03-11 | 1 | -2/+2 | |
| | | | | llvm-svn: 66652 | |||||
* | Backout r66408, we don't want handling of globals to rely on the | Daniel Dunbar | 2009-03-09 | 1 | -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 to | Mike Stump | 2009-03-09 | 1 | -32/+36 | |
| | | | | | | reuse the prior one. llvm-svn: 66408 | |||||
* | Make constant emission for @encode use the common string emission code. | Eli Friedman | 2009-03-07 | 1 | -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 Stump | 2009-03-07 | 1 | -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 add | Daniel Dunbar | 2009-03-06 | 1 | -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 Dunbar | 2009-03-06 | 1 | -4/+9 | |
| | | | | | | - <rdar://problem/6652110> clang should support weak_import llvm-svn: 66270 | |||||
* | Don't mangle names of local variables. | Daniel Dunbar | 2009-03-05 | 1 | -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 |