当前位置:首页-文章-行业新闻-正文

LLVM 正式支持 LoongArch 架构

LLVM于2023年3月18日发布了16.0.0版本,以正式后端(official target)的级别实现了对LoongArch指令集架构的完善支持。 至此,开源软件世界最重要的五大基础软件(BIG FIVE),即Linux内核、GCC、LLVM、Glibc、Binutils,都已发布了支持Loo

LLVM于2023年3月18日发布了16.0.0版本,以正式后端(official target)的级别实现了对LoongArch指令集架构的完善支持。

至此,开源软件世界最重要的五大基础软件(BIG FIVE),即Linux内核、GCC、LLVM、Glibc、Binutils,都已发布了支持LoongArch架构的版本

相关阅读

此后的LoongArch架构操作系统发行版将可以直接基于上游社区版本进行构建,标志着LoongArch软件生态建设将迎来快速发展的新阶段。

据介绍,龙芯架构包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,近 2000 条指令。龙芯架构不包含 MIPS 指令系统。

LLVM 正式支持 LoongArch 架构 - 第1张

上个月,龙芯中科发布公告称,公司撤诉对上海芯联芯提起的关于 3A5000 处理器不侵犯 MIPS 指令系统的计算机软件著作权的诉讼案(案件 1);同时,上海芯联芯针对公司 LoongArch 和 3A5000 处理器的诉讼案(案件 2)已判决,北京知识产权法院判决驳回原告上海芯联芯的全部诉讼请求。

LLVM 正式支持 LoongArch 架构 - 第2张

据了解二者的争议起源于龙芯最初选择的 MIPS 路线。龙芯刚起步时使用的 LoongISA 架构是以 MIPS 为基础扩展而来。龙芯在 3A4000 以前的 LoongISA 是基于 MIPS 进行添加,3A5000 则基于龙芯自主指令集 LoongArch。

上海芯联芯公司成立于 2018 年,2021 年上海芯联芯一次性付清所有 MIPS 技术授权费获得了在中国对 MIPS 技术独占权利人和独家经营权人的地位

然而上海芯联芯公司却对龙芯中科后来自研的 LoongArch 架构以及 3A5000 处理器提起诉讼,认为龙芯指令集侵害 MIPS 指令集著作权。对此龙芯中科进行了反诉。


LLVM介绍

LLVM是如今设计和开发编译器的最重要的框架之一,它不仅提供了知名的C/C++编译器前端Clang,也为Rust等许多其他编程语言提供了编译框架支持,包括Chromium在内的大量大型软件都采用LLVM作为编译构建工具。

LLVM项目全面支持LoongArch

根据此次LLVM社区官方发行注记(https://releases.llvm.org/)的说明,在LLVM16中,LoongArch架构从实验性后端(experimental target)被提升至正式后端(official target),这意味着LoongArch后端在任何平台上将被默认编译,无需通过额外的CMake选项指定。

LLVM 正式支持 LoongArch 架构 - 第3张

LLVM 16.0.0发行注记部分截图

此外,LoongArch架构在整个LLVM项目中得到了更加全面的支持,可支持OrcJIT、GHC调用约定等高级特性,clang、compiler-rt、lldb、openmp和libunwind等子项目。

据介绍,龙芯中科是2022年LLVM社区代码贡献量较多的机构参与者,自2022年以来累计向LLVM社区贡献了6.5万行源代码。此外,来自国内外的开源开发者也向LLVM社区贡献了近5千行的LoongArch架构支持代码。

本文原创,作者:admin,其版权均为一念悟道所有。
如需转载,请注明出处:https://www.jiayezz.com/6242.html