QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

服务可达,达者为先,产品发布会嘉宾精彩观点分享!

博睿数据

博睿数据 数据链DNA 服务可达

从零开始学习ThingJS之创建App对象

ThingJS数字孪生引擎

可视化 3D可视化 数字孪生

MeterSphere | 超好用的开源测试平台

Python研究所

签约计划

100W点击 10w人获取,阿里Java高级面试题及答案 到底有多强

???

面试 java真题分享

云原生加速落地,金融行业应用上云来打样儿

BoCloud博云

云原生

中国呼叫中心与卓越客服产业峰会,百度智能客服再提行业创新

百度大脑

解决方案 行业创新

🔎【Java源码探索】深入浅出的分析HashMap(JDK8)

码界西柚

Java 源码 源码分析 hashmap 5月日更

Fabric | 自动化神器

Python研究所

签约计划

MPP大规模并行处理架构详解

五分钟学大数据

大数据 MPP 5月日更

AI年中钜惠来袭—全场低至6折 企业新客1元优享福利翻倍

百度大脑

福利 Iphone12

我厂与张家港市达成全面战略合作,共推数据中心和城市智能化转型

百度大脑

数据中心 城市智能化

1小时内被全网疯转 29.8w 次,最终被所有大V协力封杀!

Java架构师迁哥

如何评估 Serverless 服务能力?这份报告给出了 40 条标准

Serverless Devs

云计算 云原生 Forrester Wave #Serverless

百余大企业共赴新文明之约:2021 DEMO WORLD 世界创新峰会拉开帷幕

创业邦

创新

使用Docker运行DataX定时全量备份关键数据表

白粥

DataX 数据表备份

编曲新手可以用什么编曲软件?

奈奈的杂社

编曲 编曲宿主 编曲软件

40K成功入职:六年开发终获小米Offer(附面经+面试题+答案详解)

Java架构师迁哥

ARM和X86云服务器的算力对比

Python研究所

签约计划

Vue-1-初识

Python研究所

签约计划

获5项大奖,发布《云计算开放应用架构标准》,阿里云持续领航云原生

阿里巴巴中间件

云计算 最佳实践 云原生 案例 白皮书

量化网格策略交易软件,马丁倍投策略机器人

论证:iOS安全性,为什么需要审核?

37手游iOS技术运营团队

ios SIP Sandbox iOS Developer ios安全

公安局重点人员研判分析系统解决方案

面阿里P7,竟问这么简单的题目?

Java架构师迁哥

🔎【Java 源码探索】深入浅出的分析ThreadLocal

码界西柚

Java 多线程 ThreadLocal 5月日更 ThreadLocalMap

牛x运维常用的工具系列-1

运维研习社

运维 工具分享 5月日更

脉脉3小时转发65w次!这份Java面试宝典发生了什么?

Java架构师迁哥

OKR 八问 —— 关于 OKR 的常见问题与思考

CODING DevOps

团队管理 DevOps OKR

列举出常见的Java面试题,我靠这个在春招拿到了阿里的offer

???

面试 Java面经 java真题分享

走向机器智能时代:移动机器人的困局与创新

晨山资本

机器人 移动机器人 AMR

Bugless 异常监控系统 (iOS端)

37手游iOS技术运营团队

ios iOS Developer 崩溃分析 bugless

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