LLVM 12.0.0 发布

来源: 投稿
作者: 御坂弟弟
2021-04-19 06:44:46

LLVM 12.0.0 现已发布。本次更新内容主要包括 bug 修复和一些小型功能优化。

部分更新内容

  • ConstantPropagation 传递已删除,用户应改用 InstSimplify 传递
  • 添加了 byref 属性,以更好地表示 amdgpu_kernel 调用约定的参数传递
  • 为 sret 属性添加了类型参数,以继续支持删除指针元素类型的工作
  • llvm.experimental.vector.reduce 内部函数家族已重命名,以删除名称中的 “experimental”
  • 内部的 llvm-build Python 脚本和用于描述 LLVM 组件结构的相关 LLVMBuild.txt 文件已经被删除,取而代之的是一种纯粹的 CMake 方法,每个组件都会在创建的目标中存储额外的属性。一旦所有组件被定义,就会根据这些属性解析库依赖性并产生 llvm-config 所期望的 header
  • 新的 "TableGen 程序员参考" 取代了 "TableGen 语言介绍" 和 "TableGen 语言参考“ 文档
  • Windows 生成数据方面:优化了展开数据,并在可能的情况下以打包形式写入展开数据,与 LLVM 11相比,展开数据(pdata 和 xdata 节)的大小减少了约60%。针对 Windows 调整了 prologs/epilogs 的生成
  • 支持使用 .seh_* 汇编器指令创建 Windows 解卷数据
  • 为 Windows 目标产生适当的程序集输出,包括 :lo12: relocation specifiers
  • 将 MSVC 目标的汇编注释字符串改为 /(与 MinGW 和 ELF 目标一致),使用 ; 作为语句分隔符
  • ......

详情请查看更新公告

展开阅读全文
1 收藏
分享
1 评论
1 收藏
分享
返回顶部
顶部