编译器LLVM3.8发布

Posted GitChat精品课

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译器LLVM3.8发布相关的知识,希望对你有一定的参考价值。

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


这次发布的主要变化有:


  •     这次版本要求的Windows最低版本是Windows 7.较早的版本例如Windows Vista和XP已经不再提供支持。

  •     不再支持自动配置编译系统,这个特性将在3.9完全移除,请使用CMake。更多信息可以查看这里。

  •     分别在开发者分支和发布分支添加了C API的稳定性,以及如何扩展C API。更多信息可以查看开发者文档。

  •     废弃C API的函数LLVMLinkModules。在3.9版本中将正式移除,请使用LLVMLinkModules2。新版本的函数:不接受未使用的函数;销毁资源,而不是仅仅破坏资源;不再记录信息,而使用诊断程序处理错误,而不是记录信息。

  •     废弃LLVMParseBitcode, LLVMParseBitcodeInContext, LLVMGetBitcodeModuleInContext 和 LLVMGetBitcodeModule等函数。将在3.9版本中正式移除。请改用版本2.新版本的函数使用诊断程序处理错误,而不是记录信息。

  •     LLVMGetBitcodeModuleProviderInContext和LLVMGetBitcodeModuleProvider被移除。

  •     这次的版本中,重新整理了头文件,提高编译的效率。

  •     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的调用。


详细的更新日志请见左下角阅读原文。

以上是关于编译器LLVM3.8发布的主要内容,如果未能解决你的问题,请参考以下文章

为啥调试和发布的默认编译器不同?

华为方舟编译器编译工具正式发布,附源码下载。

LLVM 5.0.1 发布,编译器架构

LLVM 3.9 发布,编译器架构

华为蒙洪OS方舟编译器编译工具正式发布, 附源码下载

华为发布方舟编译器:全面开源 架构级优化 应用性能提升显著