写点什么

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

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

关注

评论

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

云当先,圳有为,华为云携手深圳企业加速开发AI生产力

极客天地

鸿蒙原生驾考题库

坚果

鸿蒙 HarmonyOS

六倍性能,旗舰体验!华为云Flexus X实例以柔性算力引领云服务变革

YG科技

企业上云好处多多!华为云Flexus X实例有效降低上云门槛

YG科技

华为云Flexus X实例首创柔性算力技术,让中小企业上云“化难为易”

YG科技

AI 生成的代码能用吗?亲测比手写更规范!

飞算JavaAI开发助手

更贴合中小企业业务需求!华为云Flexus X实例助力提速增效、硬核降本.

YG科技

华为云Flexus云服务器X实例:柔性算力新物种,开启企业云上跃级体验

YG科技

【硬核测评】AI 代码生成工具准确率提升不止于 30%!

飞算JavaAI开发助手

通义 R1-Omni 模型:通过音视频判断人物情绪;Google 开源端侧多模态模型 Gemma 3,最小 1B 参数丨日报

声网

企业想要组织编程题考试?看这篇就够了!

轶天下事

打工人速看! "反卷神器"的飞算JavaAI,月均加班减少30小时

飞算JavaAI开发助手

SvelteKit 最新中文文档教程(2)—— 路由

冴羽

前端 前端开发 前端框架 Svelte SvelteKit

抓准数字化转型“突破口”!华为云Flexus X实例助力企业高效上云.

YG科技

以经济价格享受旗舰体验!华为云Flexus X实例打破传统云服务器局限

YG科技

国产数据库高光时刻!天翼云TeleDB荣登TPC-DS全球测评总榜第二

天翼云开发者社区

数据库 云计算

和鲸走入同济大学校园,从 GPT 到 DeepSeek,共启 AI 通识课新篇章

ModelWhale

人工智能 大数据 DeepSeek v3

AI焦虑之前,先看看你的底层数据准备好了没

赛博威科技

数字营销 赛博威 MDM主数据

鸿蒙之路:家国情怀下的坚守与成长

坚果

鸿蒙 HarmonyOS

【实操回顾】基于Apache SeaTunnel从MySQL同步到PostgreSQL——Demo方舟计划

Apache SeaTunnel

Go 语言常见错误——方法函数

FunTester

【避坑指南】Java开发中10大高频错误,AI工具如何提前预警?

飞算JavaAI开发助手

华为云Flexus X实例引领云服务变革,助力中小企业降本增效

YG科技

华为云 Flexus 云服务器 X 实例:开启云上新篇,让业务自由驰骋.

YG科技

得物 Android Crash 治理实践

得物技术

android 后端

AI 编程工具哪家强?5 款主流 AI 代码生成工具横向测评

飞算JavaAI开发助手

企业级低代码架构演进:数字化管理系统中的多环境部署与合规性保障实践

不在线第一只蜗牛

低代码

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