写点什么

LLVM 3.3 完全兼容 C++11

  • 2013-07-01
  • 本文字数:779 字

    阅读完需:约 3 分钟

最近发布的 LLVM 3.3 带来了大量新特性,其中包括通过 Clang 子项目实现的完全兼容 C++11 的编译器。最重要的新特性是支持一些新的 CPU 架构,包括 AArch64(64 位 ARM)、 AMD 的 R600 GPU 和 IBM 的 z/Architecture(s390x),再就是改进了对 MIPS 和 PowerPC 的支持。

LLVM 有两种向量识别器(vectorizer):循环向量识别器和新增的 SLP 向量识别器。在 3.3 版本中,得益于一些改进,循环向量识别器能够生成更好的代码,在使用–O3 标记时会默认启用该特性。新添加的特性包括指针的运行时检查、反向迭代器和 If 转换。SLP(superword-level parallelism)向量识别器可以将“类似的独立指令合并为向量指令”。SLP 向量识别器通过“-fslp-vectorize”标记启用。

Dragon Egg 是 LLVM 的子项目,它将 LLVM 技术带向了 GCC。DragonEgg 将 GCC 的优化器和代码生成器替换成了 LLVM 的。在 3.3 版本中还有一些值得注意的改进,如支持 gcc-4.8.1 及更高版本,提供了更好的调试信息等。LLDB(Low Level Debugger)添加了一些 Linux 特性:

  • 支持观察点
  • 通过一个 vim 插件,在 vim 中集成了 lldb 命令和程序状态
  • 改进了寄存器支持,其中包括向量寄存器
  • 可以使用 make/ninja/auto-tools/clang 3.3/gcc 4.6 构建

使用 C++11 的开发者,或考虑将 C++11 应用于现有项目的开发者,可以研究一下 LLVM 的 C++11 迁移工具——cpp11-migrate。按照 LLVM 博客上的说法,“C++11 迁移程序的意图是通过从源代码到源代码的翻译,将现有的 C++ 代码迁移为使用 C++11 特性的代码,以增强可维护性、可读性、运行时性能和编译时性能。”

LLVM 3.3 以多种格式发布,其中包括源代码和预先构建好的二进制包。Linux、FreeBSD 和 Mac OS X 用户可以直接从项目网站下载安装程序。作为选择,也可以检查操作系统发行包,或从源代码编译。LLVM 团队提供了详细的编译说明

查看英文原文: LLVM 3.3 Achieves Full C++11 Compliance

2013-07-01 10:542385
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 143.2 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

面试官:JDK、JRE、JVM 三者什么关系?

田维常

后端

笔试题:代码如何实现“百钱买百鸡”?

田维常

面试

快速掌握并发编程---Semaphore原理和实战

田维常

并发编程

架构师训练营第六周作业

邓昀垚

极客大学架构师训练营

架构师训练营第六周总结

邓昀垚

极客大学架构师训练营

大企程序员亲身经历告诉你,CRM系统,自己的才是最好的

Philips

敏捷开发

容器、Docker、虚拟机,别再傻傻分不清

华为云开发者联盟

容器 虚拟化

真爽!蚂蚁金服大牛整理SpringBoot+Cloud离线版

996小迁

架构 面试 springboot SpringCloud

这10道 Spring 常见面试题,你能搞定吗?

田维常

面试

快速掌握并发编程---深入了解volatile

田维常

后端

十八般武艺玩转GaussDB(DWS)性能调优(三):好味道表定义

华为云开发者联盟

数据 分布式存储

快速掌握并发编程---ArrayBlockingQueue 底层原理和实战

田维常

并发编程

快速掌握并发编程---深入学习Condition

田维常

并发编程

精解四大集合框架:Queue核心知识总结

田维常

后端

面试官:什么是字节码?它最大的优势是什么?

田维常

后端

快速掌握并发编程---线程阻塞与唤醒

田维常

并发编程

企业CRM未来发展趋势展望

Learun

敏捷开发

精解四大集合框架:List核心知识总结

田维常

后端

OPPO安全重磅出击 剑指安全与隐私保护

OPPO安全

安全 隐私保护 个人隐私安全 OPPO安全

LeetCode题解:90. 子集 II,递归+for循环+回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

合约交易所系统开发技术搭建

薇電13242772558

区块链

笔试题:了解穷举算法吗?如何用代码实现

田维常

后端

快速掌握并发编程---synchronized篇(下)

田维常

并发编程

快速掌握并发编程---基础篇

田维常

并发编程

快速掌握并发编程---CountDownLatch原理和实战

田维常

并发编程

MySQL数据库开发中的6个“避免”

田维常

MySQL

快速掌握并发编程---Thread常用方法

田维常

后端

快速掌握并发编程---synchronized篇(上)

田维常

并发编程

科大讯飞翻译系统变身“随身翻译官” 助力粤港澳大湾区一体化建设

Talk A.I.

面试官:什么是面向对象?

田维常

后端

快速掌握并发编程---细说ReentrantLock和AQS

田维常

后端

LLVM 3.3完全兼容C++11_语言 & 开发_Jeff Martin_InfoQ精选文章