LLVM
Sign in to saveAlso known as Low Level Virtual Machine, LLVM Project
compilatore per diversi linguaggi di programmazione
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
- Instance of
- optimizing compiler
- 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
via Wikidata · CC0
Article · Italiano
LLVM (in precedenza acronimo di Low Level Virtual Machine, macchina virtuale di basso livello) è un'infrastruttura di compilazione, scritta in C++, progettata per l'ottimizzazione di programmi in fase di compilazione, di linking, di esecuzione e di non utilizzo. Il progetto LLVM è stato avviato nel 2000 all'Università dell'Illinois. LLVM attualmente supporta la compilazione di programmi in linguaggio C, C++, Objective C, Ada, Rust, Julia e Fortran, usando dei front-end derivati dalle versioni 4.0.1. e 4.2 del compilatore GNU Compiler Collection (GCC). Un front-end alternativo per linguaggi di programmazione simili al C è attualmente in sviluppo sotto il nome di clang. Usando LLVM, il programmatore può creare una macchina virtuale per linguaggi che la richiedono (ad esempio Java), un compilatore per una architettura specifica e software di ottimizzazione del codice indipendenti dal tipo di linguaggio utilizzato o dalla piattaforma. La rappresentazione intermedia LLVM (IR) è indipendente sia dal linguaggio che dalla architettura; essa si interpone tra il codice sorgente in un dato linguaggio e un generatore di codice per una specifica architettura. LLVM include il supporto all'ottimizzazione del codice inter-procedurale e compilatori sia statici che Just-in-time. Ha diversi componenti che si occupano delle diverse fasi di sviluppo; tra essi, si ricordano i frontend per i linguaggi bytecode di Java, CIL, Python, Julia. Il compilatore just-in-time LLVM è in grado di ottimizzare parti di programma in fase di esecuzione, ed è quindi utile nei casi in cui si voglia valutare l'efficienza di una singola funzione. Grazie a questa sua particolarità, esso viene usato nella pipeline OpenGL di Mac OS X Leopard per supportare alcune funzionalità non presenti a livello hardware. È il compilatore di default dell'IDE Xcode a partire dalla versione 4.2.
Abstract from DBpedia / Wikipedia · CC BY-SA