★ LLVM

  LLVM是low level virtual machine的简称,是实现编译器的框架。其主要作用是可以作为多种语言的后端,并可以提供与可编程语言无关的优化和针对很多种CPU的代码生成功能。LLVM经过长期发展已经不单单是一个框架,目前还包含了很多的子项目,比如最具盛名的clang.LLVM的优点是:优良的模块化,完善的IR语言以及开源。
  编译组对龙芯操作系统所使用的LLVM编译组件进行了平台适应性修改,测试和调优。
  第一版基于Fedora21操作系统(N64)在loongson 3A处理器上通过了测试和性能评测,同时针对mips64el架构中出现的BUG予以修正。主要工作如下所述:

  1. 修正了因madd.s(d)指令在龙芯和mips64上的区别(精度不一样)而导致的程序运行错误
  2. 修正了当函数有unsigned int数据参数时,llvm在call指令准备参数时的错误
  3. 进行了regression tests,test-suite,SPEC2006的性能及准确性测试。

  第二版是基于clang+llvm3.7.0.RC1的源码,在loongson 3A处理器,在target=mips64el-redhat-linux的情况下,增加了对于Fedora21多库特性的适配。

  1. clang前端和llvm后端同时做到了对n64和o32的兼容。
  2. 在o32情况下修改了寄存器惯例。
  3. 在o32情况下关闭了post-RA-scheduler的优化。
  • 成员介绍

  项目负责人,相关事宜请联系 #loongson.cn (以@替换#)。

  • 主要项目介绍

  社区源码项目 LLVM编译器

★ LLVM新闻

  • LLVM-3.7 Fedora21 N64发布 [2015-08-14]
  • LLVM-3.7 Fedora21 N64+O32 RC2版本发布 [2015-11-03]

★ LLVM下载

★ 文档

★ 支持

本页面最后修改于2016年7月28日 (星期四) 09:52。

© 2018 by 龙芯开源社区 • Powered by MediaWiki
京ICP备14017781号