手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

LLVM 6.0.0 发布,开源编译器框架

[日期:2018-03-09] 来源:Linux公社  作者:听雨 [字体: ]

LLVM开源编译器框架的6.0.0版本已经发布。 “这个版本是过去六个月社区工作的结果,其中包括:retpoline Spectre variant 2 漏洞缓解,显著改进了Windows的CodeView调试信息,默认情况下GlobalISel在-O0的AArch64,多个x86微架构上的调度改进, Clang默认为 -std=gnu++14而不是 -std=gnu++98,支持一些即将推出的 C++2a特性,改进的优化,新的编译器警告,许多错误修复等等。

修复了许多错误:

  • 在使用负整数时,MIPS64上的fpowi给出不正确的结果。
  • asm'c'约束的用法与导致断言/崩溃的错误数据类型有关。
  • 修复了使用DSP ASE时的转换错误。
  • 修正了当micromips函数属性或使用“.set micromips”指令时对象未标记为使用microMIPS的不一致性。
  • 将MIPSR6特定的危险调度程序重新排序,以延迟时隙填充符后面的顺序排列,修复了延迟插槽填充符违反ISA限制的一类罕见边界错误。
  • 修正了使用gp相对寻址时未知大小的类型时崩溃的问题。
  • 更正了microMIPS的j宏。
  • 更正了microMIPS32r6的movep编码。
  • 修复了使用带有一组无效操作数的插入指令的问题。
  • 修复了TLS符号未被标记的问题。
  • 由于加载和存储的偏移更短,因此可以使用MSA进行寄存器清理。
  • 使用DSP ASE时更正了ELF标头。

新功能:

  • 当针对MIPSR6时,长分支传递现在生成一些R6特定指令。
  • 如果延迟槽不能被填充,则延迟槽填充器现在执行更多的分支转换。
  • 现在完全支持MIPS MT ASE。
  • 增加了对lapc伪指令的支持。
  • 改进了多个指令的选择(dext, nmadd, nmsub)。
  • 进一步改进microMIPS编码大小。

弃用声明:

  • 自5.0版开始,microMIPS64R6支持已被弃用,现在已完全删除。

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-03/151288.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款