| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
an existing ir for load of a bock variable. This cannot be
done across basic blocks.
Fixes radar 8064140.
llvm-svn: 105549
|
| |
|
|
|
|
|
|
| |
setting up block's descriptor. This is on going work to
support c++ specific issues in setting up blocks
various APIs.
llvm-svn: 105469
|
| |
|
|
|
|
|
|
|
|
| |
'self' variable arising from uses of the 'super' keyword. Also reorganize
some code so that BlockInfo (now CGBlockInfo) can be opaque outside of
CGBlocks.cpp.
Fixes rdar://problem/8010633.
llvm-svn: 104312
|
| |
|
|
|
|
| |
(the codegen works here, too, but that's annoying to test without execution)
llvm-svn: 104202
|
| |
|
|
|
|
|
| |
just to save the current insertion state! This change significantly
simplifies the IR CFG in exceptions code.
llvm-svn: 101996
|
| |
|
|
| |
llvm-svn: 100007
|
| |
|
|
|
|
| |
alternate struct return ABI
llvm-svn: 97775
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the block descriptor field. This field is the ObjC style @encode
signature of the implementation function, and was to this point
conditionally provided in the block literal data structure. That
provisional support is removed.
Additionally, eliminate unused enumerations for the block literal flags field.
The first shipping ABI unconditionally set (1<<29) but this bit is unused
by the runtime, so the second ABI will unconditionally have (1<<30) set so
that the runtime can in fact distinguish whether the additional data is
present or not.
llvm-svn: 96989
|
| |
|
|
| |
llvm-svn: 96635
|
| |
|
|
| |
llvm-svn: 94571
|
| |
|
|
|
|
|
|
|
|
| |
"ASTContext::getTypeSize() / 8". Replace [u]int64_t variables with CharUnits
ones as appropriate.
Also rename RawType, fromRaw(), and getRaw() in CharUnits to QuantityType,
fromQuantity(), and getQuantity() for clarity.
llvm-svn: 93153
|
| |
|
|
|
|
| |
As per Fariborz's suggestion, committed now but can be reverted later if the used flag is problematic for Apple.
llvm-svn: 89134
|
| |
|
|
| |
llvm-svn: 84769
|
| |
|
|
|
|
|
| |
generate the debug information for the first parameter to the block
invoke functions. WIP.
llvm-svn: 84737
|
| |
|
|
| |
llvm-svn: 83964
|
| |
|
|
| |
llvm-svn: 82508
|
| |
|
|
| |
llvm-svn: 81346
|
| |
|
|
| |
llvm-svn: 78946
|
| |
|
|
| |
llvm-svn: 78691
|
| |
|
|
| |
llvm-svn: 78259
|
| |
|
|
|
|
| |
Convert all clients to use the new predicate on Type.
llvm-svn: 76076
|
| |
|
|
| |
llvm-svn: 75705
|
| |
|
|
|
|
|
|
|
|
| |
___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
|
| |
|
|
|
|
|
|
|
|
|
| |
- Otherwise we emit internal names with embedded '\01' characters,
which confuses some tools.
- Ideally all the code which wants to get a "display name" for the
given function should follow one code path, but this should be a
monotonic improvement for now.
llvm-svn: 71774
|
| |
|
|
| |
llvm-svn: 68837
|
| |
|
|
|
|
| |
blocks, so that the outer blocks use it as well. Radar 6762279
llvm-svn: 68811
|
| |
|
|
| |
llvm-svn: 66319
|
| |
|
|
|
|
| |
of code clearer.
llvm-svn: 66284
|
| |
|
|
| |
llvm-svn: 66257
|
| |
|
|
| |
llvm-svn: 66247
|
| |
|
|
| |
llvm-svn: 66243
|
| |
|
|
| |
llvm-svn: 66241
|
| |
|
|
| |
llvm-svn: 66231
|
| |
|
|
| |
llvm-svn: 66159
|
| |
|
|
|
|
| |
necessary.
llvm-svn: 66117
|
| |
|
|
| |
llvm-svn: 66049
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 66048
|
| |
|
|
| |
llvm-svn: 66046
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
people. De-duplicates BLOCK_NEEDS_FREE and friends.
llvm-svn: 66035
|