Kévin Petit

Results 219 issues of Kévin Petit

Building the following kernel from SHOC Level0 DeviceMemory ```__kernel void readLocalMemory(__global const float *data, __global float *output, int size) { int gid = get_global_id(0), num_thr = get_global_size(0), grpid=get_group_id(0), j =...

Trying to compile the following code: ``` kernel void test(global struct nope* arg) {} ``` leads to the following assertion ``` clspv: clspv/third_party/clang/lib/AST/RecordLayoutBuilder.cpp:2987: const clang::ASTRecordLayout& clang::ASTContext::getASTRecordLayout(const clang::RecordDecl*) const: Assertion `D...

Functions and calls are used in a number of places to encode specific SPIR-V instructions. In several cases the same function name is used with different type signatures, making it...

Instead, it generates invalid SPIR-V that is usually caught by the validator. Example `builtin.cl` source: ``` kernel void test_kernel(global float *in, global float *out) { float3 a = vload3(0, in);...

A few CL files from the [ARM Compute Library](https://github.com/ARM-software/ComputeLibrary) exhibit the following issue: ``` %26 = bitcast i8 addrspace(1)* %call52 to i16 addrspace(1)*Handle above user of scalar bitcast with gep...

We currently have automated testing in place for a good numbers of compilers, C versions, etc but the test code we're compiling uses almost none of the definitions provided by...

These definitions are used to prefix/suffix function declarations, for example to handle deprecation warnings. They currently fall into two categories: - Per-version definitions (`CL_{API,EXT}_SUFFIX__{EXPERIMENTAL,VERSION*}`). These are always defined to an...

Vulkan provides preprocessor macros (e.g. `VK_KHR_SURFACE_EXTENSION_NAME` defined as `"VK_KHR_surface"`). This helps with avoiding typos in extension names that can lead to silly bugs. We should do the same. These definitions...

The headers are using a number of identifiers that are reserved in C/C++ (e.g. those beginning with `__`, see https://en.cppreference.com/w/c/language/identifier). We should rename all of these.