| libclc: Make all built-ins overloadable The SPIR spec states that all OpenCL built-in functions should be overloadable and mangled, to ensure consistency. Add the overload attribute to functions which were missing them: work dimensions, memory barriers and fences, and events. Reviewed By: tstellar, jenatali Differential Revision: https://reviews.llvm.org/D82078 | 5 年前 |
| libclc: Make all built-ins overloadable The SPIR spec states that all OpenCL built-in functions should be overloadable and mangled, to ensure consistency. Add the overload attribute to functions which were missing them: work dimensions, memory barriers and fences, and events. Reviewed By: tstellar, jenatali Differential Revision: https://reviews.llvm.org/D82078 | 5 年前 |
| Remove redundant OVERRRIDES file Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346086 | 7 年前 |
| libclc: Add clspv target to libclc Add clspv as a new target for libclc. clspv is an open-source compiler that compiles OpenCL C to Vulkan SPIR-V. Compiles for the spir target. The clspv target differs from the the spirv target in the following ways: * fma is modified to use uint2 instead of ulong for mantissas. This results in lower performance fma, but provides a implementation that can be used on more Vulkan devices where 64-bit integer support is less common. * Use of a software implementation of nextafter because the generic implementation depends on nextafter being a defined builtin function for which clspv has no definition. * Full optimization of the library (-O3) and no conversion to SPIR-V This library is close to what would be produced by running opt -O3 < builtins.opt.spirv-mesa3d-.bc > builtins.opt.clspv--.bc and continuing the build from that point. Reviewer: jvesely Differential Revision: https://reviews.llvm.org/D94013 | 5 年前 |
| libclc: Use temporary files rather than a pipe This is required for using the Ninja backend on Windows, as it passes commands directly to CreateProcess, and does not allow the shell to interpret them: https://ninja-build.org/manual.html#ref_rule_command Using the Visual Studio backend is not possible as attempting to create a static library target comprised entirely of novel languages not known to the Visual Studio backend built in to CMake's C++ source will generate nothing at all. reviewer: jvesely Differential Revision: https://reviews.llvm.org/D77165 | 6 年前 |
| libclc: Fix rounding during type conversion The rounding during type conversion uses multiple conversions, selecting between them to try to discover if rounding occurred. This appears to not have been tested, since it would generate code of the form: float convert_float_rtp(char x) { float r = convert_float(x); char y = convert_char(y); [...] } which will access uninitialised data. The idea appears to have been to have done a char -> float -> char roundtrip in order to discover the rounding, so do this. Discovered by inspection. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed By: jvesely Differential Revision: https://reviews.llvm.org/D81999 | 4 年前 |
| libclc: Make all built-ins overloadable The SPIR spec states that all OpenCL built-in functions should be overloadable and mangled, to ensure consistency. Add the overload attribute to functions which were missing them: work dimensions, memory barriers and fences, and events. Reviewed By: tstellar, jenatali Differential Revision: https://reviews.llvm.org/D82078 | 5 年前 |
| ptx: Use __clc_nextafter to implement nextafter using clang builtin results in external library call Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 315191 | 8 年前 |
| libclc: Make all built-ins overloadable The SPIR spec states that all OpenCL built-in functions should be overloadable and mangled, to ensure consistency. Add the overload attribute to functions which were missing them: work dimensions, memory barriers and fences, and events. Reviewed By: tstellar, jenatali Differential Revision: https://reviews.llvm.org/D82078 | 5 年前 |
| libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA Reviewer: jenatali jvesely Differential Revision: https://reviews.llvm.org/D85910 | 5 年前 |
| libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA Reviewer: jenatali jvesely Differential Revision: https://reviews.llvm.org/D85910 | 5 年前 |
| Add rsqrt builtin. Based on patch by Cassie Epps! llvm-svn: 162274 | 13 年前 |
| Support: Stop using F_{None,Text,Append} compatibility synonyms, NFC Stop using the compatibility spellings of OF_{None,Text,Append} left behind by 1f67a3cba9b09636c56e2109d8a35ae96dc15782. A follow-up will remove them. Differential Revision: https://reviews.llvm.org/D101650 | 5 年前 |
| Remove references to old mailing lists that have moved to discourse. Replace with links to discourse. Reviewed By: #libc_abi, ldionne Differential Revision: https://reviews.llvm.org/D129675 | 3 年前 |
| .gitignore: Ignore amdgcn-mesa object directory llvm-svn: 296164 | 9 年前 |
| libclc: Add clspv64 target Add a variant of the clspv target that is built using spir64. This is a pre-requisite to supporting spir64 in clspv which is required to take advantage of SPV_KHR_physical_storage_buffer which in turn enables more OpenCL C programs to be compiled with clspv. https://reviews.llvm.org/D116668 | 4 年前 |
| Initial commit. llvm-svn: 147756 | 14 年前 |
| Fix typos throughout the license files that somehow I and my reviewers all missed! Thanks to Alex Bradbury for pointing this out, and the fact that I never added the intended legacy anchor to the developer policy. Add that anchor too. With hope, this will cause the links to all resolve successfully. llvm-svn: 351731 | 7 年前 |
| libclc: update website url old link is dead | 5 年前 |
| configure: Provide symlink for amdgcn-mesa3d instead of configure hack Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346085 | 7 年前 |
| check_external_calls.sh: Print number of calls in tested file. Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 315192 | 8 年前 |
| libclc: Add clspv64 target Add a variant of the clspv target that is built using spir64. This is a pre-requisite to supporting spir64 in clspv which is required to take advantage of SPV_KHR_physical_storage_buffer which in turn enables more OpenCL C programs to be compiled with clspv. https://reviews.llvm.org/D116668 | 4 年前 |
| Fix build against recent versions of Clang. Based on patch by Alastair Donaldson! llvm-svn: 169362 | 13 年前 |
| cmake: Install libraries to DATADIR from GNUInstallDirs This moves default installation location to /usr/share to match libclc.pc. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Tom Stellard llvm-svn: 350565 | 7 年前 |