LLVM

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(安装)
(未显示1个用户的7个中间版本)
第1行: 第1行:
{{SeeWikipedia|Low Level Virtual Machine}}
+
{{SeeWikipedia}}
  
 
LLVM
 
LLVM
  
[[文件:LLVM-Primer.png|right]]
+
[[文件:DragonSmall.png|right]]
[[image:llvm-c-cpp-compiler.png|right]]
+
[[文件:LLVM-Logo-Derivative-1.png|right]]
 +
[[文件:LLVM-Logo-Derivative-4.png|right]]
  
 
==简介==
 
==简介==
 
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 采用 University of Illinois/NCSA Open Source License, or UIUC 许可证,基于MIT/X11 license and the 3-clause BSD license,兼容GPL。
  
 
[[文件:llvm-three-phase-design.png]]  
 
[[文件:llvm-three-phase-design.png]]  
第13行: 第16行:
 
==新闻==
 
==新闻==
 
*[https://www.oschina.net/news/95790/rafael-leacing-llvm 因不满社区变化,LLVM 资深开发者发长邮件宣布退出] (2018.05)
 
*[https://www.oschina.net/news/95790/rafael-leacing-llvm 因不满社区变化,LLVM 资深开发者发长邮件宣布退出] (2018.05)
 
==简介==
 
LLVM采用University of Illinois/NCSA Open Source License, or UIUC 许可证,基于MIT/X11 license and the 3-clause BSD license,兼容GPL。
 
  
 
==版本==
 
==版本==
第37行: 第37行:
 
* APIs and debugging tools to simplify rapid development of LLVM components.
 
* APIs and debugging tools to simplify rapid development of LLVM components.
  
==安装==
+
==指南==
 
===Debian===  
 
===Debian===  
[https://apt.llvm.org/ LLVM Debian/Ubuntu nightly packages]  
+
[https://apt.llvm.org/ LLVM Debian/Ubuntu nightly packages]
 +
 
 +
安装完,符号链接下。
 +
sudo ln -s /usr/bin/clang-13 /usr/bin/clang
 +
sudo ln -s /usr/bin/clang++-13 /usr/bin/clang++
 +
clang --version
  
 
===macOS===
 
===macOS===
第46行: 第51行:
  
 
==项目==
 
==项目==
 +
*[https://github.com/topics/llvm LLVM GitHub Topics]
 
*[https://github.com/sdiehl/kaleidoscope Haskell LLVM JIT Compiler Tutorial] [https://www.stephendiehl.com/llvm/ Implementing a JIT Compiled Language with Haskell and LLVM]
 
*[https://github.com/sdiehl/kaleidoscope Haskell LLVM JIT Compiler Tutorial] [https://www.stephendiehl.com/llvm/ Implementing a JIT Compiled Language with Haskell and LLVM]
 
*[http://cilkplus.github.io/ Cilk Plus/LLVM]
 
*[http://cilkplus.github.io/ Cilk Plus/LLVM]
 
*[https://github.com/dotnet/llilc LLILC] is an LLVM based MSIL Compiler
 
*[https://github.com/dotnet/llilc LLILC] is an LLVM based MSIL Compiler
 +
*[https://github.com/Evian-Zhang/llvm-ir-tutorial LLVM IR入门指南]
 +
*[https://github.com/emscripten-core/emscripten Emscripten] An LLVM-to-[[WebAssembly]] [[Compiler]]
 +
*[https://dragonegg.llvm.org/ DragonEgg] Using LLVM as a [[GCC]] backend
  
 
==文档==
 
==文档==
 
*[http://docs.huihoo.com/bsdcan/2008/LLVM-and-Clang-Next-Generation-Compiler-Technology.pdf LLVM and Clang: Next Generation Compiler Technology]
 
*[http://docs.huihoo.com/bsdcan/2008/LLVM-and-Clang-Next-Generation-Compiler-Technology.pdf LLVM and Clang: Next Generation Compiler Technology]
 
*[https://papers.freebsd.org/2019/fosdem/bennett-riscv_llvm/ Embedded FreeBSD on a five-core RISC-V processor using LLVM]
 
*[https://papers.freebsd.org/2019/fosdem/bennett-riscv_llvm/ Embedded FreeBSD on a five-core RISC-V processor using LLVM]
 +
*[https://github.com/zy445566/llvm-guide-zh LLVM 入门教程]
 +
 +
==图集==
 +
<gallery>
 +
image:LLVM-New-Logo.png|new logo
 +
image:dragonegg.png|DragonEgg
 +
image:LLVM-Primer.png|LLVM Primer
 +
image:llvm-c-cpp-compiler.png|LLVM
 +
</gallery>
  
 
==链接==
 
==链接==

2022年1月19日 (三) 09:44的版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 LLVM Thanks, Wikipedia.

LLVM

DragonSmall.png
LLVM-Logo-Derivative-1.png
LLVM-Logo-Derivative-4.png

目录

简介

LLVM(Low Level Virtual Machine)底层虚拟机,是一个开源(BSD)编译器的基础设施,使用C++编写。它是为了任意一种编程语言写成的程序,利用虚拟技术,创造出编译时,链结时,运行时以及“闲置时”的最佳化。它最早是以 C/C++为处理对象,目前它支持了包括Objective-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL以及其他语言。

LLVM 采用 University of Illinois/NCSA Open Source License, or UIUC 许可证,基于MIT/X11 license and the 3-clause BSD license,兼容GPL。

Llvm-three-phase-design.png

新闻

版本

  • 13
  • 12
  • 11

功能

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.

指南

Debian

LLVM Debian/Ubuntu nightly packages

安装完,符号链接下。

sudo ln -s /usr/bin/clang-13 /usr/bin/clang
sudo ln -s /usr/bin/clang++-13 /usr/bin/clang++
clang --version

macOS

port search llvm
sudo port install llvm-3.3

项目

文档

图集

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