summaryrefslogtreecommitdiff
path: root/libclc/utils
AgeCommit message (Collapse)Author
2025-09-12libclc: Remove HAVE_LLVM version macros (#158257)Matt Arsenault
This doesn't need to pretend to support multiple versions of llvm and these are old anyway.
2025-07-20[libclc] Expose `prepare_builtins_*` variables in top-level CMakeLists (#149657)Michał Górny
Fix `libclc/utils/CMakeLists.txt` to expose `prepare_builtins_*` variables in parent scope. This was a regression introduced in #148815 where the code was moved into subdirectory, and the variables would no longer be accessible to calls in top-level CMakeLists, resulting in attempting to build targets with empty command: ``` [1566/1676] cd /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build && -o /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/clspv--.bc /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/obj.libclc.dir/clspv--/builtins.opt.clspv--.bc FAILED: clspv--.bc /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/clspv--.bc cd /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build && -o /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/clspv--.bc /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/obj.libclc.dir/clspv--/builtins.opt.clspv--.bc /bin/sh: line 1: -o: command not found ```
2025-07-15[libclc] Move CMake for prepare_builtins to a subdirectory (#148815)Fraser Cormack
This simply makes things better self-contained.
2025-07-08[libclc] Remove catch-all opencl/clc.h (#147490)Fraser Cormack
This commit finishes the work started in #146840 and #147276. It makes each OpenCL header self-contained and each implementation file include only the headers it needs. It removes the need for a catch-all include file of all OpenCL builtin declarations.
2025-05-20[libclc] Reorganize OpenCL builtins (#140557)Fraser Cormack
This commits moves all OpenCL builtins under a top-level 'opencl' directory, akin to how the CLC builtins are organized. This new structure aims to better convey the separation of the two layers and that 'CLC' is not a subset of OpenCL or a libclc target. In doing so this commit moves the location of the 'lib' directory to match CLC: libclc/generic/lib/ becomes libclc/opencl/lib/generic/. This allows us to remove some special casing in CMake and ensure a common directory structure. It also tries to better communicate that the OpenCL headers are libclc-specific OpenCL headers and should not be confused with or used as standard OpenCL headers. It does so by ensuring includes are of the form <clc/opencl/*>. It might be that we don't specifically need the libclc OpenCL headers and we simply could use clang's built-in declarations, but we can revisit that later. Aside from the code move, there is some code formatting and updating a couple of OpenCL builtin includes to use the readily available gentype helpers. This allows us to remove some '.inc' files.
2025-03-24[libclc] Add license headers to files missing them (#132239)Fraser Cormack
This commit bulk updates all '.h', '.cl', '.inc', and '.cpp' files to add any missing license headers. The remaining files are generally CMake, SOURCES, scripts, markdown, etc. There are still some '.ll' files which may benefit from a license header. I can't find an example of an LLVM IR file with a license header in the rest of LLVM, but unlike most other (sub)projects, libclc has examples of LLVM IR as source files, compiled and built into the library.
2023-10-03[LIBCLC] Teach prepare-builtins how to handle text based IR (#66993)Jakub Chlanda
2021-04-30Support: Stop using F_{None,Text,Append} compatibility synonyms, NFCDuncan P. N. Exon Smith
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
2019-08-05Revert "Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC"Jan Vesely
This reverts commit 58c814614d2ac69bcf79b09543505fac80ada4e6. Fixes build breakage using LLVM<7. llvm-svn: 367893
2019-08-05Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFCFangrui Song
F_{None,Text,Append} are kept for compatibility since r334221. llvm-svn: 367800
2018-02-23utils: Adapt to llvm r325155Jan Vesely
r325155 ("Pass a reference to a module to the bitcode writer.") changed bit writer interface from pointer to reference Reviewer: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325867
2017-09-29Restore support for llvm-3.9Jan Vesely
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Acked-by: Aaron Watry <awatry@gmail.com> llvm-svn: 314543
2017-09-25prepare_builtins: Fix compile breakage with older LLVMJan Vesely
Fixes r314050 reviewer: Tom Stellard Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 314111
2017-09-23[Support] Rename tool_output_file to ToolOutputFile, NFCReid Kleckner
This class isn't similar to anything from the STL, so it shouldn't use the STL naming conventions. llvm-svn: 314050
2017-02-12Move BufferPtr into the block where it it being usedJeroen Ketema
The previous location outside the block would crash prepare-builtins when no the builtins file accidentially not passed on the command line. llvm-svn: 294916
2016-11-14Fix build since r286752.Tom Stellard
llvm-svn: 286839
2016-11-11Fix build since llvm r286566 and require at least llvm 4.0Tom Stellard
llvm-svn: 286634
2016-08-25Strip opencl.ocl.version metadataMatt Arsenault
This should be uniqued when linking, but right now it creates a lot of metadata spam listing the same version. This should also probably be reporting the compiled version of the user program, which may differ from the library. Currently the library IR files report 1.0 while 1.1/1.2 are the default for user programs. llvm-svn: 279692
2016-04-15prepare-builtins: Remove call to getGlobalContext()Tom Stellard
This function has been removed from LLVM. Patch By: Laurent Carlier llvm-svn: 266430
2015-08-07Require LLVM >=3.7 and bump version to 0.2.0Jeroen Ketema
v2: Also remove LLVM 3.6 traces from prepare-builtins.cpp Patch by: EdB llvm-svn: 244310
2015-07-10prepare-builtins: Fix build with LLVM 3.6Tom Stellard
Patch by: Tomasz Borowik llvm-svn: 241905
2015-06-27Properly initialize Module pointerJeroen Ketema
llvm-svn: 240881
2015-06-24prepare-builtins: Fix build with LLVM 3.7Tom Stellard
llvm-svn: 240552
2014-12-31Require LLVM 3.6 and bump version to 0.1.0Tom Stellard
Some functions are implemented using hand-written LLVM IR, and LLVM assembly format is allowed to change between versions, so we should require a specific version of LLVM. llvm-svn: 225041
2014-08-28Fix build against LLVM SVN >= r216488Michel Danzer
Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 216654
2014-08-28Fix build against LLVM SVN >= r216393Michel Danzer
Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 216653
2014-08-22Include llvm-config.h instead of config.hNiels Ole Salscheider
Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 216296
2014-07-07prepare-builtins: Fix broken build due to recent LLVM API changeTom Stellard
llvm-svn: 212470
2014-06-21Fix breakage after r211259Jeroen Ketema
While we are here introduce the proper headers for the error code. Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 211432
2014-06-13prepare-builtins: Use std:: prefix for error_codeTom Stellard
This fixes the build with with newer LLVM. llvm-svn: 210867
2014-06-12Remove unused include which breaks build after r210803Jeroen Ketema
Tested with llvm 3.4 and trunk. llvm-svn: 210825
2014-06-03Fix build broken by LLVM commit r209103Jeroen Ketema
Reviewed-by: Aaron Watry <awatry@gmail.com> llvm-svn: 210111
2014-04-30Fix build broken by LLVM commit r207593Tom Stellard
llvm-svn: 207685
2014-02-24Fix build since r202052Tom Stellard
sys::fs_F_Binary has been replaced with sys::fs_F_Text llvm-svn: 202081
2014-01-20Fix build broken by LLVM commit r199279Tom Stellard
Patch by: Udo van den Heuvel Tom Stellard: - Added ifdef and error handling llvm-svn: 199687
2013-07-18Fix build with LLVM 3.4Aaron Watry
F_Binary and friends were moved to include/Support/FileSystem.h v2: Maintain compatibility with LLVM 3.3 Signed-off-by: Aaron Watry <awatry@gmail.com> llvm-svn: 186610
2013-06-26Fix build with LLVM 3.3Tom Stellard
Patch by: Niels Ole Salscheider llvm-svn: 184989
2012-01-08Initial commit.Peter Collingbourne
llvm-svn: 147756