Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-24 | 1 | -12/+12 | |
| | | | | llvm-svn: 77012 | |||||
* | Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods | Ted Kremenek | 2009-07-17 | 1 | -1/+1 | |
| | | | | | | | | | until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::getAs<XXX> methods, so we still have reduced implementation redundancy. Having explicit getAsXXXType() methods makes it easier to set breakpoints in the debugger. llvm-svn: 76193 | |||||
* | Add member template 'Type::getAs<T>', which converts a Type* to a respective T*. | Ted Kremenek | 2009-07-16 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | This method is intended to eventually replace the individual Type::getAsXXXType<> methods. The motivation behind this change is twofold: 1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of them are basically copy-and-paste. 2) By centralizing the implementation of the getAs<Type> logic we can more smoothly move over to Doug Gregor's proposed canonical type smart pointer scheme. Along with this patch: a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>. b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>. llvm-svn: 76098 | |||||
* | Update for LLVM API change, and contextify a bunch of related stuff. | Owen Anderson | 2009-07-14 | 1 | -50/+53 | |
| | | | | llvm-svn: 75705 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-13 | 1 | -2/+2 | |
| | | | | llvm-svn: 75446 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-08 | 1 | -13/+8 | |
| | | | | llvm-svn: 75028 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-08 | 1 | -4/+7 | |
| | | | | llvm-svn: 74986 | |||||
* | As an optimization, we maintain a cache of generated | Mike Stump | 2009-06-05 | 1 | -4/+35 | |
| | | | | | | | | | | ___Block_byref_id_object_dispose and ___Block_byref_id_object_copy functions so that we can simply reuse instead of creating a new one. Additionally, add an assert to ensure no one yet tries to align a __block variable beyond the alignment of a pointer as the codegen is incomplete. llvm-svn: 72974 | |||||
* | Reflow some comments. | Mike Stump | 2009-05-16 | 1 | -2/+2 | |
| | | | | llvm-svn: 71937 | |||||
* | Fix rdar://6880259 - invalid function name in block call ↵ | Chris Lattner | 2009-05-13 | 1 | -32/+7 | |
| | | | | | | | | (__NSConcreteGlobalBlock2) by using the appropriate CGM interface instead of directly creating a global. llvm-svn: 71617 | |||||
* | Don't assert when we think we need copy/dispose, but don't need them. | Mike Stump | 2009-05-01 | 1 | -1/+2 | |
| | | | | | | Radar 6838889 llvm-svn: 70525 | |||||
* | fix a problem producing debug info with global blocks. | Chris Lattner | 2009-04-23 | 1 | -1/+2 | |
| | | | | llvm-svn: 69875 | |||||
* | the logic for computing __func__ and friends is really broken: | Chris Lattner | 2009-04-23 | 1 | -2/+2 | |
| | | | | | | | | | the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We should eventually add a method on PredefinedExpr to handle this. In the meantime, just set up some framework and add some fixme's. llvm-svn: 69872 | |||||
* | Attributes on block functions were not being set. | Daniel Dunbar | 2009-04-17 | 1 | -0/+2 | |
| | | | | | | | - <rdar://problem/6800351> clang not producing correct large struct return code for Blocks llvm-svn: 69337 | |||||
* | Fixup codegen for copy/dispose for block literals. Radar 6791245 | Mike Stump | 2009-04-15 | 1 | -4/+10 | |
| | | | | llvm-svn: 69232 | |||||
* | Set DebugInfo at the beginning of GenerateBlockFunction(). | Devang Patel | 2009-04-15 | 1 | -0/+5 | |
| | | | | llvm-svn: 69228 | |||||
* | Audit __private_extern__ handling. | Daniel Dunbar | 2009-04-14 | 1 | -2/+1 | |
| | | | | | | | | | | | | | | - Exposed quite a few Sema issues and a CodeGen crash. - See FIXMEs in test case, and in SemaDecl.cpp (PR3983). I'm skeptical that __private_extern__ should actually be a storage class value. I think that __private_extern__ basically amounts to extern A __attribute__((visibility("hidden"))) and would be better off handled (a) as that, or (b) with an extra bit in the VarDecl. llvm-svn: 69020 | |||||
* | Minor refactoring of my last patch. | Fariborz Jahanian | 2009-04-11 | 1 | -2/+2 | |
| | | | | llvm-svn: 68870 | |||||
* | Fixes a ir-gen crash for K&R style blocks. | Fariborz Jahanian | 2009-04-11 | 1 | -5/+16 | |
| | | | | llvm-svn: 68865 | |||||
* | Fixup codegen for nested blocks that use copy/dispose in the inner | Mike Stump | 2009-04-10 | 1 | -52/+60 | |
| | | | | | | blocks, so that the outer blocks use it as well. Radar 6762279 llvm-svn: 68811 | |||||
* | Use the new EmitCallArgs function. No indented functionality change. | Anders Carlsson | 2009-04-08 | 1 | -5/+4 | |
| | | | | llvm-svn: 68652 | |||||
* | Don't assume that a block always has a FunctionProtoType. Fixes rdar://6768379. | Anders Carlsson | 2009-04-08 | 1 | -4/+6 | |
| | | | | llvm-svn: 68583 | |||||
* | Shuffle some call code around. No functionality change. | Anders Carlsson | 2009-04-07 | 1 | -12/+14 | |
| | | | | llvm-svn: 68557 | |||||
* | Use the new getFunctionInfo that takes a BlockPointerType parameter, and get ↵ | Anders Carlsson | 2009-04-07 | 1 | -23/+8 | |
| | | | | | | rid of getBlockFunctionType from CGBlocks.cpp llvm-svn: 68478 | |||||
* | Fix block comparisons. Radar 6732116. | Mike Stump | 2009-04-01 | 1 | -7/+8 | |
| | | | | llvm-svn: 68171 | |||||
* | Move where block-related variables are initialized so that block | Eli Friedman | 2009-03-28 | 1 | -0/+10 | |
| | | | | | | types don't get generated when blocks aren't used. llvm-svn: 67898 | |||||
* | Remove -f__block as codegen for __block variables should be solid. | Mike Stump | 2009-03-25 | 1 | -22/+0 | |
| | | | | llvm-svn: 67697 | |||||
* | Fixup codegen for block literals that bleed copy/dispose information | Mike Stump | 2009-03-25 | 1 | -5/+10 | |
| | | | | | | from previous block literals. llvm-svn: 67696 | |||||
* | Fixup codegen for nested block literals so that we generate | Mike Stump | 2009-03-21 | 1 | -1/+5 | |
| | | | | | | copy_helpers and dispose_helpers as necessary for them. llvm-svn: 67453 | |||||
* | Fix codegen for support for super inside block literal expressions. | Mike Stump | 2009-03-20 | 1 | -2/+18 | |
| | | | | llvm-svn: 67406 | |||||
* | Do up codegen for function static data and externs in functions in block | Mike Stump | 2009-03-13 | 1 | -2/+19 | |
| | | | | | | literals. llvm-svn: 66984 | |||||
* | Remove FIXME, issue has been resolved. | Mike Stump | 2009-03-13 | 1 | -2/+0 | |
| | | | | llvm-svn: 66931 | |||||
* | Fix <rdar://problem/6675489> BlockDecl should not use llvm::smallvector. | Steve Naroff | 2009-03-13 | 1 | -1/+1 | |
| | | | | | | Also changed BlockDecl API to be more consistent (wrt FunctionDecl). llvm-svn: 66904 | |||||
* | Fix uninitialized use in GetAddrOfGlobalBlock, reenable assert. | Daniel Dunbar | 2009-03-12 | 1 | -2/+2 | |
| | | | | | | - Mike, please verify. llvm-svn: 66762 | |||||
* | 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 | |||||
* | 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 | 1 | -8/+3 | |
| | | | | llvm-svn: 66322 | |||||
* | 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 | 1 | -18/+86 | |
| | | | | llvm-svn: 66319 | |||||
* | Pass the type of the block literal around to make required temporal ordering ↵ | Mike Stump | 2009-03-06 | 1 | -12/+17 | |
| | | | | | | of code clearer. llvm-svn: 66284 | |||||
* | Complete __Block_byref_id_object_copy cogegen for block literals. | Mike Stump | 2009-03-06 | 1 | -5/+47 | |
| | | | | llvm-svn: 66257 | |||||
* | Finish off __Block_byref_id_object_dispose codegen for block literals. | Mike Stump | 2009-03-06 | 1 | -9/+22 | |
| | | | | llvm-svn: 66247 | |||||
* | Remove extra arg. | Mike Stump | 2009-03-06 | 1 | -2/+2 | |
| | | | | llvm-svn: 66243 | |||||
* | More codegen support for the copy/dispose helpers for block literals. | Mike Stump | 2009-03-06 | 1 | -10/+88 | |
| | | | | llvm-svn: 66241 | |||||
* | Framework for codegen for copy/dispose helpers. | Mike Stump | 2009-03-06 | 1 | -14/+82 | |
| | | | | llvm-svn: 66231 | |||||
* | prep work for copy/destroy helpers for block literals. | Mike Stump | 2009-03-05 | 1 | -40/+56 | |
| | | | | llvm-svn: 66159 | |||||
* | Add codegen support for __block variables to call _Block_object_dispose as ↵ | Mike Stump | 2009-03-05 | 1 | -24/+30 | |
| | | | | | | necessary. llvm-svn: 66117 | |||||
* | Fixup __block codegen in nested block literals. | Mike Stump | 2009-03-04 | 1 | -15/+28 | |
| | | | | llvm-svn: 66091 | |||||
* | Move some of the CodeGenFunction blocks code up and out. No | Mike Stump | 2009-03-04 | 1 | -2/+2 | |
| | | | | | | functionality change. llvm-svn: 66048 |