| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Be sure to never create two functions with the same name, instead arrange to | Mike Stump | 2009-03-09 | 2 | -45/+52 |
| | | | | | | | reuse the prior one. llvm-svn: 66408 | ||||
| * | Code refactoring. No functional change. | Fariborz Jahanian | 2009-03-08 | 1 | -25/+17 |
| | | | | | llvm-svn: 66391 | ||||
| * | Make mangling work with anonymous tag types. Doug, please review | Anders Carlsson | 2009-03-07 | 1 | -5/+19 |
| | | | | | llvm-svn: 66353 | ||||
| * | Mangle Objective-C interfaces correctly (where correctly refers to what gcc ↵ | Anders Carlsson | 2009-03-07 | 1 | -0/+9 |
| | | | | | | | does) llvm-svn: 66349 | ||||
| * | 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 | ||||
| * | correct bitfield ivar offset in ivar meta-data. | Fariborz Jahanian | 2009-03-07 | 1 | -12/+27 |
| | | | | | | | (objc abi specific). llvm-svn: 66345 | ||||
| * | Mangle param names with .arg. only. | Sanjiv Gupta | 2009-03-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 66343 | ||||
| * | Fixup our uses of various linkages to match how llvm now works. I think ↵ | Mike Stump | 2009-03-07 | 2 | -11/+13 |
| | | | | | | | | | they are all correct, but an extra set of ObjC eyes would be good. llvm-svn: 66342 | ||||
| * | If someone could figure out this is necessary, that would be good. | Mike Stump | 2009-03-07 | 1 | -1/+3 |
| | | | | | llvm-svn: 66341 | ||||
| * | Fix typo, need parens. | Mike Stump | 2009-03-07 | 1 | -2/+2 |
| | | | | | llvm-svn: 66337 | ||||
| * | Some struct/class mismatch fixes, to silence MSVC warnings. | Sebastian Redl | 2009-03-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 66335 | ||||
| * | Remove last FIXME for block literal codegen that I know about and turn | Mike Stump | 2009-03-07 | 1 | -2/+1 |
| | | | | | | | | | on all the new code by default. There is still plenty of testing to do and issues I'm sure need resolving. Let me know if you find anything. llvm-svn: 66323 | ||||
| * | Remove some FIXMEs for block literals that should be close to working. | Mike Stump | 2009-03-07 | 2 | -10/+8 |
| | | | | | llvm-svn: 66322 | ||||
| * | Back out the patch in r66302, and re-fix it properly. We assume for | Eli Friedman | 2009-03-07 | 2 | -3/+6 |
| | | | | | | | | | performance that the type of the returned llvm::Value for an expression matches the converted type of the clang::Expr; mismatches will cause all sorts of errors and silent miscompilations. llvm-svn: 66321 | ||||
| * | codegen support for dispose helpers for block literals. | Mike Stump | 2009-03-07 | 1 | -1/+23 |
| | | | | | llvm-svn: 66320 | ||||
| * | Codegen support for copy helpers for block literals. | Mike Stump | 2009-03-07 | 5 | -51/+127 |
| | | | | | llvm-svn: 66319 | ||||
| * | Fixed a bug where generation of read-barriers caused | Fariborz Jahanian | 2009-03-06 | 1 | -0/+3 |
| | | | | | | | crash in ir-gen. llvm-svn: 66302 | ||||
| * | (LLVM svn up) Generalize RuntimeFunctions to RuntimeGlobals and add | Daniel Dunbar | 2009-03-06 | 2 | -25/+44 |
| | | | | | | | | | | | | | | | 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 | ||||
| * | Pass the type of the block literal around to make required temporal ordering ↵ | Mike Stump | 2009-03-06 | 3 | -17/+22 |
| | | | | | | | of code clearer. llvm-svn: 66284 | ||||
| * | x86_64 ABI: Handle long double in union when upper eightbyte results | Daniel Dunbar | 2009-03-06 | 1 | -8/+16 |
| | | | | | | | | in a lone X87 class. - PR3735. llvm-svn: 66277 | ||||
| * | IRgen support for weak_import. | Daniel Dunbar | 2009-03-06 | 1 | -4/+9 |
| | | | | | | | - <rdar://problem/6652110> clang should support weak_import llvm-svn: 66270 | ||||
| * | Complete __Block_byref_id_object_copy cogegen for block literals. | Mike Stump | 2009-03-06 | 3 | -10/+55 |
| | | | | | llvm-svn: 66257 | ||||
| * | Finish off __Block_byref_id_object_dispose codegen for block literals. | Mike Stump | 2009-03-06 | 3 | -17/+32 |
| | | | | | llvm-svn: 66247 | ||||
| * | Remove extra arg. | Mike Stump | 2009-03-06 | 3 | -4/+4 |
| | | | | | llvm-svn: 66243 | ||||
| * | More codegen support for the copy/dispose helpers for block literals. | Mike Stump | 2009-03-06 | 3 | -14/+98 |
| | | | | | llvm-svn: 66241 | ||||
| * | Framework for codegen for copy/dispose helpers. | Mike Stump | 2009-03-06 | 4 | -21/+94 |
| | | | | | llvm-svn: 66231 | ||||
| * | Cleanup EH a bit given changes to ObjCCatchStmt. | Daniel Dunbar | 2009-03-06 | 1 | -13/+15 |
| | | | | | | | - No functionality change. llvm-svn: 66218 | ||||
| * | Don't mangle names of local variables. | Daniel Dunbar | 2009-03-05 | 2 | -3/+5 |
| | | | | | | | | | - 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 | ||||
| * | More function stop for objc2's ivar layout bit map. | Fariborz Jahanian | 2009-03-05 | 1 | -0/+50 |
| | | | | | llvm-svn: 66209 | ||||
| * | Adds a template for a function for objc2's gc's ivar layout | Fariborz Jahanian | 2009-03-05 | 1 | -4/+16 |
| | | | | | | | bitmap. llvm-svn: 66175 | ||||
| * | prep work for copy/destroy helpers for block literals. | Mike Stump | 2009-03-05 | 4 | -51/+77 |
| | | | | | llvm-svn: 66159 | ||||
| * | if we die in IR generation of a compound statement, include | Chris Lattner | 2009-03-05 | 1 | -1/+4 |
| | | | | | | | | | | | | | | | it in the stack trace, giving us stuff like: Stack dump: 0. Program arguments: clang t.c -emit-llvm 1. <eof> parser at end of file 2. t.c:1:5: LLVM IR generation of declaration 'a' 3. t.c:1:9: LLVM IR generation of compound statement ('{}') 4. t.c:2:3: LLVM IR generation of compound statement ('{}') Abort llvm-svn: 66154 | ||||
| * | 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 | ||||
| * | Initial implementation of CodeGen for incomplete function types; fixes | Eli Friedman | 2009-03-05 | 2 | -4/+55 |
| | | | | | | | | PR3688. (The FIXME is a rather big performance issue, but it only affects code using this feature, which is relatively rare.) llvm-svn: 66128 | ||||
| * | Avoid dispose calls when only doing gc. | Mike Stump | 2009-03-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 66126 | ||||
| * | Set isMain bit for MainFile. | Devang Patel | 2009-03-05 | 1 | -1/+3 |
| | | | | | llvm-svn: 66120 | ||||
| * | Add codegen support for __block variables to call _Block_object_dispose as ↵ | Mike Stump | 2009-03-05 | 4 | -28/+53 |
| | | | | | | | necessary. llvm-svn: 66117 | ||||
| * | Fixup __block codegen in nested block literals. | Mike Stump | 2009-03-04 | 1 | -15/+28 |
| | | | | | llvm-svn: 66091 | ||||
| * | Move more blocks CodeGenFunction code up and out. | Mike Stump | 2009-03-04 | 2 | -23/+23 |
| | | | | | llvm-svn: 66049 | ||||
| * | Move some of the CodeGenFunction blocks code up and out. No | Mike Stump | 2009-03-04 | 4 | -7/+12 |
| | | | | | | | functionality change. llvm-svn: 66048 | ||||
| * | Move more of the blocks code up and out. | Mike Stump | 2009-03-04 | 4 | -10/+16 |
| | | | | | llvm-svn: 66046 | ||||
| * | Refactor code. | Devang Patel | 2009-03-04 | 1 | -12/+24 |
| | | | | | llvm-svn: 66043 | ||||
| * | Move more of blocks codegen out of CodeGenModule and into the | Mike Stump | 2009-03-04 | 5 | -38/+73 |
| | | | | | | | | | | 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 | ||||
| * | Start the migration of more of the blocks code out of sight for most | Mike Stump | 2009-03-04 | 1 | -0/+54 |
| | | | | | | | people. De-duplicates BLOCK_NEEDS_FREE and friends. llvm-svn: 66035 | ||||
| * | Start the migration of more of the blocks code out of sight for most | Mike Stump | 2009-03-04 | 2 | -32/+4 |
| | | | | | | | people. De-duplicates BLOCK_NEEDS_FREE and friends. llvm-svn: 66034 | ||||
| * | Add __block codegen testcase. We introduce a temporary flag to enable | Mike Stump | 2009-03-04 | 1 | -1/+13 |
| | | | | | | | | codegen, until such time as codegen is complete enough to turn on with -fblocks. llvm-svn: 66031 | ||||
| * | Minor cleanup for choose expressions: add a helper that returns the | Eli Friedman | 2009-03-04 | 3 | -10/+3 |
| | | | | | | | chosen sub-expression, rather than just evaluating the condition. llvm-svn: 66018 | ||||
| * | add a special case for codegen that improves the case where we have | Chris Lattner | 2009-03-04 | 1 | -1/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | multiple sequential cases to a) not create tons of fall-through basic blocks and b) not recurse deeply. This fixes codegen on 100K deep cases, and improves codegen on moderate cases from this: switch i32 %tmp, label %sw.epilog [ i32 1000, label %sw.bb i32 1001, label %sw.bb1 i32 1002, label %sw.bb2 i32 1003, label %sw.bb3 i32 1004, label %sw.bb4 ... sw.bb: ; preds = %entry br label %sw.bb1 sw.bb1: ; preds = %entry, %sw.bb br label %sw.bb2 sw.bb2: ; preds = %entry, %sw.bb1 br label %sw.bb3 sw.bb3: ; preds = %entry, %sw.bb2 br label %sw.bb4 to: switch i32 %tmp, label %sw.epilog [ i32 1000, label %sw.bb i32 1001, label %sw.bb i32 1002, label %sw.bb i32 1003, label %sw.bb i32 1004, label %sw.bb sw.bb: ;; many preds llvm-svn: 66015 | ||||
| * | Continuation of PR3687: fix more places to use the right type for | Eli Friedman | 2009-03-04 | 1 | -5/+5 |
| | | | | | | | booleans. llvm-svn: 66012 | ||||

