为骁龙CPU和MCU推出开源LLVM工具链

我们很高兴推出CPULLVM,这是一个为Arm和RISC-V 32位和64位目标架构构建开源LLVM工具链的项目。这一举措标志着一项重大转变,即我们正从骁龙LLVM编译器(此前为骁龙软件产品专用的专有LLVM工具链)转向完全开源解决方案,供我们、第三方、原始设备制造商及合作伙伴广泛使用。
CPULLVM工具提供与此前专有解决方案同等的强大支持,使用户能够构建 Arm、AArch64以及RISC-V 32位和64 嵌入式镜像。
编译器工具链是软件生态系统中的关键组成部分,其中不仅包括编译器,还涵盖了程序库、头文件、链接器、以及其他相关工具。
多年以来,高通技术公司在C/C++编译器、嵌入式链接器、和完整工具链解决方案方面持续进行重大投资,最终开发出我们用于骁龙软件产品的专有LLVM工具链。
为了更好地满足客户需求,并始终坚持我们的“开源优先”战略,我们已从使用专有解决方案转向采用完全开源的方法。
组件
CPULLVM工具链主要利用各种LLVM技术和工具构建。CPULLVM工具链集成了Clang C和C++编译器、libcxx和compiler-rt程序库、和LLDB调试器,并提供多种其他基于 LLVM 的实用工具,用于程序构建与分析。
此外,基于我们在Polly多面体优化器方面的经验,我们已将其集成到工具链中。
此外,该工具链还包含我们的开源嵌入式链接器ELD。针对裸机目标,我们依赖picolibc开源C程序库;而针对Linux目标平台的测试与验证,我们使用了musl开源C程序库。
这些组件使CPULLVM能够高效满足嵌入式镜像构建需求,包括对嵌入式裸机( non-HLOS)和Zephyr镜像的支持。
开发模型
我们采用的方案与其他知名开源LLVM工具链项目保持一致 – 我们的所有LLVM开发工作均在llvm.org开源LLVM项目中进行。在任何情况下,CPULLVM的新功能都首先贡献并集成到llvm.org的LLVM中。此外,CPULLVM还提供了客户支持模型。
这意味着CPULLVM可能包含已经提交至上游但尚未被纳入官方llvm.org LLVM发布版本的补丁,从而能够高效、及时地解决客户问题。
CPULLVM的发布将在llvm.org开源LLVM发布(通常安排在每年3月和9月)之后几周进行。我们首个基于llvm.org LLVM 22.1.0的工具链版本已于3月17日正式发布。
支持的目标与主机
CPULLVM工具链支持以下目标架构:
- AArch64裸机以及Linux
- Arm裸机以及Linux
- RISC-V 32位和64位裸机以及Linux
该工具链适用于以下平台:
- Linux x86_64
- Linux AArch64
- Windows x86_64
- Windows ARM64
CPULLVM 22.1.0版本详情
该版本可通过CPULLVM代码库在GitHub上获取,其中包括与llvm.org保持一致的版本源代码、针对不同主机的预构建版本二进制文件、多层级项目文档、通过源配方进行的构建、以及版本发布说明。
利用这些资源,确保用户能够轻松下载、构建、或定制工具链,以满足特定需求。
如要获得有关如何参与项目的信息,请查阅为CPULLVM项目做出贡献的规则。
提issue时,请务必遵循有关问题报告的指导原则。
致谢
我们诚挚地感谢开源社区的贡献,包括LLVM、picolibc、musl、ELD、以及嵌入式Arm工具链(ATfE),感谢他们多年来坚持不懈的努力。他们的工作对于实现完全开源工具链的版本发布起到了关键作用。
现在,您可以在GitHub上开始使用我们的开源CPULLVM工具链。
在所发布内容中表达的观点仅为原作者的个人观点,并不代表高通技术公司或其子公司(以下简称为“高通技术公司”)的观点。所提供的内容仅供参考之用,而并不意味着高通技术公司或任何其他方的赞同或表述。本网站同样可以提供非高通技术公司网站和资源的链接或参考。高通技术公司对于可能通过本网站引用、访问、或链接的任何非高通技术公司网站或第三方资源并没有做出任何类型的任何声明、保证、或其他承诺。
骁龙品牌产品均为高通技术公司和/或其子公司的产品。
关于作者
安娜·帕索斯,高通技术公司工程总监
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)