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

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

关注

评论

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

Acrobat Pro DC 2022 for Mac(PDF编辑软件)中文版

Mac相关知识分享

ArkUI与MVVM模式的诗和远方

威哥爱编程

HarmonyOS arkui ArkTS HarmonyOS框架 HarmonyOS NEXT

VMware Integrated OpenStack 7.3 现已支持 vSphere 8.0U3 和 NSX 4.2 互操作性

sysin

vmware OpenStack

2024最新Java高频面试题及答案

采菊东篱下

java面试

融云参与「全球首个运营商级量子加密办公应用」量子密信生态开放合作签约

融云 RongCloud

Java初中级程序员是否有必要去深究源码?

了不起的程序猿

Java 程序员 jdk源码 架构师 java面试

好用的终端SSH仿真工具SecureCRT for mac注册激活版

iMac小白

office2021全套办公软件Microsoft Office LTSC for Mac 2021中文激活版

iMac小白

Downie 4 for Mac(视频下载工具)中文版

Mac相关知识分享

Solana VS 以太坊:基于数据、市场情绪和催化剂对比分析,Solana 能否实现逆袭?

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

和鲸助力国防科技信息数据挖掘能力征集活动圆满落幕!

ModelWhale

Python 人工智能 大数据 R语言 国防科技

Cubase Elements 11 for Mac(音频处理编辑软件)

Mac相关知识分享

Voice Agent 开发者必读,2024 最前沿语音模型梳理

声网

VMware Fusion Pro 12 Mac(vm虚拟机)v12.2.5激活版

iMac小白

Taobao Agent Russia丨俄罗斯淘宝代购集运系统PHP搭建攻略

tbapi

淘宝代购系统 淘宝代购集运系统 俄语网站建设 俄语淘宝代购系统

通过延时从库+binlog复制,恢复误操作数据

GreatSQL

PDF Reader Pro for mac( PDF 编辑阅读软件)

Mac相关知识分享

保护Active Directory:备份和恢复的重要性及实施指南

运维有小邓

备份恢复 AD域 IT自动化运维

Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件

sysin

UFED

2024“创客中国”国际中小企业创新创业大赛决赛在广州南沙成功举办

新消费日报

淘宝月销API接口开发实战

联讯数据

苹果电脑清理软件哪个好?专业的Mac系统维护工具推荐

阿拉灯神丁

性能优化 CleanMyMac X 清理优化 如何清理苹果电脑 mac系统维护软件

全网最全:JVM+分布式+算法+锁+MQ+微服务+数据库499道JAVA面试题

程序员高级码农

Java 编程 程序员 java面试 Java面试题

AnyToISO Pro for Mac(ISO镜像文件制作工具)中文版

Mac相关知识分享

有关Spring全家桶核心知识总结,这是我看过最全面的了!

了不起的程序猿

Java spring springboot SpringCloud java面试

和鲸科技助力某高校人工智能通识课程实现全校覆盖,以实践为学生AI素养筑基

ModelWhale

人工智能 AI 教育 智慧课程

HarmonyOS 5.0应用开发——鸿蒙混合开发

高心星

鸿蒙Next HarmonyOS NEXT ArkWeb

TON链小游戏开发:探索GameFi链游技术的未来

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

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