编译器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发布的主要内容,如果未能解决你的问题,请参考以下文章