summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBlocks.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Update for LLVM API change.Owen Anderson2009-07-081-13/+8
| | | | llvm-svn: 75028
* Update for LLVM API change.Owen Anderson2009-07-081-4/+7
| | | | llvm-svn: 74986
* As an optimization, we maintain a cache of generatedMike Stump2009-06-051-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 Stump2009-05-161-2/+2
| | | | llvm-svn: 71937
* Fix rdar://6880259 - invalid function name in block call ↵Chris Lattner2009-05-131-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 Stump2009-05-011-1/+2
| | | | | | Radar 6838889 llvm-svn: 70525
* fix a problem producing debug info with global blocks.Chris Lattner2009-04-231-1/+2
| | | | llvm-svn: 69875
* the logic for computing __func__ and friends is really broken:Chris Lattner2009-04-231-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 Dunbar2009-04-171-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 6791245Mike Stump2009-04-151-4/+10
| | | | llvm-svn: 69232
* Set DebugInfo at the beginning of GenerateBlockFunction().Devang Patel2009-04-151-0/+5
| | | | llvm-svn: 69228
* Audit __private_extern__ handling.Daniel Dunbar2009-04-141-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 Jahanian2009-04-111-2/+2
| | | | llvm-svn: 68870
* Fixes a ir-gen crash for K&R style blocks.Fariborz Jahanian2009-04-111-5/+16
| | | | llvm-svn: 68865
* Fixup codegen for nested blocks that use copy/dispose in the innerMike Stump2009-04-101-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 Carlsson2009-04-081-5/+4
| | | | llvm-svn: 68652
* Don't assume that a block always has a FunctionProtoType. Fixes rdar://6768379.Anders Carlsson2009-04-081-4/+6
| | | | llvm-svn: 68583
* Shuffle some call code around. No functionality change.Anders Carlsson2009-04-071-12/+14
| | | | llvm-svn: 68557
* Use the new getFunctionInfo that takes a BlockPointerType parameter, and get ↵Anders Carlsson2009-04-071-23/+8
| | | | | | rid of getBlockFunctionType from CGBlocks.cpp llvm-svn: 68478
* Fix block comparisons. Radar 6732116.Mike Stump2009-04-011-7/+8
| | | | llvm-svn: 68171
* Move where block-related variables are initialized so that block Eli Friedman2009-03-281-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 Stump2009-03-251-22/+0
| | | | llvm-svn: 67697
* Fixup codegen for block literals that bleed copy/dispose informationMike Stump2009-03-251-5/+10
| | | | | | from previous block literals. llvm-svn: 67696
* Fixup codegen for nested block literals so that we generateMike Stump2009-03-211-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 Stump2009-03-201-2/+18
| | | | llvm-svn: 67406
* Do up codegen for function static data and externs in functions in blockMike Stump2009-03-131-2/+19
| | | | | | literals. llvm-svn: 66984
* Remove FIXME, issue has been resolved.Mike Stump2009-03-131-2/+0
| | | | llvm-svn: 66931
* Fix <rdar://problem/6675489> BlockDecl should not use llvm::smallvector.Steve Naroff2009-03-131-1/+1
| | | | | | Also changed BlockDecl API to be more consistent (wrt FunctionDecl). llvm-svn: 66904
* Fix uninitialized use in GetAddrOfGlobalBlock, reenable assert.Daniel Dunbar2009-03-121-2/+2
| | | | | | - Mike, please verify. llvm-svn: 66762
* If someone could figure out this is necessary, that would be good.Mike Stump2009-03-071-1/+3
| | | | llvm-svn: 66341
* Fix typo, need parens.Mike Stump2009-03-071-2/+2
| | | | llvm-svn: 66337
* Remove last FIXME for block literal codegen that I know about and turnMike Stump2009-03-071-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 Stump2009-03-071-8/+3
| | | | llvm-svn: 66322
* codegen support for dispose helpers for block literals.Mike Stump2009-03-071-1/+23
| | | | llvm-svn: 66320
* Codegen support for copy helpers for block literals.Mike Stump2009-03-071-18/+86
| | | | llvm-svn: 66319
* Pass the type of the block literal around to make required temporal ordering ↵Mike Stump2009-03-061-12/+17
| | | | | | of code clearer. llvm-svn: 66284
* Complete __Block_byref_id_object_copy cogegen for block literals.Mike Stump2009-03-061-5/+47
| | | | llvm-svn: 66257
* Finish off __Block_byref_id_object_dispose codegen for block literals.Mike Stump2009-03-061-9/+22
| | | | llvm-svn: 66247
* Remove extra arg.Mike Stump2009-03-061-2/+2
| | | | llvm-svn: 66243
* More codegen support for the copy/dispose helpers for block literals.Mike Stump2009-03-061-10/+88
| | | | llvm-svn: 66241
* Framework for codegen for copy/dispose helpers.Mike Stump2009-03-061-14/+82
| | | | llvm-svn: 66231
* prep work for copy/destroy helpers for block literals.Mike Stump2009-03-051-40/+56
| | | | llvm-svn: 66159
* Add codegen support for __block variables to call _Block_object_dispose as ↵Mike Stump2009-03-051-24/+30
| | | | | | necessary. llvm-svn: 66117
* Fixup __block codegen in nested block literals.Mike Stump2009-03-041-15/+28
| | | | llvm-svn: 66091
* Move some of the CodeGenFunction blocks code up and out. NoMike Stump2009-03-041-2/+2
| | | | | | functionality change. llvm-svn: 66048
* Move more of the blocks code up and out.Mike Stump2009-03-041-4/+4
| | | | llvm-svn: 66046
* Move more of blocks codegen out of CodeGenModule and into theMike Stump2009-03-041-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 enableMike Stump2009-03-041-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 weMike Stump2009-03-041-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 Dunbar2009-03-021-1/+2
| | | | llvm-svn: 65812
OpenPOWER on IntegriCloud