HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

2021最值得加入的互联网公司有哪些,阿里三面

android 程序员 移动开发

714页PDF的鸿蒙学习笔记,Android开发必须会的技能

android 程序员 移动开发

云图说|Git云上仓库哪家好?一张图了解华为云代码托管服务

华为云开发者联盟

代码 华为云 codehub 上云 代码云托管

android常用面试题,顺利通过阿里Android岗面试

android 程序员 移动开发

android开发入门与实战网盘,大佬分享开发经验

android 程序员 移动开发

论文解读:ACL2021 NER | 基于模板的BART命名实体识别

华为云开发者联盟

nlp 模板 实体识别 BART命名 NER

android实战视频教程,高并发系统基础篇

android 程序员 移动开发

2021最新中高级Android面试题目,2021必看

android 程序员 移动开发

android开发入门与实战网盘,值得一读

android 程序员 移动开发

2021年来看看Android的发展,程序员如何应对中年危机

android 程序员 移动开发

2021高级Android笔试总结,帮你解决95%以上的问题

android 程序员 移动开发

androidsdk下载安装,经验分享

android 程序员 移动开发

androidstudio连接手机,四面阿里Android开发岗

android 程序员 移动开发

android基础知识总结,面试复盘

android 程序员 移动开发

android工程师面试题,大厂面试题汇总

android 程序员 移动开发

android嵌入式开发板系统盘,看完就能找到工作

android 程序员 移动开发

DeFi流动性挖矿系统开发资料(源码)

揭开MySQL Volcano模型迭代器性能提升千倍的秘密

华为云开发者联盟

MySQL 数据库 华为云数据库 MySQL Volcano 模型迭代器

2021最新Android常用开源库总结,retrofit源码

android 程序员 移动开发

Android-Camera内存问题剖析,通用流行框架大全

android 程序员 移动开发

Android大厂高级面试题灵魂100问,金九银十

android 程序员 移动开发

android实战的书籍,超通俗解析

android 程序员 移动开发

2021年字节跳动+京东+美团面试总结,查漏补缺

android 程序员 移动开发

掘金万亿新IT服务大市场,联想智慧服务核心能力持续跃升

科技大数据

android学习心得,并发编程挑战

android 程序员 移动开发

Android屏幕适配很难嘛其实也就那么回事,含面试题+答案

android 程序员 移动开发

这4个行业用进销存管理系统是肯定不会错的

低代码小观

企业 企业管理 系统 管理系统 进销存管理系统

4面阿里拿到P7Offer,Android开发指南

android 程序员 移动开发

android5.0下载,阿里Android研发岗二面

android 程序员 移动开发

androidframework开发教程,安卓面试题库

android 程序员 移动开发

DeFi质押挖矿系统DAPP开发内容(源码)

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