llvm-project/clang/lib
Anastasia Stulova af0a7bbbe2 [OpenCL] Add missing address spaces in IR generation of blocks
Modify ObjC blocks impl wrt address spaces as follows:

- keep default private address space for blocks generated
as local variables (with captures);

- add global address space for global block literals (no captures);

- make the block invoke function and enqueue_kernel prototype with
the generic AS block pointer parameter to accommodate both 
private and global AS cases from above;

- add block handling into default AS because it's implemented as
a special pointer type (BlockPointer) in the frontend and therefore
it is used as a pointer everywhere. This is also needed to accommodate
both private and global AS blocks for the two cases above.

- removes ObjC RT specific symbols (NSConcreteStackBlock and
NSConcreteGlobalBlock) in the OpenCL mode.

Review: https://reviews.llvm.org/D28814
llvm-svn: 293286
2017-01-27 15:11:34 +00:00
..
ARCMigrate Reapply "IntrusiveRefCntPtr -> std::shared_ptr for CompilerInvocationBase and CodeCompleteConsumer" 2017-01-06 19:49:01 +00:00
AST [OpenCL] Add missing address spaces in IR generation of blocks 2017-01-27 15:11:34 +00:00
ASTMatchers Move VariantMatcher's Payload to std::shared_ptr rather than IntrusiveRefCntPtr 2017-01-05 18:51:54 +00:00
Analysis [analyzer] Consider function call arguments while building CallGraph. 2017-01-27 12:14:56 +00:00
Basic Remove and replace DiagStatePoint tracking and lookup data structure. 2017-01-26 01:01:01 +00:00
CodeGen [OpenCL] Add missing address spaces in IR generation of blocks 2017-01-27 15:11:34 +00:00
Driver [mips] Add support for static model on N64 2017-01-27 15:05:25 +00:00
Edit Fix problems in "[OpenCL] Enabling the usage of CLK_NULL_QUEUE as compare operand." 2016-12-23 14:55:49 +00:00
Format clang-format: [JS] do not format MPEG transport streams. 2017-01-27 09:09:11 +00:00
Frontend [CodeGen] [CUDA] Add the ability set default attrs on functions in linked modules. 2017-01-25 21:29:48 +00:00
FrontendTool unique_ptrify createDriverOptTable 2017-01-13 17:34:15 +00:00
Headers [OpenCL] Diagnose write_only image3d when extension is disabled 2017-01-25 12:18:50 +00:00
Index [index] When indexing an ObjC method declaration use its base name for the location. 2017-01-26 02:11:50 +00:00
Lex P0426: Make the library implementation of constexpr char_traits a little easier 2017-01-20 00:45:35 +00:00
Parse PR0091R3: Implement parsing support for using templates as types. 2017-01-26 20:40:47 +00:00
Rewrite [analyzer] Re-apply r283092, attempt no.4, chunk no.4 (last) 2016-10-07 19:25:10 +00:00
Sema [OpenCL] Add missing address spaces in IR generation of blocks 2017-01-27 15:11:34 +00:00
Serialization [modules] When reading / writing a typedef that is a name for linkage for 2017-01-26 22:39:55 +00:00
StaticAnalyzer [analyzer] Fix MacOSXAPIChecker fp with static locals seen from nested blocks. 2017-01-25 10:21:45 +00:00
Tooling clang-format: Make GetStyle return Expected<FormatStyle> instead of FormatStyle 2017-01-17 00:12:27 +00:00
CMakeLists.txt