写点什么

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:542508
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

手写一个webpack插件

Geek_02d948

webpack

如何在大促中做好系统高可用

阿里巴巴云原生

阿里云 微服务 高可用 云原生网关

钢网有多个种类,各自的用法都了解吗?

华秋PCB

PCB PCB设计 PCB生产

网络地址转换(NAT)(二)

我叫于豆豆吖.

网络 11月月更

函数计算|如何使用层解决依赖包问题?

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

【高并发全彩版小册】阿里内部大佬用7部分讲懂!百亿级高并发系统

程序知音

Java 高并发 java架构 后端技术 高并发架构

共享开源技术,共建开放生态丨平凯星辰余梦杰出席 2022 世界互联网大会开源论坛圆桌对话

PingCAP

开源

软件测试面试真题 | TCP为什么要进行三次握手和四次挥手呢?

测试人

三次握手 软件测试 自动化测试 测试开发 TCP四次挥手

为什么变压器经常烧毁?怎么预防解决?

元器件秋姐

元器件采购 华秋商城 变压器 变压器安全

探究并发和并行、同步和异步、进程和线程、阻塞和非阻塞、响应和吞吐等

C++后台开发

多线程 后端开发 并行 linux开发 C++开发

【从零开始学爬虫】采集同花顺基金评论数据

前嗅大数据

数据采集 爬虫软件 爬虫教程 数据采集教程 爬虫案例

天翼云打造自研云操作系统TeleCloudOS4.0 推动算力蓬勃发展

天翼云开发者社区

快速满足个性化业务需求的低代码平台

力软低代码开发平台

奖金+生态双丰收 首届昇腾AI创新大赛圆满收官

极客天地

企业开发首选安全框架!阿里顶配版Spring Security OAuth2.0认证授权核心技术全解真香

Java永远的神

Java 源码 springboot springsecurity 安全框架

网络地址转换(NAT)(三)

我叫于豆豆吖.

11月月更

融云 K 歌解决方案,应用丰富互动模式的「万能卡」

融云 RongCloud

互动平台

让迁移不再开盲盒,让云也能省钱丨Hackathon 项目背后的故事第一期回顾

PingCAP

hackathon

你需要知道的webpack高频面试题

Geek_02d948

webpack

启科量子 QuSprout 正式开源

启科量子开发者官方号

开源 量子计算 量子编程

B站疯传 Java面试题,24小时删

程序知音

Java java面试 java架构 后端技术 Java面试八股文

智慧公路筑基者!天翼云打造全栈能力新底座

天翼云开发者社区

技术贴 | Rocksdb 中 Memtable 源码解析

KaiwuDB

数据库

eBPF 实践 -- 网络可观测

观测云

【简历优化】如何写好项目的亮点难点?项目经历怎么写最好?

王中阳Go

高效工作 学习方法 面试 简历模板 11月月更

天翼云实时云渲染,助力打造世界VR产业大会云上之城

天翼云开发者社区

架构实战训练营模块 5 作业

atcgnu

基金交易场景下,如何利用 Apache APISIX 来稳固 API 安全

API7.ai 技术团队

安全 金融行业 api 网关 APISIX

数字先锋| 教育资源乘云而来!46万城乡学子共享名师课堂

天翼云开发者社区

华为新机到手升级HarmonyOS 3,畅享多设备高效互联协同

极客天地

Jmix 1.4 功能概览

世开 Coding

企业级低代码 Jmix 企业级应用程序开发

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