LLVM 9.0 已经发布,LLVM 9.0 与 Clang9.0 C/C++ 编译器一起发布,该版本的主要亮点内容如下: 支持 ASM Goto,例如,使用 Clang 为 x86_64 构建主线 Linux 内核 RISC-V target 不再是实验性,而是默认构建的 对 OpenCL 实验性支持 C++ 其他改进包括 AMD Navi 支持、AMDGPU LLVM 编译器后端增强、AMD Zen 2“znver2” 支持和新的 Intel CPU 功能等内容。另外还有许多 bug 修复、优化和诊断改进。 详情见发布说明: https://list...
LLVM 编译器套件项目释出了 8.0.0 版。LLVM 项目现在是每半年发布一个大版本,每个大版本将增加一个版本号,小版本号变化主要是同一分支的更新。主要变化包括:预测加载加固,ORC JIT API 并行编译,WebAssembly target 不再是实验性支出,初始化自动变量选项,改进 clang-cl 的 预编译头文件支持,/Zc:dllexportInlines- flag,RISC-V 支持等等。更多可浏览 LLVM、Clang、Extra Clang Tools、lld 和 libc++ 的发布公告。 来源:...
早在2015年,LLVM 社区就有发起对代码进行重新授权的提案,希望能从现有的 NCSA 许可证更改为 Apache 2.0 。这三年内,关于许可证更换的可行性一直备受争议。 NCSA 是基于 MIT/X11 和 BSD 3 的许可证,更换许可证的目的一是降低代码贡献的门槛,鼓励更多人参与;二是提供对现有的贡献者专利保护;三是确保 LLVM 运行时库可以被其他开源和专有编译器使用。 经过探讨,他们提议采用 Apache 2.0 许可证,而且做了额外条款补充,形成...
LLVM 7.0.0 发布了,LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用,它能够进行程序语言的编译优化、链接优化、在线编译优化与代码生成。 7.0.0 版本包含有关 SVN 修订版 338536 主干上的工作与在发布分支上的工作,这是社区过去六个月工作的结果,主要包括: Clang 功能多元化:使用基于 ELF 的 x86/x86_64 目标的“target”属性 改进在 clan...
原计划于3月底发布的 LLVM 5.0.2 直到 5 月中旬这个版本才实现。 这个新的 LLVM 5.0 稳定性更新的重要性在于它包含了针对 Specter Variant Two 缓解的编译器端 Retpoline 支持。 这已经在 LLVM 6.0 中找到,然后被移植到 LLVM 5.0,现在可以在这个最新版本的发行版中找到。 LLVM 5.0.2 中的 Specter V2 缓解适用于 x86 / x86_64 和 MIPS 体系结构。 5.0.2 兼容 5.0.0 和 5.0.1 的 API 和 ABI, 针对 X86 和 MIPS 的 CVE-2017-5...
LLVM 资深开发者 Rafael 因不满社区变化宣布与项目分道扬镳的事件近日愈演愈烈,其公开邮件被广泛转发,并在 Twitter、Hacker News 和 Reddit 上引起了一波程序员是否应该要求彼此相互尊重的“大型辩论赛”。 Swift 语言之父 Chris Lattner ,同时还有另外一个身份是 LLVM 项目的主要发起人和作者之一,在事件发生后通过 Twitter 进行了评论。Chris 对 Rafael 的离开表示遗憾,并对其坚持个人原则的行为表示赞扬,但同时强调让项...
Rafael Avila de Espindola ,LLVM 编译器贡献排名第五的资深开发者,日前发布了一封长邮件宣布已决定与该项目分道扬镳。 邮件具体内容 Rafael 自 2006 年以来已为 LLVM 贡献了超过 4,300 个 commits ,添加了 157,679 行代码,是 LLVM 的排名第五的贡献者。 在邮件中,Rafael 回顾了他参与编译器开发的完整经历,从最初的 GCC,到之后转向并专注于 LLVM ,期间经历了许多事情。对于离开的原因,也做了详细解释: The reason f...
本月早些时候,英特尔 ISA 文档指出了代号为“Tremont”的新型 CPU 微架构,我们已经看到一些内核补丁也提到了英特尔 Tremont,现在 Tremont 微架构表示将会支持 LLVM 的 Clang 编译器。 英特尔还没有正式宣布“Tremont”,但所有迹象表明,它是 Goldmont/Goldmont Plus 的继任者,用于继承 Atom/Celeron/Pentium Silver CPU,这是去年年底推出的"Gemini Lake"平台的一部分。Tremont CPU 的性能与英特尔 Icelake 在台式机上的预...
为了让开发者用到最新的、稳定版本的开发工具,Red Hat 每年会发布两次编译器工具箱、脚本语言、开源数据库等工具的更新。这些产品被封装为 Red Hat 软件集合(脚本语言、开源数据库、Web工具等),Red Hat 开发工具箱(GCC)以及最近添加的编译器工具箱 Clang / LLVM、Go 和 Rust。这些都是可以通过 yum 安装的,并且包含在大多数 Red Hat 企业版 Linux 和所有开发者订阅中。大多数 Red Hat 软件集合和 Red Hat 开发人员工具箱...
LLVM/Clang 6.0 和 5.0 的编译器 Benchmark 测试这次会在四个不同的系统上进行,包括了 Intel/AMD Linux 平台,其中 Intel 和 AMD 各占两个。 四个系统都运行了 Ubuntu Linux x86_64,Intel 和 AMD 平台分别的配置如下:Intel Core i7 8700K (Coffeelake)、dual Xeon Gold 6138 (Skylake X)、Ryzen 7 1700 (Znver1) 以及 AMD EPYC 7601 (Znver1)。 除了默认的 C++14/GNU++14,Clang 6.0 还正式完成了 AMD Zen "znver1" 的程序调...
LLVM 6.0 已于本月早些时候发布,它使用了 Retpoline 编码技术,可有效缓解 Spectre V2 的变种漏洞。现在,开发团队表示 LLVM 5.0.2 也即将推出,以支持其之前的稳定版系列。 红帽公司的 Tom Stellard 正在计划开发一个 LLVM 5.0.2 版本,主要是为那些可能还不想切换到 LLVM 6.0.0 新版本的人提供 Spectre 漏洞缓解措施。 Tom 表示他计划在 3 月 19 日发布 LLVM 5.0.2-rc1 版本,然后在 3 月 26 日发布正式版。同时,他计划在 ...
LLVM/Clang 6.0.0 已正式发布,上个大版本是在半年前发布的 5.0.0 版。LLVM 现在的版本方案为,每发布一个大版本将增加一个版本号,小版本号变化主要是同一分支的更新。 这个版本是社区在过去六个月里工作的结果,有以下值得关注更新: 使用 Retpoline 编码技术,缓解 Spectre 变种 2 的漏洞 显着改进了用于 Windows 的 CodeView 调试信息,默认情况下,AArch64 在 -O0 使用 GlobalISel 改进了几个 x86 微架构的调度 Clang 默认...
LLVM 5.0.1 已发布。LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。 LLVM 发布页提供的 5.0.1 版发布说明与 5.0.0 版本一致,你可以自行查看发布页关注最新进展,或查看 5.0.0 更新内容了解更新情况。 下载地址: http://releases.llvm.org/download.html#5.0.1...
LLVM 5.0.0 已正式发布。LLVM 前不久改变了版本方案,每发布一个大版本将增加一个版本号,小版本号变化主要是同一分支的更新。上个大版本是在半年前发布的 4.0.0 版。 这个版本是社区在过去六个月里工作的结果,主要包括以下内容: 支持 C++17 支持协同例程(co-routines) 改进的优化 新的编译器警告 许多错误修复等 LLVM 5.0.0 下载地址:http://releases.llvm.org/download.html#5.0.0 来自:http://lists.llvm.org/pipermail...
LLVM 4.0.1 发布了。LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、 代码生成。 在此版本之后,LLVM 将于 7 月 19 日发布 5.0.0 rc1 版本,敬请期待。 该版本更新内容请关注项目主页。 下载地址: http://releases.llvm.org/...
LLVM 4.0.0 版本正式发布了。 此版本是过去六个月里社区工作的结果,包括以下更新:在 ThinLTO 中使用配置文件数据,更积极的死代码消除,实验性的协同支持,实验性 AVR 目标,LLD 中更好的 GNU ld 兼容性和显著的性能改进,以及改进的优化,许多错误修复等。 LLVM 编译器项目已使用新的版本控制方案,其中第一个编号将随每个主要版本而增加。因此本次发布的版本以后的稳定更新将为 4.0.x,下一个主要版本(从现在起六个月后)将...
LLVM 3.9 发布了,LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、 代码生成。LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。LLVM是伊利诺伊大学的一个研究项目,提供一个现代化的,基于SSA的编 译策略能够同时支持静态和动态的任意编程语言的编译目标。自那时以来,已...
LLVM 3.8 发布了,LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、 代码生成。LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。LLVM是伊利诺伊大学的一个研究项目,提供一个现代化的,基于SSA的编 译策略能够同时支持静态和动态的任意编程语言的编译目标。自那时以来,已...
LLVM 3.8 RC 1 发布,详情请看:announcement,LLVM 3.8。 LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、 代码生成。LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。LLVM是伊利诺伊大学的一个研究项目,提供一个现代化的,基于SSA的编 译策略能够同时支持静态和动态的...
LLVM 3.7.1 发布,该版本包含对上一版本的 bug 修复,这次发布不兼容 3.7.0 的 API 和ABI,但恢复了对 LLVM 3.6/3.8 API 和ABI 兼容。 更多内容请看:mailing list announcement。 LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、 代码生成。LLVM的项目是一个模块化和可重复使用的编译...