)]}' { "commit": "48805ca1936d9e3af45ed063cf3ac74311268e59", "tree": "e0d4a0a31d7de727a5a96101917229e3b672ea0b", "parents": [ "b978e7d7acde66316c39937b70718ebc25628cb0" ], "author": { "name": "Alan Baker", "email": "alanbaker@google.com", "time": "Mon Dec 07 15:54:14 2020 -0500" }, "committer": { "name": "Copybara-Service", "email": "copybara-worker@google.com", "time": "Thu Mar 18 00:21:14 2021 -0700" }, "message": "libclc: Add clspv target to libclc\n\nAdd 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.\n\nThe clspv target differs from the the spirv target in the following ways:\n* 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.\n* 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.\n* Full optimization of the library (-O3) and no conversion to SPIR-V\n\nThis library is close to what would be produced by running opt -O3 \u003c builtins.opt.spirv-mesa3d-.bc \u003e builtins.opt.clspv--.bc and continuing the build from that point.\n\nReviewer: jvesely\n\nDifferential Revision: https://reviews.llvm.org/D94013\n\nGitOrigin-RevId: 21427b8eb8e773789bdb4cd8911bee6631910a37\n", "tree_diff": [ { "type": "modify", "old_id": "b8b5ceff086cc867637266f8049e43f9b995a91b", "old_mode": 33188, "old_path": "CMakeLists.txt", "new_id": "7f8d81e9036abbcf33eedfe2497ebb2558a0d2ad", "new_mode": 33188, "new_path": "CMakeLists.txt" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "0466345cee027133659a716c53842c18d785b19b", "new_mode": 33188, "new_path": "clspv/lib/SOURCES" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "fdc8b8b296876cc7a6a383b8e481565ac23d9d19", "new_mode": 33188, "new_path": "clspv/lib/math/fma.cl" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "f05e74821362034f90837fe74b4ccbdcd2550b3c", "new_mode": 33188, "new_path": "clspv/lib/math/nextafter.cl" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "ee39be53b1e17c52ce5b23ae8d42a71304ae7c2f", "new_mode": 33188, "new_path": "clspv/lib/math/nextafter.inc" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "167fe1b1a1bcfde4efa7f064c3d9bde1d1f5e676", "new_mode": 33188, "new_path": "clspv/lib/subnormal_config.cl" } ] }