Commit Graph

7 Commits

Author SHA1 Message Date
Chris Lattner a5f58b05e8 clang side to match the LLVM IR type system rewrite patch.
llvm-svn: 134831
2011-07-09 17:41:47 +00:00
John McCall 351762cda2 A few more tweaks to the blocks AST representation:
- BlockDeclRefExprs always store VarDecls
  - BDREs no longer store copy expressions
  - BlockDecls now store a list of captured variables, information about
    how they're captured, and a copy expression if necessary
    
With that in hand, change IR generation to use the captures data in       
blocks instead of walking the block independently.        

Additionally, optimize block layout by emitting fields in descending
alignment order, with a heuristic for filling in words when alignment
of the end of the block header is insufficient for the most aligned
field.

llvm-svn: 125005
2011-02-07 10:33:21 +00:00
Fariborz Jahanian c961119dcd Restore these tests. I think I fixed the problem.
We shall see.

llvm-svn: 119158
2010-11-15 17:06:17 +00:00
Fariborz Jahanian 9b4dc09746 Removing these test till redo them so they won't depend
on the built compiler.

llvm-svn: 119013
2010-11-13 23:04:46 +00:00
Fariborz Jahanian d5010898ab Fix flags in global block descriptor when
block returns structs. Fies radar 8241648.
Executable test added to llvm test suite.

llvm-svn: 109620
2010-07-28 19:07:18 +00:00
Fariborz Jahanian 2574577828 Remove header file dependencies in block patch
test case.

llvm-svn: 97777
2010-03-05 01:49:18 +00:00
Blaine Garst f27ab71d9f add support for a 1<<29 bit in the block flags field to mark blocks using alternate struct return ABI
llvm-svn: 97775
2010-03-05 01:29:59 +00:00