2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

大模型的“海马体”来了!腾讯云AI 原生向量数据库正式上线公测

极客天地

华为云盘古大模型辅助药物设计,西交大的新型抗生素研发之路

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 8 月 PK 榜

加强Web应用程序安全:防止SQL注入

树上有只程序猿

sql Web ORM

信科技AntDB数据库专家参加向量数据库首次技术标准研讨会

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 7 月 PK 榜

阿里云率先荣获容器集群稳定性先进级认证

阿里巴巴云原生

阿里云 云原生 容器服务

2023年受人欢迎的低代码开发平台大盘点

优秀

低代码开发平台

可拓展的低代码全栈框架

互联网工科生

低代码 前端框架 低代码开发

不断创新短视频APP源码,未来可期!

山东布谷网络科技

App 短视频 短视频源码

【AI模型系列】中国AI大模型峰会“封神之作”,不容错过的大模型机遇

颜淡慕潇

AI大模型 峰会 WAVE SUMMIT

直播预告 | 博睿学院:探索ES在日志场景的应用

博睿数据

可观测性 博睿数据 智能运维AIOps 博睿学院

分布式系统常见理论讲解

越长大越悲伤

分布式 后端 一致性

【参赛有奖】云原生编程挑战赛·赛道 2 邀你来战!

阿里巴巴云原生

阿里云 阿里云云原生

关于 Ancert 硬件兼容性验证及龙蜥社区众测共创的介绍 | 第 91-92 期

OpenAnolis小助手

开源 操作系统 龙蜥大讲堂 硬件兼容 Ancert

重磅发布 | 博睿数据首部全行业IT运维精选案例集

博睿数据

IT 案例分享 博睿数据 精选案例 IT 运维

代码随想录Day23 - 二叉树(九)

jjn0703

作为新手小白,你应该了解的五个3DMAX的使用干货小技巧!

Finovy Cloud

3ds Max

证券机构数据治理实践,实现数据的“管、 治、用”

袋鼠云数栈

数字化转型 金融

高并发与性能优化的神奇之旅

互联网工科生

性能优化 数据 高并发

3分钟全面了解API Moke

优测云服务平台

Mock API 编排 Mock 服务 API 接口 API 测试

火山引擎数智平台旗下DataWind升级半年报 6大功能助力企业数据消费

字节跳动数据平台

数据库 大数据 企业号 8 月 PK 榜

几种常用到的 Hybrid App 技术框架

Onegun

flutter React Native Hybrid

Seata 1.7.0 正式发布,大幅度提升稳定性

阿里巴巴云原生

阿里云 云原生 seata

代码随想录Day35 - 贪心算法(四)

jjn0703

闲置资源优化,轻松检查集群中的空闲成本

阿里巴巴云原生

阿里云 云原生 容器服务

一文让你彻底掌握ThreadLocal

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

轻松构建全栈观测,从容应对咖啡产业竞争

阿里巴巴云原生

阿里云 云原生

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