LLVM 编译器基础设施
站点地图
下载!
搜索本网站


有用链接
发布邮件
18.1.8: 2024年6月
18.1.7: 2024年6月
18.1.6: 2024年5月
18.1.5: 2024年5月
18.1.4: 2024年4月
18.1.3: 2024年4月
18.1.2: 2024年3月
18.1.1: 2024年3月
18.1.0: 2024年3月
17.0.6: 2023年11月
17.0.5: 2023年11月
17.0.4: 2023年10月
17.0.3: 2023年10月
17.0.2: 2023年10月
17.0.1: 2023年9月
所有公告

维护者
llvm-admin 团队
LLVM 特性

用于 C 和 C++ 的 LLVM 编译器系统 包括以下内容

  • 用于 C、C++、Objective-C、Fortran 等的前端。它们支持 ANSI 标准的 C 和 C++ 语言。此外,还支持许多 GCC 扩展。
  • LLVM 指令集的稳定实现,它既充当在线和离线代码表示,还提供汇编(ASCII)和字节码(二进制)的读取器和写入器,以及验证器。
  • 一个强大的传递管理系统,它根据传递之间的依赖关系自动排序传递(包括分析、转换和代码生成传递),并将其流水线化以提高效率。
  • 广泛的全局标量优化。
  • 一个链接时过程间优化框架,它具有丰富的分析和转换功能,包括复杂的全程序指针分析、调用图构建以及对配置文件引导优化的支持。
  • 一个易于重新定位的代码生成器,目前支持 X86、X86-64、PowerPC、PowerPC-64、ARM、Thumb、SPARC、Alpha、CellSPU、MIPS、MSP430、SystemZ、WebAssembly 和 XCore。
  • 一个即时 (JIT) 代码生成系统,目前支持 X86、X86-64、ARM、AArch64、Mips、SystemZ、PowerPC 和 PowerPC-64。
  • 支持生成 DWARF 调试信息。
  • 一个类似于 gprof 的分析系统。
  • 一个测试框架,其中包含许多基准代码和应用程序。
  • 简化 LLVM 组件快速开发的 API 和调试工具。
LLVM 系统的优势
  1. LLVM 使用一个简单的 低级语言,并具有严格定义的语义。
  2. 它包括用于 CC++ 的前端。用于 Java、Scheme 和其他语言的前端正在开发中。
  3. 它包括一个积极的优化器,包括标量、过程间、配置文件驱动和一些简单的循环优化。
  4. 它支持 持续编译模型,包括链接时、安装时、运行时和离线优化。
  5. LLVM 完全支持 精确的垃圾回收
  6. LLVM 代码生成器相对容易重新定位,并使用强大的目标描述语言。
  7. LLVM 拥有广泛的 文档,并托管了许多各种类型的 项目
  8. 许多第三方用户声称 LLVM 易于使用和开发。例如,(现已删除的)Stacker 前端是由一个对 LLVM 一无所知的人在 4 天内编写的。此外,LLVM 还提供工具来使 开发更容易
  9. LLVM 处于积极开发中,并不断扩展、增强和改进。请参阅左侧栏中的状态更新,以了解开发速度。
  10. LLVM 在 OSI 批准的“Apache 许可证版本 2.0”许可下免费提供。
  11. LLVM 目前被许多商业、非营利或学术实体使用,他们贡献了许多扩展和新功能。
LLVM 受众

LLVM 可用于许多不同类型的项目。如果您是以下人员,您可能对 LLVM 感兴趣

  • 对 C 和 C++ 程序的编译时、链接时(过程间)和运行时转换感兴趣的编译器研究人员。
  • 对可移植的、与语言无关的指令集和编译框架感兴趣的虚拟机研究人员/开发人员。
  • 对编译器/硬件技术感兴趣的体系结构研究人员。
  • 对静态分析或检测感兴趣的安全研究人员。
  • 对用于快速原型化编译器转换的系统感兴趣的讲师或开发人员。
  • 希望从代码中获得更好性能的最终用户。
想了解更多?

您可以 在线浏览文档,在您的 Web 浏览器中 试用 LLVM,或 下载源代码。