写点什么

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

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

关注

评论

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

区块链代币DAPP通缩燃烧模式系统开发技术方案

I8O28578624

深入剖析Redis性能问题及优化方案

xfgg

redis 优化 6 月 优质更文活动

使用Leangoo领歌敏捷工具实施多团队规模化敏捷管理

顿顿顿

项目管理 敏捷项目管理 敏捷工具 scrum工具

AI版女网红“半藏森林”上线,服务项目让人意想不到

引迈信息

人工智能 AI 低代码 JNPF

GaussDB,连续五次No.1!

平平无奇爱好科技

重学 Java 设计模式:实战建造者模式

Java你猿哥

Java 设计模式 ssm 计算机

全量通过!华为云GaussDB首批完成信通院全密态数据库评测

轶天下事

墨天轮专访TDengine陶建辉:坚持做难而正确的事,三次创业成就不悔人生

墨天轮

数据库 tdengine Influxdb 时序数据库 国产数据库

架构实战营模块 1 第 4 课 - 如何做好架构设计

净意

GaussDB数据类型介绍

轶天下事

华为云GaussDB入选“2022年数字技术融合创新应用解决方案”

轶天下事

九科信息获评“第一新声”最佳信创企业管理软件,案例入选信创产业研究报告

九科Ninetech

多模块项目使用枚举配置spring-cache缓存

javalover123

Java lombok Enum spring-boot spring-cache

GaussDB数据库事务介绍

平平无奇爱好科技

ChatGPT会取代低代码开发平台吗?

力软低代码开发平台

大数据公司数据分析取数流程以及SQL示例

MobTech袤博科技

au音频编辑 Audition 2022 中文激活版

真大的脸盆

Mac Mac 软件 音频编辑 音频处理 编辑音频

面试官问:kafka为什么如此之快?

JAVA旭阳

kafka

GaussDB如何给世界一个更优选择?

平平无奇爱好科技

GaussDB数据类型转换介绍

平平无奇爱好科技

国产芯片开发为什么这么难?2023 中国芯片开发者调查报告发布

博文视点Broadview

利用 AWS CodeWhisperer 激发孩子的编程兴趣

汪子熙

人工智能 AI AWS AIGC 代码生成器

再识华为云数据库——GaussDB

轶天下事

华为云GaussDB助力MetaERP构建“收入成本”产品,高效支撑华为多业务

轶天下事

ChatGPT 之后,B 端产品设计会迎来颠覆式革命吗?| Liga妙谈

LigaAI

交互设计 产品设计与思考 tob产品 ChatGPT 企业号 6 月 PK 榜

听说最近AI应用爆了?!来AI Studio玩转大模型应用

飞桨PaddlePaddle

百度飞桨

ChatGPT热度不减!华为宣布入局,盘古GPT能否大杀四方!

加入高科技仿生人

低代码 数智化 ChatGPT 文心一言 通义千问

GaussDB存储过程介绍

平平无奇爱好科技

GaussDB为什么成为游戏行业的心头爱?

平平无奇爱好科技

音乐人解密:究竟是如何一步一步成为音乐人的?

懒得勤快

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