如何使用 clang 从 OpenCL 内核文件中获取 LLVM-IR 文件 (.ll)?
this 中的解决方案链接似乎适用于某些文件,但对于包含 OpenCL vector 类型(如 uchar4)的代码,似乎不起作用(发出类型错误)。
是否有一种简单的方法可以做到这一点,或者是否无法通过 clang 获得 LLVM-IR 形式?
最佳答案
至少在 OS X 上,有一个用于 OpenCL 内核的基于 LLVM 的离线编译器,您可以在以下位置找到它:
/System/Library/Frameworks/OpenCL.framework/Libraries/openclc
(它支持 --help
命令行参数,向您显示可能的选项。)
我不知道 openclc
有任何已发布的源代码,所以我想这意味着您不能在其他平台上使用它,但据我所知,没有标准化的二进制文件OpenCL 内核的格式,因此您无法使用它实现平台独立性。
关于c++ - 如何将 OpenCL 内核文件(.cl)编译为 llvm IR 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38161816/