LLVM

来自开放百科 - 灰狐
2022年6月10日 (五) 13:47Allen (讨论 | 贡献)的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到: 导航, 搜索
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

文档

图集

链接

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

变换
操作
导航
工具箱