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

Also known as Low Level Virtual Machine, LLVM Project

Modulare Compiler-Unterbau-Architektur und virtuelle Maschine

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 · Deutsch

LLVM (früher Low Level Virtual Machine) ist eine modulare Compiler-Unterbau-Architektur mit einem virtuellen Befehlssatz, einer virtuellen Maschine, die einen Hauptprozessor virtualisiert, und einem übergreifend optimierenden Übersetzungskonzept. Kennzeichnend ist unter anderem, dass sämtliche Zeitphasen eines Programms (Laufzeit, Übersetzungszeit, Linkzeit) inklusive der Leerlauf-Phase zur Optimierung herangezogen werden können. Der Zweck ist, einfach eigene Frontends für verschiedene Sprachen zu entwickeln, die die LLVM-Zwischensprache benutzen. Um die Erzeugung des Maschinen- bzw. VM-Codes kümmert sich die LLVM-Bibliothek, die vom Frontend aus aufgerufen wird. Die Entwicklung von LLVM begann im Jahr 2000 unter der Leitung von Chris Lattner und an der Universität von Illinois. Das Projekt wurde ursprünglich als Forschungsarbeit zur Untersuchung dynamischer Kompilierung und Optimierungen entwickelt. Heute beheimatet es eine Vielzahl an Unterprojekten und Erweiterungen aus der aktuellen Compilerforschung und -entwicklung. LLVM ist als freie Software unter der University of Illinois/NCSA Open Source License verfügbar, die der 3-Klausel-BSD-Lizenz und der MIT-Lizenz ähnelt. „LLVM“ ist der volle Name des Projekts und kein Akronym, wird aber oft als „Low Level Virtual Machine“ angegeben. Dies sorgt zuweilen für Verwirrung, da LLVM auch für Virtualisierung genutzt werden kann. Mit der Zeit wurde LLVM ein Rahmenprojekt, in dem verschiedene Compiler- und Low-Level-Techniken enthalten sind. Inzwischen ist LLVM die Marke für das eigentliche Projekt, die LLVM-Zwischensprache (LLVM-IR), den LLVM-Debugger (LLDB), die LLVM-Standard-C++-Bibliothek (libc++) etc.

Abstract from DBpedia / Wikipedia · CC BY-SA

Gallery (2)