llvm-project/clang/lib
Pekka Jaaskelainen fc2629a65a [OpenCL] Makes kernels use the SPIR_KERNEL CC by default.
Rationale: OpenCL kernels are called via an explicit runtime API
with arguments set with clSetKernelArg(), not as normal sub-functions.
Return SPIR_KERNEL by default as the kernel calling convention to ensure
the fingerprint is fixed such way that each OpenCL argument gets one
matching argument in the produced kernel function argument list to enable
feasible implementation of clSetKernelArg() with aggregates etc. In case
we would use the default C calling conv here, clSetKernelArg() might
break depending on the target-specific conventions; different targets
might split structs passed as values to multiple function arguments etc.

https://reviews.llvm.org/D33639

llvm-svn: 304389
2017-06-01 07:18:49 +00:00
..
ARCMigrate [ARCMigrate] When applying changes from remap files, disable the 'adjustRemovals' functionality of EditedSource 2017-04-28 00:25:06 +00:00
AST [ODRHash] Support TemplateSpecializationType 2017-05-31 00:31:58 +00:00
ASTMatchers Add cxxStdInitializerListExpr AST matcher 2017-05-05 21:01:12 +00:00
Analysis [coroutines] Fix fallthrough diagnostics for coroutines 2017-05-25 02:16:53 +00:00
Basic [OpenCL] Makes kernels use the SPIR_KERNEL CC by default. 2017-06-01 07:18:49 +00:00
CodeGen [OpenCL] Makes kernels use the SPIR_KERNEL CC by default. 2017-06-01 07:18:49 +00:00
Driver [clang-cl] Implement /diagnostic: flag 2017-05-31 17:37:49 +00:00
Edit [ARCMigrate] When applying changes from remap files, disable the 'adjustRemovals' functionality of EditedSource 2017-04-28 00:25:06 +00:00
Format clang-format: [JS] improve calculateBraceType heuristic 2017-05-31 09:29:40 +00:00
Frontend [modules] When compiling a preprocessed module map, look for headers relative 2017-05-31 20:56:55 +00:00
FrontendTool unique_ptrify createDriverOptTable 2017-01-13 17:34:15 +00:00
Headers [PPC] Make altivec conversion function macros. 2017-05-30 11:37:29 +00:00
Index [index] The references to explicit class properties should be recorded 2017-05-24 14:23:40 +00:00
Lex [modules] When compiling a preprocessed module map, look for headers relative 2017-05-31 20:56:55 +00:00
Parse [NFC, Refactor] Modernize TemplateIdAnnotation using TrailingObjects 2017-05-23 01:07:12 +00:00
Rewrite [analyzer] Re-apply r283092, attempt no.4, chunk no.4 (last) 2016-10-07 19:25:10 +00:00
Sema [OpenCL] Makes kernels use the SPIR_KERNEL CC by default. 2017-06-01 07:18:49 +00:00
Serialization [modules] When compiling a preprocessed module map, look for headers relative 2017-05-31 20:56:55 +00:00
StaticAnalyzer [analyzer] Fix immutable map factory lifetime for partial taint. 2017-05-29 18:54:02 +00:00
Tooling Method loadFromCommandLine should be able to report errors 2017-05-24 11:57:37 +00:00
CMakeLists.txt