summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
Commit message (Collapse)AuthorAgeFilesLines
* LLVM IR: Generate new-style byval-with-Type from ClangTim Northover2019-06-051-3/+3
| | | | | | | | | | | LLVM IR recently added a Type parameter to the byval Attribute, so that when pointers become opaque and no longer have an element type the information will still be present in IR. For now the Type parameter is optional (which is why Clang didn't need this change at the time), but it will become mandatory soon. llvm-svn: 362652
* Reapply: LLVM IR: update Clang tests for byval being a typed attribute.Tim Northover2019-05-301-3/+3
| | | | | | | | | | Since byval is now a typed attribute it gets sorted slightly differently by LLVM when the order of attributes is being canonicalized. This updates the few Clang tests that depend on the old order. Clang patch is unchanged. llvm-svn: 362129
* Revert "LLVM IR: update Clang tests for byval being a typed attribute."Tim Northover2019-05-291-3/+3
| | | | | | The underlying LLVM change couldn't cope with llvm-link and broke LTO builds. llvm-svn: 362028
* LLVM IR: update Clang tests for byval being a typed attribute.Tim Northover2019-05-291-3/+3
| | | | | | | | Since byval is now a typed attribute it gets sorted slightly differently by LLVM when the order of attributes is being canonicalized. This updates the few Clang tests that depend on the old order. llvm-svn: 362013
* [OpenCL] Makes kernels use the SPIR_KERNEL CC by default.Pekka Jaaskelainen2017-06-011-0/+65
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
OpenPOWER on IntegriCloud