Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | Move more of the blocks code up and out. | Mike Stump | 2009-03-04 | 1 | -4/+4 | |
| | | | | llvm-svn: 66046 | |||||
* | Move more of blocks codegen out of CodeGenModule and into the | Mike Stump | 2009-03-04 | 1 | -7/+5 | |
| | | | | | | | | | 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 | |||||
* | 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 | |||||
* | Improved ABI compliance for __block variables. No testcases yet as we | Mike Stump | 2009-03-04 | 1 | -21/+105 | |
| | | | | | | | still give an unsupported error for them due to the fact this is a work in progress. llvm-svn: 66007 | |||||
* | Avoid crash when child iterator gives null result. | Daniel Dunbar | 2009-03-02 | 1 | -1/+2 | |
| | | | | llvm-svn: 65812 | |||||
* | Push checking down, also, give the user a hit as to which part of the | Mike Stump | 2009-03-02 | 1 | -39/+0 | |
| | | | | | | | block literal is causing the problem, instead of the vague reference to the entire block literal. llvm-svn: 65798 | |||||
* | Add BLOCK_HAS_DESCRIPTOR to global blocks. | Anders Carlsson | 2009-03-01 | 1 | -1/+2 | |
| | | | | llvm-svn: 65788 | |||||
* | Be sure to mark blocks with no imports as being global. | Mike Stump | 2009-03-01 | 1 | -0/+4 | |
| | | | | llvm-svn: 65784 | |||||
* | Remove debugging code. | Anders Carlsson | 2009-03-01 | 1 | -2/+0 | |
| | | | | llvm-svn: 65753 | |||||
* | Emit errors about unsupported blocks features. | Anders Carlsson | 2009-03-01 | 1 | -0/+41 | |
| | | | | llvm-svn: 65751 | |||||
* | Do some blocks cleanup and simplification. Fix a crash, and add a test case. | Anders Carlsson | 2009-03-01 | 1 | -13/+33 | |
| | | | | llvm-svn: 65746 | |||||
* | improve compatibility with the VC++'08 C++ compiler. Patch by | Chris Lattner | 2009-02-28 | 1 | -6/+6 | |
| | | | | | | Niklas Larsson! llvm-svn: 65706 | |||||
* | First cut CodeGen support for __block variables. | Mike Stump | 2009-02-28 | 1 | -14/+74 | |
| | | | | llvm-svn: 65688 | |||||
* | Create a new TypeNodes.def file that enumerates all of the types, | Douglas Gregor | 2009-02-26 | 1 | -5/+5 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591 | |||||
* | CodeGen support for copied BlockDeclRefExprs. | Mike Stump | 2009-02-25 | 1 | -18/+75 | |
| | | | | llvm-svn: 65487 |