Skip to content
LLVM
EntityQ223490· pop 32· linked from 322 articles

Also known as Low Level Virtual Machine, LLVM Project

инфраструктура для создания компиляторов различных языков программирования

Key facts

Software.name
LLVM
Software.logo
LLVM logo.png
Software.logo caption
The LLVM logo, a stylized wyvern
Software.developer
LLVM Developer Group
Software.programming language
C++
Software.operating system
Cross-platform
Software.genre
Compiler
Software.license
Apache License 2.0 with LLVM Exceptions (v9.0.0 or later) Legacy license: UIUC (BSD-style)

via Wikipedia infobox

Source code

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments. The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer. C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM. Other components include: the libc++ C++ standard library, the LLD linker, and more. Consult the Getting Started with LLVM page for information on building and running LLVM. Join the LLVM Discourse forums, Discord chat, LLVM Office Hours or Regular sync-ups. The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.

Excerpt from the source-code README · 2,242 chars · not written by Vinony

Wikidata facts

Designed by
Chris Lattner
Official website
llvm.org
Show 11 more facts
software version identifier
22.1.4
programmed in
assembly language
partially coincident with
Emscripten
social media followers
15100
inception
2003-10-24
operating system
illumos
source code repository URL
github.com/llvm/llvm-project
Commons category
LLVM
official forum URL
discourse.llvm.org
IRC channel URL
irc://irc.oftc.net/llvm
official blog URL
blog.llvm.org
Sources (7)

via Wikidata · CC0

Article · Русский

LLVM (ранее Low Level Virtual Machine) — проект программной инфраструктуры для создания компиляторов и сопутствующих им утилит. Состоит из набора компиляторов из языков высокого уровня (так называемых «фронтендов»), системы оптимизации, интерпретации и компиляции в машинный код. В основе инфраструктуры используется RISC-подобная платформонезависимая система кодирования машинных инструкций (байткод LLVM IR), которая представляет собой высокоуровневый ассемблер, с которым работают различные преобразования. Написан на C++, обеспечивает оптимизации на этапах компиляции, компоновки и исполнения. Изначально в проекте были реализованы компиляторы для языков Си и C++ при помощи фронтенда Clang, позже появились фронтенды для множества языков, в том числе: ActionScript, Ада, C#, Common Lisp, Crystal, CUDA, D, Delphi, Dylan, Fortran, Graphical G Programming Language, , Haskell, Java (байткод), JavaScript, Julia, Kotlin, Lua, Objective-C, OpenGL Shading Language, Ruby, Rust, Scala, Swift, Xojo. LLVM может создавать машинный код для множества архитектур, в том числе ARM, x86, x86-64, PowerPC, MIPS, SPARC, RISC-V и других (включая GPU от Nvidia и AMD). Некоторые проекты имеют собственные LLVM-компиляторы (например LLVM-версия GCC), другие используют инфраструктуру LLVM, например таков Glasgow Haskell Compiler. Разработка начата в 2000 году в Университете Иллинойса. К середине 2010-х годов LLVM получил широкое распространение в индустрии: использовался, в том числе, в компаниях Adobe, Apple и Google. В частности, на LLVM основана подсистема OpenGL в Mac OS X 10.5, а iPhone SDK использует препроцессор (фронтенд) GCC с бэкэндом на LLVM. Apple и Google являются одними из основных спонсоров проекта, а один из основных разработчиков — Крис Латтнер — 11 лет проработал в Apple (с 2017 года — в Tesla Motors, с 2020 года — в разработчике процессоров и микроконтроллеров на архитектуре RISC-V SiFive).

Abstract from DBpedia / Wikipedia · CC BY-SA

Gallery (2)