编译器架构 LLVM

编译器架构 LLVM

UIUC/MIT
C/C++
跨平台
2008-11-02

LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。LLVM是伊利诺伊大学的一个研究项目,提供一个现代化的,基于SSA的编译策略能够同时支持静态和动态的任意编程语言的编译目标。自那时以来,已经成长为LLVM的主干项目,由不同的子项目组成,其中许多正在生产中使用的各种商业和开源的项目,以及被广泛用于学术研究。

LLVM 是 Illinois 大学发起的一个开源项目,和之前为大家所熟知的JVM 以及 .net Runtime这样的虚拟机不同,这个虚拟系统提供了一套中立的中间代码和编译基础设施,并围绕这些设施提供了一套全新的编译策略(使得优化能够在编译、连接、运行环境执行过程中,以及安装之后以有效的方式进行)和其他一些非常有意思的功能。

对于普通的开发人员来说,LLVM计划提供了越来越多的可以使用、编译器以外的其他工具。例如代码静态检查工具 LLVM/Clang Static Analyzer,是一个 Clang 的子项目,能够使用同样的 Makefile 生成 HTML 格式的分析报告

加载中

评论(8)

轻风叶语
轻风叶语
大家对LLVM的评论是在3个月前,我来凑个热闹
黔中伯爵
黔中伯爵
大家对LLVM的评论是在5年前,我来凑个热闹
钛元素
钛元素
大家对LLVM的评论是在2年前,我来凑个热闹
htfy96
htfy96
意义重大的东西,让代码解析越来越容易,语法分析不再是开发工具设计的难题 LLVM
-_
-_
LLVM官网http://llvm.org貌似挂了
红薯
红薯
刚才看到动弹里有人说 LLVM 3.3 可以下载了,官网上没有啊
craigtao
craigtao
大家好,毕业设计想做和LLVM相关的,大家给点建议,或者有什么学习的资料,谢谢! LLVM
Jiazi
Jiazi
在Ubuntu环境下使用clang工具会出现与系统不兼容的问题,怎么回事呀? LLVM

三年过去了,LLVM 仍然没有完成开源许可证的更换

早在2015年,LLVM 社区就有发起对代码进行重新授权的提案,希望能从现有的 NCSA 许可证更改为 Apache 2.0 。这三年内,关于许可证更换的可行性一直备受争议。 NCSA 是基于 MIT/X11 和 BSD 3 ...

10/20 08:06

LLVM 7.0.0 发布,提升性能分析能力

LLVM 7.0.0 发布了,LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用,它能够进行程序语言的编译优化、链接...

09/20 07:40

LLVM 5.0.2 发布,缓解 Spectre 变种漏洞

原计划于3月底发布的 LLVM 5.0.2 直到 5 月中旬这个版本才实现。 这个新的 LLVM 5.0 稳定性更新的重要性在于它包含了针对 Specter Variant Two 缓解的编译器端 Retpoline 支持。 这已经在 LL...

05/18 08:28

LLVM 开发者退出事件持续发酵,Swift 语言之父回应

LLVM 资深开发者 Rafael 因不满社区变化宣布与项目分道扬镳的事件近日愈演愈烈,其公开邮件被广泛转发,并在 Twitter、Hacker News 和 Reddit 上引起了一波程序员是否应该要求彼此相互尊重的...

05/08 08:26

因不满社区变化,LLVM 资深开发者发长邮件宣布退出

Rafael Avila de Espindola ,LLVM 编译器贡献排名第五的资深开发者,日前发布了一封长邮件宣布已决定与该项目分道扬镳。 邮件具体内容 Rafael 自 2006 年以来已为 LLVM 贡献了超过 4,300 个...

05/05 08:28

英特尔 Tremont CPU 将支持 LLVM 的 Clang 编译器

本月早些时候,英特尔 ISA 文档指出了代号为“Tremont”的新型 CPU 微架构,我们已经看到一些内核补丁也提到了英特尔 Tremont,现在 Tremont 微架构表示将会支持 LLVM 的 Clang 编译器。 英特...

04/18 08:08

新 Red Hat 编译器工具箱:Clang、LLVM、GCC 等

