llvm-project/clang/test
Alexey Bader 24fa0c18e6 [OpenCL] Change type of block pointer for OpenCL
Summary:

For some reason OpenCL blocks in LLVM IR are represented as function pointers.
These pointers do not point to any real function and never get called. Actually
they point to some structure, which in turn contains pointer to the real block
invoke function.
This patch changes represntation of OpenCL blocks in LLVM IR from function
pointers to pointers to `%struct.__block_literal_generic`.
Such representation allows to avoid unnecessary bitcasts and simplifies
further processing (e.g. translation to SPIR-V ) of the module for targets
which do not support function pointers.

Patch by: Alexey Sotkin.

Reviewers: Anastasia, yaxunl, svenvh

Reviewed By: Anastasia

Subscribers: alexbatashev, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D58277

llvm-svn: 354337
2019-02-19 15:19:06 +00:00
..
ARCMT
AST Look through typedefs in getFunctionTypeWithExceptionSpec 2019-02-13 09:39:17 +00:00
ASTMerge
Analysis [analyzer] Make valist.Uninitialized depend on ValistBase 2019-02-17 19:51:42 +00:00
CXX Fix implementation of [temp.local]p4. 2019-02-15 21:53:07 +00:00
CodeCompletion [NFC] Explicitly add -std=c++14 option to tests that rely on the C++14 default 2019-02-05 12:05:53 +00:00
CodeGen [X86] Prevent clang clobber checking for asm flag constraints. 2019-02-17 03:53:23 +00:00
CodeGenCUDA [CUDA][HIP] Use device side kernel and variable names when registering them 2019-02-14 02:00:09 +00:00
CodeGenCXX Variable auto-init of blocks capturing self after init bugfix 2019-02-15 17:26:29 +00:00
CodeGenCoroutines Revert "[CodeGenCXX] Treat 'this' as noalias in constructors" 2018-10-15 15:43:00 +00:00
CodeGenObjC [CodeGenObjC] Emit [[X alloc] init] as objc_alloc_init(X) when available 2019-02-14 19:58:37 +00:00
CodeGenObjCXX [CodeGen] Replace '@' characters in block descriptors' symbol names with 2018-12-29 17:28:30 +00:00
CodeGenOpenCL [OpenCL] Change type of block pointer for OpenCL 2019-02-19 15:19:06 +00:00
CodeGenOpenCLCXX [OpenCL] Add generic addr space to the return of implicit assignment. 2019-01-30 11:18:08 +00:00
Coverage [Frontend] Delete -print-decl-contexts 2018-10-03 03:50:44 +00:00
CoverageMapping Fix clang tests broken by r353547 that depend on InstrProf 2019-02-10 20:17:07 +00:00
Driver [RISCV] Default enable RISCV linker relaxation 2019-02-17 16:05:51 +00:00
FixIt Introduce the _Clang scoped attribute token. 2018-11-09 17:19:45 +00:00
Format
Frontend Hot fix two test regressions (%T vs %t) 2019-02-03 15:49:11 +00:00
Headers [clang] Make sure C99/C11 features in <float.h> are provided in C++11 2019-02-13 19:08:01 +00:00
Import [ASTImporter] Fix importing OperatorDelete from CXXConstructorDecl 2019-01-22 17:59:45 +00:00
Index [clang][Index] Fix usage of IndexImplicitInstantiation 2019-02-18 11:30:43 +00:00
Integration
Layout
Lexer [MSVC] Recognize `static_assert` keyword in C and C++98 2019-02-15 19:59:45 +00:00
Misc Fix some tests I broke in r354190 2019-02-16 01:51:19 +00:00
Modules Relax assertion to account for private framework modules, too. 2019-02-15 20:24:26 +00:00
OpenMP PR40642: Fix determination of whether the final statement of a statement 2019-02-15 00:27:53 +00:00
PCH Fix thread safety tests after r352549 2019-01-30 00:18:24 +00:00
Parser Add two new pragmas for controlling software pipelining optimizations. 2019-01-04 17:20:00 +00:00
Preprocessor [ARM] Add pre-defined macros for ROPI and RWPI 2019-02-18 12:39:47 +00:00
Profile Fix clang tests broken by r353547 that depend on InstrProf 2019-02-10 20:17:07 +00:00
Refactor
Rewriter
Sema Fix some tests I broke in r354190 2019-02-16 01:51:19 +00:00
SemaCUDA [CUDA] add support for the new kernel launch API in CUDA-9.2+. 2019-01-31 21:34:03 +00:00
SemaCXX [Sema][NFC] SequenceChecker: Add tests for references/members, and prepare for the C++17 tests 2019-02-15 18:12:58 +00:00
SemaObjC [ObjC generics] Fix applying `__kindof` to the type parameter. 2019-02-16 01:01:08 +00:00
SemaObjCXX [Sema][ObjC] Allow declaring ObjC pointer members with non-trivial 2019-02-02 02:23:40 +00:00
SemaOpenCL [OpenCL][PR40707] Allow OpenCL C types in C++ mode. 2019-02-15 12:07:57 +00:00
SemaOpenCLCXX [OpenCL][PR40707] Allow OpenCL C types in C++ mode. 2019-02-15 12:07:57 +00:00
SemaTemplate Fix implementation of [temp.local]p4. 2019-02-15 21:53:07 +00:00
TableGen Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Templight
Tooling [test] Pass -ccc-install-dir in mac compilation db test 2019-01-21 17:05:43 +00:00
Unit
VFS [VFS] Implement `RedirectingFileSystem::getRealPath`. 2018-11-16 01:18:04 +00:00
clang-rename
.clang-format
CMakeLists.txt This reverts commit 1440a848a635849b97f7a5cfa0ecc40d37451f5b. 2019-02-09 00:46:12 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg.py [analyzer][CrossTU][NFC] Generalize to external definitions instead of external functions 2019-01-10 17:44:04 +00:00
lit.site.cfg.py.in This reverts commit 1440a848a635849b97f7a5cfa0ecc40d37451f5b. 2019-02-09 00:46:12 +00:00
make_test_dirs.pl