欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
LLVM
来自开放百科 - 灰狐
(版本间的差异)
小 (→文档) |
小 |
||
第1行: | 第1行: | ||
{{SeeWikipedia|Low Level Virtual Machine}} | {{SeeWikipedia|Low Level Virtual Machine}} | ||
+ | LLVM | ||
+ | |||
+ | [[文件:LLVM-Primer.png|right]] | ||
+ | [[image:llvm-c-cpp-compiler.png|LLVM]] | ||
+ | |||
+ | ==简介== | ||
LLVM(Low Level Virtual Machine)底层虚拟机,是一个开源(BSD)编译器的基础设施,使用C++编写。它是为了任意一种编程语言写成的程序,利用虚拟技术,创造出编译时,链结时,运行时以及“闲置时”的最佳化。它最早是以 C/C++为处理对象,目前它支持了包括[[Objective-C]], [[Fortran]], [[Ada]], [[Haskell]], Java bytecode, [[Python]], [[Ruby]], [[ActionScript]], [[GLSL]]以及其他语言。 | LLVM(Low Level Virtual Machine)底层虚拟机,是一个开源(BSD)编译器的基础设施,使用C++编写。它是为了任意一种编程语言写成的程序,利用虚拟技术,创造出编译时,链结时,运行时以及“闲置时”的最佳化。它最早是以 C/C++为处理对象,目前它支持了包括[[Objective-C]], [[Fortran]], [[Ada]], [[Haskell]], Java bytecode, [[Python]], [[Ruby]], [[ActionScript]], [[GLSL]]以及其他语言。 | ||
− | [[文件:llvm-three-phase-design.png | + | [[文件:llvm-three-phase-design.png]] |
==新闻== | ==新闻== | ||
第46行: | 第52行: | ||
*[http://www.infoq.com/cn/news/2017/05/azul-falcon Azul Systems推出Falcon,一个基于LLVM的新的Java即时编译器] | *[http://www.infoq.com/cn/news/2017/05/azul-falcon Azul Systems推出Falcon,一个基于LLVM的新的Java即时编译器] | ||
+ | [[category:LLVM]] | ||
[[category:linux]] | [[category:linux]] | ||
[[category:FreeBSD]] | [[category:FreeBSD]] |
2021年12月5日 (日) 11:29的版本
您可以在Wikipedia上了解到此条目的英文信息 LLVM Thanks, Wikipedia. |
LLVM
目录 |
简介
LLVM(Low Level Virtual Machine)底层虚拟机,是一个开源(BSD)编译器的基础设施,使用C++编写。它是为了任意一种编程语言写成的程序,利用虚拟技术,创造出编译时,链结时,运行时以及“闲置时”的最佳化。它最早是以 C/C++为处理对象,目前它支持了包括Objective-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL以及其他语言。
新闻
- 因不满社区变化,LLVM 资深开发者发长邮件宣布退出 (2018.05)
简介
LLVM采用University of Illinois/NCSA Open Source License, or UIUC 许可证,基于MIT/X11 license and the 3-clause BSD license,兼容GPL。
功能
The LLVM compiler system for C and C++ includes the following:
- Front-ends for C, C++, Objective-C, Fortran, etc based on the GCC 4.2 parsers. They support the ANSI-standard C and C++ languages to the same degree that GCC supports them. Additionally, many GCC extensions are supported.
- A stable implementation of the LLVM instruction set, which serves as both the online and offline code representation, together with assembly (ASCII) and bytecode (binary) readers and writers, and a verifier.
- A powerful pass-management system that automatically sequences passes (including analysis, transformation, and code-generation passes) based on their dependences, and pipelines them for efficiency.
- A wide range of global scalar optimizations.
- A link-time interprocedural optimization framework with a rich set of analyses and transformations, including sophisticated whole-program pointer analysis, call graph construction, and support for profile-guided optimizations.
- An easily retargettable code generator, which currently supports X86, X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, and IA-64.
- A Just-In-Time (JIT) code generation system, which currently supports X86, X86-64, PowerPC and PowerPC-64.
- Support for generating DWARF debugging information.
- A C back-end useful for testing and for generating native code on targets other than the ones listed above.
- A profiling system similar to gprof.
- A test framework with a number of benchmark codes and applications.
- APIs and debugging tools to simplify rapid development of LLVM components.
安装
port search llvm sudo port install llvm-3.3
项目
- Cilk Plus/LLVM
- LLILC is an LLVM based MSIL Compiler
文档
- LLVM and Clang: Next Generation Compiler Technology
- Embedded FreeBSD on a five-core RISC-V processor using LLVM
链接
分享您的观点