如何将OpenCL内核文件(.cl)编译为llvm IR文件

时间:2016-07-02 15:44:02

标签: c++ clang opencl llvm llvm-ir

如何使用clang从OpenCL内核文件中获取LLVM-IR文件(.ll)?

this链接中的解决方案似乎与某些文件一起使用,但对于包含OpenCL矢量类型(如uchar4)的代码,似乎无效(发出类型错误)。

是否有一种简单的方法可以做到这一点,或者是否无法通过clang获得LLVM-IR表单?

1 个答案:

答案 0 :(得分:1)

至少在OS X上,有一个基于LLVM的OpenCL内核离线编译器,您可以在以下位置找到它:

/System/Library/Frameworks/OpenCL.framework/Libraries/openclc

(它支持--help命令行参数,显示可能的选项。)

我不知道openclc的任何已发布源代码,所以我猜这意味着您无法在其他平台上使用它,但据我所知,那里有& #39;无论如何,OpenCL内核都没有标准化的二进制格式,因此你无法通过它实现平台独立性。