写点什么

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

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

关注

评论

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

提升源代码安全性的C#和Java深度混淆工具——IpaGuard

海外直播专线:打通TikTok直播的畅通通道

Ogcloud

海外直播专线 Tik Tok直播 Tik Tok直播网络

共话 AI for Science | 中国自然资源航空物探遥感中心于峻川:“AI+遥感”技术地学应用实践与展望

ModelWhale

人工智能 机器学习 深度学习 AI4S

Boxy SVG for Mac(矢量图编辑器)v4.21.1免激活版

iMac小白

共话 AI for Science | 解放军总医院医学创新研究部刘晓莉:基于数据和知识驱动的临床预测模型的构建

ModelWhale

人工智能 机器学习 深度学习 预测模型 AI4S

PullTube for Mac(在线视频下载器)v1.8.5.23中文激活版

iMac小白

Alarm Clock Pro for mac(闹钟和时间管理工具) v15.6激活版下载

iMac小白

Navicat Premium 16 for Mac(数据库管理软件)v16.3.5中文激活版

iMac小白

海外云手机助力企业拓展海外市场

Ogcloud

云手机 海外云手机

京东商品详情API实现实时数据获取的Java代码示例

Noah

MetaImage for Mac(图像元数据编辑器)v2.6.3中文激活版

iMac小白

如何优雅的对ILogger进行扩展并实现日志分类及追踪

多态丶

netcore 扩展 logger dotnetcore 结构化日志

getIRC-IRC Client for Mac( IRC 聊天客户端工具) v1.5直装版下载

iMac小白

永不停止,永远在路上!MIAOYUN 2023年度回顾

MIAOYUN

2023年度回顾 2023年终总结 年度关键词 年度成绩单

程序员一定要知道的限流大法:令牌桶算法

不在线第一只蜗牛

程序员 高并发 限流

Archicad 27 for Mac(3D建模软件)v27.1.1 (4030)激活版

iMac小白

Solidity之旅(十八)内联汇编 [inline assembly]

BSN研习社

Linguist for Mac(mac菜单栏语言翻译工具)v3.2激活版下载

iMac小白

Atlassian版本选择趋势是上云还是本地部署?全面分析两个版本的特性

龙智—DevSecOps解决方案

DevSecOps Atlassian

软件测试/测试开发/全日制/测试管理丨App 自动化测试的价值与体系

测试人

软件测试

Snagit for mac(最强大的屏幕截图软件)v2023.2.6中文版下载

iMac小白

拼多多根据ID取商品详情原数据 API 实现实时数据获取的完整指南

Noah

JavaFx项目至安装程序

alexgaoyh

JavaFx exe4j 桌面应用 Inno Setup Compiler jre运行环境

从源码分析 MySQL 身份验证插件的实现细节

快乐非自愿限量之名

MySQL 数据库 sql 源码

华为产品创新经验,帮你成为更好的产品创新者

华为云PaaS服务小智

学习 华为云

QuickLinks for Mac(菜单栏快捷命令)v3.2激活版

iMac小白

Jenkins入门知识:什么是Jenkins?以及它的历史与发展

龙智—DevSecOps解决方案

解锁 AI 潜力 | 使用 GreptimeAI 深入观测 OpenAI 行为和用量

Greptime 格睿科技

数据库 LLM LLMOps

EzyCal for Mac(日历管理和提醒工具)v2.3激活版

iMac小白

软件测试开发/全日制/测试管理丨Web、App 测试不同场景定位方式

测试人

软件测试

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