返回 登录
0

编译器LLVM3.8发布

阅读7058

LLVM编译器发布3.8版本了,主要是对以前版本各项性能的优化,以及对之前版本的升级。最新的发布日志可以查看这里

这次发布的主要变化有:

  • 这次版本要求的Windows最低版本是Windows 7.较早的版本例如Windows Vista和XP已经不再提供支持。
  • 不再支持自动配置编译系统,这个特性将在3.9完全移除,请使用CMake。更多信息可以查看这里
  • 分别在开发者分支和发布分支添加了C API的稳定性,以及如何扩展C API。更多信息可以查看开发者文档
  • 废弃C API的函数LLVMLinkModules。在3.9版本中将正式移除,请使用LLVMLinkModules2。新版本的函数:不接受未使用的函数;销毁资源,而不是仅仅破坏资源;不再记录信息,而使用诊断程序处理错误,而不是记录信息。
  • 废弃LLVMParseBitcode, LLVMParseBitcodeInContext, LLVMGetBitcodeModuleInContextLLVMGetBitcodeModule等函数。将在3.9版本中正式移除。请改用版本2.新版本的函数使用诊断程序处理错误,而不是记录信息。
  • LLVMGetBitcodeModuleProviderInContextLLVMGetBitcodeModuleProvider被移除。
  • 这次的版本中,重新整理了头文件,提高编译的效率。
  • llvm不再产生.data.rel.ro.local.data.rel部分。
  • IR链接器分成两部分,IRMover负责移动模块的东西,Linker负责链接。
  • RegisterScheduler::setDefault被移除。
  • Kaleidoscope tutorials更新了ORC JIT APIs的内容。
  • ORC有基本的C数据类型了。
  • 默认支持函数的优化。
  • 添加了目标主导的模拟线程的gcc兼容的本地存储模块。当-femultated-tls标志使用的时候,所有对TLS变量的调用都会在运行时转化为对__emutls_get_address的调用。

详细的更新日志请见这里

原文:LLVM 3.8 Release Notes(译者/赖信涛 责编/钱曙光)

评论