AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

用git上传项目到GitHub或者码云全过程

肥晨

代码上传 githun 11月月更 Git上传

【解决】前端开发中的5大痛点

GFE

前端

Wallys/Qualcomm IPQ5018 solution application wifi6 , support M.2 Card Slot for QCN9074 WIFI 6E Card

Cindy-wallys

802.11AX WIFI 6e ipq5018

“鸿蒙生态专家面对面”技术交流会,专家齐聚,等你前来!

HarmonyOS开发者

HarmonyOS

pyside6 qml 自定义边框

Mr_No爱学习

币安DAPP系统开发技术概念及篡改逻辑

I8O28578624

Python 实现栈的几种方式及其优劣

宇宙之一粟

Python 数据结构 11月月更

即时通讯技术文集(第4期):不为人知的网络编程 [共14篇]

JackJiang

vue实战-完全掌握Vue自定义指令

yyds2026

Vue

开源!非凸Rust高性能日志库ftlog

非凸科技

测试小白到月薪30K+的测试大佬学习路线图

千锋IT教育

一路同行,再聚乌镇 | 旺链科技与你相约世界互联网大会

旺链科技

产业区块链 世界互联网大会 乌镇 企业号十月PK榜

计算机网络:电路、报文与分组交换

timerring

计算机网络 11月月更

Backdrop Filter

肥晨

css3 css特效 11月月更 css滤镜

升级到React-Router-v6

xiaofeng

React

你要的react+ts最佳实践指南

xiaofeng

React

vue中的几个高级概念

yyds2026

Vue

vue3实战-完全掌握ref、reactive

yyds2026

公链defi质押挖矿分红dapp系统开发(合约定制)

开发微hkkf5566

量化合约系统开发逻辑篡改方案

I8O28578624

前台小姐姐是如何转行测试,从月薪3000到月薪15K,实现逆袭

千锋IT教育

CSS3渐变-快来感受CSS的伟大吧(差点闪瞎我的狗眼)

肥晨

11月月更 css3渐变 conic-gradient

【设计模式】-创建型模式-第2章第1讲-【单例模式】

跟着飞哥学编程

设计模式 单例模式 java 编程 11月月更

Zepoch节点已售出500+,Zebec Chain市场反响激烈

鳄鱼视界

从事分布式工作10余年,这本书颠覆了我的认知!

博文视点Broadview

基于BPMN2.0的业务流程引擎

GFE

前端 BPMN 流程引擎

11月必须要了解的一项福利

夏夜许游

AI 双十一 视觉智能

几个你必须知道的React错误实践

xiaofeng

React

科普 | 关于NFT的概念、价值及应用

NFT Research

Ten Million-Level Capacity Storage Solution of Student Management System - Examination

David

架构实战营

如何更改 datax 以支持hive 的 DECIMAL 数据类型?

明哥的IT随笔

hadoop hive

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