Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | Make IRGen compatible with declaring a function with incomplete | Eli Friedman | 2009-03-05 | 1 | -2/+13 | |
| | | | | | | | return/argument types. (The generated IR isn't ideal, but we can't really do better in general.) llvm-svn: 66132 | |||||
* | Move more of the blocks code up and out. | Mike Stump | 2009-03-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 66046 | |||||
* | Move more of blocks codegen out of CodeGenModule and into the | Mike Stump | 2009-03-04 | 1 | -6/+3 | |
| | | | | | | | | | BlockModule. No functionality change. This should help people that don't want to know anything about blocks not be confused by the overloaded use of the term block or nor want to see all the blocks goop. llvm-svn: 66042 | |||||
* | Support "asm" renaming of external symbols. | Daniel Dunbar | 2009-03-04 | 1 | -0/+6 | |
| | | | | | | - PR3698. llvm-svn: 66038 | |||||
* | Don't set nounwind on functions when in using the new Obj-C ABI. | Daniel Dunbar | 2009-03-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 65806 | |||||
* | simplify some code. | Chris Lattner | 2009-03-01 | 1 | -9/+5 | |
| | | | | llvm-svn: 65782 |