| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix IRgen of constant expressions referring to external/static | Daniel Dunbar | 2009-02-24 | 1 | -5/+8 |
| | | | | | | | | variables. - PR3657. llvm-svn: 65381 | ||||
| * | Some initial Obj-C zero cost EH support. | Daniel Dunbar | 2009-02-24 | 1 | -5/+134 |
| | | | | | | | | | | - Only handles cases with @try with no @catch blocks, and there are a number of problems with the implementation. Nevertheless, this is good enough to handled @synchronized correctly, and some other basic uses. llvm-svn: 65378 | ||||
| * | Add a note about an IRgen optimization opportunity. | Daniel Dunbar | 2009-02-24 | 1 | -1/+7 |
| | | | | | llvm-svn: 65376 | ||||
| * | Prevent accidental copying of CodeGenFunction and CodeGenModule. | Anders Carlsson | 2009-02-24 | 2 | -0/+5 |
| | | | | | llvm-svn: 65372 | ||||
| * | Pass the CodeGenModule object to GenerateBlockFunction, instead of *this ↵ | Anders Carlsson | 2009-02-24 | 1 | -6/+1 |
| | | | | | | | | | (which will call the copy constructor). Also, since we're creating a new CodeGenFunction object for each block function, we don't need to clear the BreakContinueStack. llvm-svn: 65371 | ||||
| * | Ensure that we can't break or continue out of a block. | Mike Stump | 2009-02-24 | 1 | -0/+5 |
| | | | | | llvm-svn: 65370 | ||||
| * | Fix two @synchronized bugs found by inspection: the expression to sychronize ↵ | Daniel Dunbar | 2009-02-24 | 1 | -40/+32 |
| | | | | | | | | | | on should only be evaluated once, and it is evaluated outside the cleanup scope. Also, lift SyncEnter and SyncExit up in nervous anticipation of x86-64 zero cost EH. llvm-svn: 65362 | ||||
| * | Improve merging of function declarations. Specifically: | Douglas Gregor | 2009-02-24 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | - When we are declaring a function in local scope, we can merge with a visible declaration from an outer scope if that declaration refers to an entity with linkage. This behavior now works in C++ and properly ignores entities without linkage. - Diagnose the use of "static" on a function declaration in local scope. - Diagnose the declaration of a static function after a non-static declaration of the same function. - Propagate the storage specifier to a function declaration from a prior declaration (PR3425) - Don't name-mangle "main" llvm-svn: 65360 | ||||
| * | We should not generate __weak write barrier on indirect reference | Fariborz Jahanian | 2009-02-23 | 1 | -3/+12 |
| | | | | | | | | of a pointer to object; This patch does this odd behavior according to gcc. llvm-svn: 65334 | ||||
| * | Add low level support for generating invoke instead of calls. | Daniel Dunbar | 2009-02-23 | 3 | -16/+46 |
| | | | | | | | - No functionality change. llvm-svn: 65325 | ||||
| * | Make sure to reset the DidCallStackSave variable before emitting a compound ↵ | Anders Carlsson | 2009-02-22 | 1 | -0/+1 |
| | | | | | | | statement. Fixes PR3649. llvm-svn: 65291 | ||||
| * | More objc gc work. Match gcc's treatment of ivar access | Fariborz Jahanian | 2009-02-22 | 1 | -1/+1 |
| | | | | | | | | true a local pointer to objective-c object in generating write barriers. llvm-svn: 65290 | ||||
| * | Copy some clenaups from Eli to code that I copied. :-) | Mike Stump | 2009-02-22 | 1 | -6/+1 |
| | | | | | llvm-svn: 65286 | ||||
| * | Cleanp code with some recent suggestions. | Mike Stump | 2009-02-22 | 3 | -21/+12 |
| | | | | | llvm-svn: 65285 | ||||
| * | x86_64 ABI: Actually, we can always pass things we want to pass in | Daniel Dunbar | 2009-02-22 | 1 | -10/+2 |
| | | | | | | | | memory using Indirect; this was a holdover from when CGCall wasn't as robust. llvm-svn: 65278 | ||||
| * | Eliminate a bunch of code which should be dead. | Eli Friedman | 2009-02-22 | 1 | -194/+5 |
| | | | | | llvm-svn: 65267 | ||||
| * | x86_64 ABI: Make sure to pass vectors that we want to pass in memory | Daniel Dunbar | 2009-02-22 | 1 | -1/+1 |
| | | | | | | | | | | as byval. Otherwise LLVM will have its own opinion about where to put things. We now pass all gcc dg.compat tests on x86_64. llvm-svn: 65266 | ||||
| * | x86_64 ABI: Pass 32-bit vectors as Integer to match gcc. We don't care | Daniel Dunbar | 2009-02-22 | 1 | -1/+16 |
| | | | | | | | about these much but <2 x i16> shows up in the gcc test suite. llvm-svn: 65264 | ||||
| * | x86_64 ABI: Classify <1 x i64> as INTEGER (match gcc not llvm-gcc). | Daniel Dunbar | 2009-02-22 | 1 | -6/+12 |
| | | | | | | | | Also, make sure to pass <1 x i64> as i64 (not <1 x i64>, which doesn't quite work yet in the backend). llvm-svn: 65262 | ||||
| * | Last part of PR3254: use the same alignment computation in Sema and | Eli Friedman | 2009-02-22 | 1 | -4/+1 |
| | | | | | | | | CodeGen. I'm not sure whether this actually makes any visible difference, but it's better to be consistent anyway. llvm-svn: 65259 | ||||
| * | local array of objects are non-gc'able. | Fariborz Jahanian | 2009-02-21 | 1 | -2/+6 |
| | | | | | llvm-svn: 65251 | ||||
| * | More work to integrate newly added ObjCQualifiedClassType into the type system. | Steve Naroff | 2009-02-21 | 1 | -0/+1 |
| | | | | | | | This is necessary 'plumbing' to fix <rdar://problem/6497631> Message lookup is sometimes different than gcc's. llvm-svn: 65248 | ||||
| * | The blocks ABI is wrong, add a FIXME. | Mike Stump | 2009-02-21 | 1 | -0/+3 |
| | | | | | llvm-svn: 65243 | ||||
| * | Add CodeGen support for the helper for BlockDeclRefExprs. The easier | Mike Stump | 2009-02-21 | 4 | -26/+125 |
| | | | | | | | stuff is mostly done. Move BlockHasCopyDispose up. llvm-svn: 65242 | ||||
| * | Handle case of none gc'able objects regardless of their | Fariborz Jahanian | 2009-02-21 | 2 | -5/+20 |
| | | | | | | | type. llvm-svn: 65205 | ||||
| * | Emit extern_weak when needed. | Daniel Dunbar | 2009-02-21 | 1 | -5/+10 |
| | | | | | | | - PR3629. llvm-svn: 65203 | ||||
| * | We must always mangle attribute overloadable functions; even if in a | Daniel Dunbar | 2009-02-20 | 1 | -5/+5 |
| | | | | | | | | system header. - Prevents a codegen crash when anything used anything in tgmath! :) llvm-svn: 65200 | ||||
| * | Add some IRgen improvement notes. | Daniel Dunbar | 2009-02-20 | 1 | -0/+17 |
| | | | | | llvm-svn: 65146 | ||||
| * | Shorten; no functionality change. | Daniel Dunbar | 2009-02-20 | 1 | -8/+6 |
| | | | | | llvm-svn: 65145 | ||||
| * | Take advantage of noreturn attribute to add unreachable instruction & | Daniel Dunbar | 2009-02-20 | 1 | -0/+12 |
| | | | | | | | | clear insertion point. The rest of IRgen should theoretically take advantage of this to avoid emitting dead code. Theory != Practice. llvm-svn: 65141 | ||||
| * | remove some more methods from objc decls, using the iterator | Chris Lattner | 2009-02-20 | 1 | -6/+5 |
| | | | | | | | interfaces more consistently. llvm-svn: 65138 | ||||
| * | Set call attribute for direct calls (i.e. noreturn). | Daniel Dunbar | 2009-02-20 | 3 | -26/+26 |
| | | | | | | | - Remove an unused variant of EmitCallExpr overload. llvm-svn: 65130 | ||||
| * | switch ObjCMethodDecl's parameter list from being explicitly managed to an ↵ | Chris Lattner | 2009-02-20 | 1 | -1/+1 |
| | | | | | | | ObjCList. llvm-svn: 65114 | ||||
| * | Initialize the Init variable to something reasonable when we emit an | Eli Friedman | 2009-02-20 | 1 | -1/+4 |
| | | | | | | | error, so we don't crash. llvm-svn: 65099 | ||||
| * | More objc gc's ir-gen fixes. | Fariborz Jahanian | 2009-02-20 | 1 | -3/+8 |
| | | | | | llvm-svn: 65097 | ||||
| * | Deox and Capitolize. | Mike Stump | 2009-02-20 | 1 | -3/+3 |
| | | | | | llvm-svn: 65093 | ||||
| * | Fix spacing. | Mike Stump | 2009-02-20 | 1 | -1/+1 |
| | | | | | llvm-svn: 65089 | ||||
| * | More objc's gc ir-gen stuff. | Fariborz Jahanian | 2009-02-19 | 2 | -37/+37 |
| | | | | | llvm-svn: 65077 | ||||
| * | Add enough checking to ensure that non-constant block literals don't | Mike Stump | 2009-02-19 | 1 | -1/+5 |
| | | | | | | | | appear to be constant. I'll probably redo this and throw it all away later once we have codegen for BlockDeclRefExprs. llvm-svn: 65070 | ||||
| * | Remove IRgen constant emission assumption that LValue APValue results | Daniel Dunbar | 2009-02-19 | 1 | -15/+31 |
| | | | | | | | | | | only occur for pointer types; they are also possible for integer types now. - No intended functionality change, IntExprEvaluate doesn't return LValue results yet. llvm-svn: 65066 | ||||
| * | Add irgen support for the noinline attribute. | Anders Carlsson | 2009-02-19 | 1 | -0/+3 |
| | | | | | llvm-svn: 65056 | ||||
| * | Generate the conservative objc gc's API for now. | Fariborz Jahanian | 2009-02-19 | 1 | -0/+7 |
| | | | | | llvm-svn: 65051 | ||||
| * | Don't emit K&R unprototyped function definitions as varargs. | Daniel Dunbar | 2009-02-19 | 2 | -14/+37 |
| | | | | | | | - <rdar://problem/6584606> clang/x86-64 - too many reg saves llvm-svn: 65032 | ||||
| * | Emission of global variable initialializer was broken in rare | Daniel Dunbar | 2009-02-19 | 1 | -1/+23 |
| | | | | | | | | | | | | situation where a tentative decl was emitted *after* the actual initialization. This occurs in some rare situations with static decls. - PR3613. - I'm not particularly happy with this fix, but I don't see a simpler or more elegant solution yet. llvm-svn: 65018 | ||||
| * | More codegen for blocks. The type of block literals should be better. | Mike Stump | 2009-02-19 | 4 | -12/+61 |
| | | | | | | | The size calculation is improved. llvm-svn: 64994 | ||||
| * | Some code simplification. ir gen for gc'able array | Fariborz Jahanian | 2009-02-19 | 2 | -14/+17 |
| | | | | | | | of objects in objc. llvm-svn: 64992 | ||||
| * | Address Chris's comments regarding C++ name mangling. | Douglas Gregor | 2009-02-18 | 7 | -45/+64 |
| | | | | | llvm-svn: 64984 | ||||
| * | Add anti-FIXME. | Daniel Dunbar | 2009-02-18 | 1 | -1/+4 |
| | | | | | llvm-svn: 64969 | ||||
| * | i386 ABI: Offset computation in va_arg was incorrect for sizeof(Ty)>4. | Daniel Dunbar | 2009-02-18 | 1 | -6/+3 |
| | | | | | | | We are down to only failing gcc.dg/compat/vector-[12] (8 tests total). llvm-svn: 64967 | ||||
| * | x86_64 ABI: Fix thinko in computation of bound for "passed in SSE regs" test. | Daniel Dunbar | 2009-02-18 | 1 | -1/+1 |
| | | | | | | | Two more gcc/x86_64 failures down. llvm-svn: 64963 | ||||

