LLVM

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(安装)
(项目)
 
(未显示1个用户的16个中间版本)
第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]]  
  
 
==新闻==
 
==新闻==
 +
*[http://planet.clang.org/ planet clang]
 
*[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。
 
  
 
==版本==
 
==版本==
第21行: 第22行:
 
*12
 
*12
 
*11
 
*11
 +
 +
==C/C++==
 +
*[https://clang.llvm.org/c_status.html C Status]
 +
*[https://libcxx.llvm.org/Status/Cxx2b.html libc++ C++2b Status]
 +
*[https://libcxx.llvm.org/Status/Cxx20.html libc++ C++20 Status]
 +
*[https://libcxx.llvm.org/Status/Cxx17.html libc++ C++17 Status]
 +
*[https://libcxx.llvm.org/Status/Cxx14.html libc++ C++14 Status]
  
 
==功能==
 
==功能==
第37行: 第45行:
 
* 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行: 第59行:
  
 
==项目==
 
==项目==
 +
[[文件:LLVM-logo.png|right|LLVM]]
 +
[[文件:Vellvm-logo.jpg|right|Vellvm]]
 +
[[文件:MinGW-w64-long.png|right|MinGW-w64]]
 +
*[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
 +
*[https://github.com/klee/klee KLEE Symbolic Execution Engine]
 +
*[https://lfortran.org/ LFortran] Modern interactive LLVM-based [[Fortran]] [[compiler]]
 +
*[https://github.com/vellvm Vellvm] Verifying the LLVM
 +
*[https://www.mingw-w64.org/ MinGW-w64]
 +
*[https://llvm.org/ProjectsWithLLVM/ Projects built with LLVM]
  
 
==文档==
 
==文档==
 
*[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
 +
image:triton-architecture.png|Triton
 +
</gallery>
  
 
==链接==
 
==链接==

2024年10月26日 (六) 15:48的最后版本

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

[编辑] C/C++

[编辑] 功能

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

[编辑] 项目

LLVM
Vellvm
MinGW-w64

[编辑] 文档

[编辑] 图集

[编辑] 链接

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

变换
操作
导航
工具箱