您现在的位置是:首页 > 产业研究

LLVM支持龙芯架构

火烧 2022-04-23 00:00:00 产业研究 1025
LLVM正式支持龙芯LoongArch架构,开源项目逐步加入支持,推动龙芯生态发展。LLVM模块化设计优势明显,助力龙芯架构软件生态完善。

  去年年底,有消息称,为加强软件生态建设,龙芯为 GCC和LLVM编译器和相关 GNU 工具链组件提供 LoongArch 指令级架构(IS)支持。最近,LLVM 15.0的开发树上出现了对中国的LoongArch CPU架构的初始补丁。

 

  LLVM是一种编译器,它的模块化设计很好,这个编译器中的很多功能可以被单独实现或者改进。LLVM可以被设计成很多语言编译器实现的后端,负责处理程序优化和跨平台,而前端只需将程序转换成LLVM IR即可。比如说,Clang就是基于LLVM实现的C/C++编译器,它的主要功能就是将C/C++程序转换成LLVM IR,然后由LLVM负责后续的工作。

  LLVM技术上的(最大)优势就在于它的模块化设计。在LLVM中,IR的解析,优化,汇编码的生成,寄存器分配,汇编码优化以及机器码生成,各种类型的二进制文件生成全部都是接口定义清晰的模块完成的,很容易分别改进或者添加定制功能。而且由于LLVM的C++实现,很多模块理解和使用比较容易。这些特性使得LLVM可以很容易地被用在科研和生产实践当中。反观GCC,模块化做得不如LLVM好,这使得它定制或者改进比较不方便。

  目前,LLVM编译器社区已经正式合入了对Loongarch架构的初步支持,其主干源码库中已经出现了跟X86和ARM并列的LoongArch顶层目录。这对于龙芯而言是一个里程碑。很多开源项目已经接受了对LoongArch的支持,众人拾柴火焰高,相信随着支持LoongArch的软件越来越丰富,龙芯生态会在这个过程中茁壮成长。

永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码