为了让开发者用到最新的、稳定版本的开发工具,Red Hat 每年会发布两次编译器工具箱、脚本语言、开源数据库等工具的更新。这些产品被封装为 Red Hat 软件集合(脚本语言、开源数据库、Web工具...

04/13 08:10

LLVM/Clang 6.0 和 5.0 的编译器 Benchmark 测试对比

LLVM/Clang 6.0 和 5.0 的编译器 Benchmark 测试这次会在四个不同的系统上进行,包括了 Intel/AMD Linux 平台,其中 Intel 和 AMD 各占两个。 四个系统都运行了 Ubuntu Linux x86_64,Intel...

03/20 08:32

LLVM 5.0.2 计划 3 月底发布 可缓解 Spectre 变种漏洞

LLVM 6.0 已于本月早些时候发布,它使用了 Retpoline 编码技术,可有效缓解 Spectre V2 的变种漏洞。现在,开发团队表示 LLVM 5.0.2 也即将推出,以支持其之前的稳定版系列。 红帽公司的 To...

03/19 07:58

LLVM/Clang 6.0.0 发布:改进的优化和新的编译器警告

LLVM/Clang 6.0.0 已正式发布,上个大版本是在半年前发布的 5.0.0 版。LLVM 现在的版本方案为,每发布一个大版本将增加一个版本号,小版本号变化主要是同一分支的更新。 这个版本是社区在过去...

03/09 08:03

没有更多内容

加载失败,请刷新页面

6
回答
代码转换是一座金矿

计算机语言的世界有一个奇怪的现象:不同的语言建立的国度彼此能够沟通的东西太少: 用 Java 写的函数,模块,框架,如果想在 Go 应用环境中使用,那么就...

2016/09/08 16:27
5
回答
Object-c和C++哪个更难一些?

请问用过C++和Object-c的前辈们,Object和C++哪个学习和使用起来更难一些?另外苹果推出了swift,这是要放弃oc吗?

2015/05/08 19:27
6
回答
swift 语言在 jvm上实现 是否可行?

swift语言是基于llvm实现的,是否可以用jvm来实现呢,ARC有那么多限制,何必不二八原则呢,把jvm的gc也用上。只是一些不成熟的想法欢迎讨论。 ...

2014/06/11 08:40
3
回答
LLVM在Windows和Linux下哪些IDE支持它?

最近开始吃苹果。但是苹果是公司的,回家不能吃。自己家里想学Objective-C就没辙了。gcc虽然支持Objective-C,但是还是更想用LLVM试试...

2012/06/14 12:57
6
回答
在Windows下面進行LLVM與CLANG的安裝

需要環境 本文假設你已經有下面的工具安裝在系統中,並且可以正確的使用。 SVN client (這是為了抓最新的llvm與clang的source cod...

2012/11/26 21:29
3
回答
为什么gcc和llvm会混在一起?

@踏雁寻花 你好,想跟你请教个问题:为什么gcc和llvm会混在一起?

2012/11/25 11:26
1
回答
ubuntu下使用llvm库出现未定义引用错误

我在Ubuntu(13.04)下通过svn手动编译安装了 llvm (3.2,svn版本191651)。makefile配置为 --enable-opti...

2013/09/30 12:49
13
回答
关于Windows下的Clang的编译环境设置

在Windows下配置LLVM-GCC编译链,可以编译C程序,也可以编译C++程序,但是无法解析C++ STL没有后缀名的头文件,怎么解决?

2012/04/04 01:30
3
回答
如何让clang支持C\C++

新手求教,我在官网的svn上http://llvm.org/svn/llvm-project/libcxx/trunk/include/ libC++这个...

2013/02/20 17:02
3
回答
在windows下编译llvm出现问题
yy.mailb 的回答 2013/01/07 07:15
最佳答案
可能是Python版本的问题, Python 2.X和3.X是不兼容的,建议去clang的官网看下编译环境需求说明

没有更多内容

加载失败,请刷新页面

LLVM初学简单教程

1,下载相关源码包: wget -c http://llvm.org/releases/2.7/llvm-2.7.tgz wget -c http://llvm.org/releases/2.7/clang-2.7.tgz wget -c http://llvm.org/releases/2.7/llvm-gcc-4.2-2.7.s...

2012/11/25 00:23
12.7K
3
llvm每日谈之一 llvm是什么

作者:snsn1984 写在前面的话: 最近接触llvm比较多,在这个上面花了不少的时间。感 觉llvm要完全理解透是个很不容易的事情,需要在学习过程中好好的整理下自己的思路。刚好又阅读了开源项目...

2012/10/31 17:57
3.2K
0
LLVM每日谈之六 LLVM的源码结构

作者:snsn1984 这里简单介绍下LLVM的源码结构,让大家知道LLVM的每个文件夹都放的是什么内容。 参考文档: http://llvm.org/docs/GettingStarted.html#getting-started llvm/examples 这个目...

2012/11/11 09:10
828
0
parse ast's makefile

CXX = g++ CFLAGS = -fno-rtti -std=c++11 LLVM_SRC_PATH = /home/lyy/llvm LLVM_BUILD_PATH =/home/lyy/build LLVM_BIN_PATH = $(LLVM_BUILD_PATH)/bin #LLVM_CONFIG_COMMAND=$(shell llvm-...

2015/04/03 20:18
23
0
LLVM每日谈之十 LLVM Test简介

作者:snsn1984 就像很多优秀的软件都有自己的测试框架一样,LLVM也有自己的测试框架。LLVM的测试主要分为两 部分:regression tests 和 whole programs。其中, regression tests 主要位于L...

2013/02/28 11:24
635
0
LLVM是什么(转)

llvm是low level virtual machine的简称,其实是一个编译器框架。llvm随着这个项目的不断的发展,已经无法完全的代表这个项目了,只是这种叫法一直延续下来。 llvm是一个开源的项目。它最早的...

2013/04/17 21:36
129
0
LLVM

LLVM,命名最早源自于底层虚拟机(Low Level Virtual Machine)的缩写[1]。它是一个编译器的基础建设,以C++写成。它是为了任意一种编程语言写成的程序,利用虚拟技术,创造出编译时期,链结...

2015/02/03 11:19
42
0
七天LLVM零基础入门(Linux版本)------第二天

作者:snsn1984 在第一天的时候,我们简单了解了llvm和clang。今天我们继续对LLVM进行学习。 第一步:学会如何查找LLVM的文档 LLVM的文档很多,也很全面,是开源软件中文档比较全面并且比较细...

2013/02/22 09:58
2.1K
0
架构编译器框架系统 LLVM 使用简介

LLVM 是 low level virtual machine(底层虚拟机)的简称,它是一个开源的编译器架构,已经被成功应用到多个应用领域。LLVM 的主要作用是它可以作为多种语言的后端,它可以提供可编程语言无关...

2015/08/20 15:46
1K
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部