C/C++ 编译器全面采用 LLVM
英特尔的长期编译器专家 James Reinders 在一篇博客,他们将在下一代英特尔 C/C++ 编译器中使用 LLVM 开源基础架构;并分享了一些相关信息
在构建时间方面,英特尔工程师报告称,新的基于 LLVM 的 oneAPI DPC++/C++ Compiler 2021.3 的构建时间相较他们的经典 C++ 编译器要减少了 14%。虽然经典英特尔 C++ 编译器一直比上游的 LLVM 和 GCC 快,但 oneAPI DPC++/C++ Compiler 2021.3 可提供比 GCC 11.1 快 41% 的性能。且新的基于 LLVM 的编译器的浮点性能比 ICC 高约 19%
并建议所有新项目都使用基于 LLVM 的英特尔 C/C++ 编译器,现有项目也应计划在今年迁移到新的编译器。James 称,在未来的某个时间点,经典 C/C++ 编译器将进入"Legacy Product Support"模式。这标志着对经典编译器基础的定期更新结束,它们将不再出现在 oneAPI 工具包中。
“全新的基于 LLVM 的 Intel C/C++ 已与经典版本达到同等水平,基于 LLVM 的 C/C++ 提供了我们拥有的最佳优化技术。我们建议所有用户现在就尝试新的 C/C++ 编译器,享受好处并提供反馈。”
此外,基于 LLVM 的英特尔 Fortran 编译器也正在进行中。目前,已有一个基于 LLVM 的 Fortran 编译器测试版提供了对 Fortran 的广泛支持,还有一些功能仍在开发中。
更多详情可查看官方博客
C/C++ 编译器全面采用 LLVM相关推荐
- 英特尔采用 LLVM 作为最新 C/C++ 编译器
日前,英特尔官宣推出基于 LLVM 架构的下一代 C/C++ 编译器,从而代替之前经典的英特尔 C++ 编译器. LLVM是底层虚拟机(Low Level Virtual Machine)的缩写,是一 ...
- 架构编译器框架系统 LLVM 使用简介
2019独角兽企业重金招聘Python工程师标准>>> LLVM 是什么 LLVM 是 low level virtual machine(底层虚拟机)的简称,它是一个开源的编译器架 ...
- LLVM 编译器和工具链技术
LLVM 编译器和工具链技术 LLVM概述 LLVM项目是模块化和可重用的编译器和工具链技术的集合.尽管名称如此,LLVM与传统虚拟机几乎没有关系.LLVM本身不是首字母缩略词,项目的全名. LLVM ...
- 三段式LLVM编译器
三段式LLVM编译器 目录 概述 LLVM技术生态之编译器 一.传统编译器的设计 二.传统编译器模式的实现 三.LLVM的三段式实现 四.LLVM's Code Representation:LLVM ...
- LLVM | 编译器框架
LLVM 背景 LLVM 项目的创始人为 Chris Lattner,亦是Swift之父.据传作者只是想写一个底层的虚拟机,这也是 LLVM 名字的由来,Low Level Virtual Machi ...
- 编译器(GNU GCC clang llvm)
前言: 很多时候,出现一些类似GNU,GCC,CLANG,LLVM等与编译器有关的名词的时候,都不太清楚它到底是干嘛的,理解这些东西后, 对于xcode中很多配置型的需求修改起来都会得心应手,因此有必 ...
- LLVM代码空间优化(一) 编译器自带的优化选项
最近项目组遇到编译安全固件,超出了r52安全核SRAM自带空间问题.急需要找寻方法优化代码体积(代码段大小+数据段大小+stack+bss段)方法,目前初步分析只有代码段&数据段有优化的可能, ...
- 经典编译器组成(前端+优化器+后端)以及LLVM和Clang简介
目录 1,典型的编译器结构:前端+优化器+后端 2,LLVM 简介 3,Clang简介 1,典型的编译器结构:前端+优化器+后端 一个传统的静态编译器(比如C 编译器)最普遍的设计是分为三个部分,如下 ...
- 详解三大编译器:gcc、llvm 和 clang
传统的编译器通常分为三个部分,前端(frontEnd),优化器(Optimizer)和后端(backEnd). 编译器一般构成 传统的编译器通常分为三个部分,前端(frontEnd),优化器(Opti ...
最新文章
- 世界人口钟实时数据_用数字孪生重新定义智慧城市,美象VR推出MxDATA智慧城市CIM数据可视化平台...
- Longest X 贪心,滑动窗口,前缀和(400)
- 需求规格说明书格式及要求
- heima-Oracle学习-day1
- SAP成都研究院2018年年会之前的技术讲座
- C++primer习题--第1章
- flash和js通讯的伪沙箱安全错误
- idea 一键部署 cloudtoolkit
- TensorFlow tf.expand_dims
- 使用管道和rm命令遇到的问题
- 颠覆三观,内存真能当SSD用了!!!
- Typora自制主题
- 4、docker中设置elasticsearch、kibana用户名密码、修改密码
- 关于家里的宽带和无线wifi路由器的一些选择和配置
- 【Win 10 应用开发】MIDI 音乐合成——音符消息篇
- UmiJS基础+UmiUI安装使用+Mock使用示例+DvaJS案例
- Snell定律(折射定律)之导数的应用
- 盘点国内大数据书籍流派
- Measure()与onMeasure()
- ALNS求MDHVRPTW问题 python实现
热门文章
- 第一课.axis配置和写法入门
- HttpServletResponse中sendError与setStatus的区别
- SSRF攻击实例解析
- Q72:渲染方程(Rendering Equation)
- quartz 2.0持久化到mysql_SpringBoot2.0整合Quartz定时任务(持久化到数据库,更为简单的方式)...
- sqlyog怎么设置默认值_如何使用SQLyog
- linux系统调用劫持隐藏进程,linux 下隐藏进程的一种方法及遇到的坑
- windows mysql 自动备份_windows mysql 自动备份的几种方法总结--岁月博客提供
- php怎么清空cookies,php cookie如何清除
- 重磅︱R+NLP:text2vec包——New 文本分析生态系统 No.1(一,简介)