LLVM
| LLVM | |
|---|---|
| Desenvolvedor | LLVM Developer Group |
| Lançamento inicial | 2003 (22–23 anos) |
| Lançamento estável | 22.1.0
/ 24 de fevereiro de 2026[1] |
| Versão beta | 18.1.0-rc4
/ 27 de fevereiro de 2024[2] |
| Repositório | |
| Escrito em | C++ |
| Plataforma | Multiplataforma |
| Tipo | Compilador |
| Licença | NCSA |
| Website | llvm |
LLVM (anteriormente Low Level Virtual Machine) é uma infraestrutura de compilador escrita em C++, desenvolvida para otimizar em tempos de compilação, ligação e execução de programas escritos em linguagens de programação variadas. Implementada originalmente para C e C++, sua arquitetura permitiu a expansão para outras linguagens posteriormente, incluindo Objective-C, Fortran, Ada, Haskell, bytecode Java, Python, Ruby, ActionScript, GLSL, Julia, Kotlin entre outras.
O projeto LLVM começou em 2000 na Universidade de Illinois em Urbana-Champaign sob direção de Vikram Adve e Chris Lattner. Visava desenvolver uma infraestrutura de pesquisa para investigar técnicas de compilação dinâmica para linguagens estáticas e dinâmicas. A Apple Inc. contratou Lattner que formou um grupo de desenvolvedores no intuito de trabalhar no LLVM para sistemas próprios;[3] atualmente, o LLVM é parte integral das ferramentas de desenvolvimento para macOS e iOS.
Descrição
O LLVM pode prover camadas intermediárias de um compilador, lendo a representação intermediária de um compilador e retornando outra representação otimizada, que pode ser então convertida e ligada em código de montagem para determinada plataforma. Ele também consegue gerar código binário otimizado em tempo de execução.
Sua arquitetura é independente de linguagem, conjunto de instruções ou sistema de tipo. Cada instrução é definida numa forma padronizada, permitindo a análise de dependência da árvore de execução do código. Toda forma de conversão de tipo é feita por ele através de instruções cast. A infraestrutura fornece alguns tipos básicos, como ponteiros e estruturas.
Ver também
- GNU lightning
- GNU Compiler Collection
- DotGNU
- clang
- Pure (linguagem de programação)
- OpenCL
- Adobe Alchemy
Referências
- ↑ «Release 22.1.0». 24 de fevereiro de 2026. Consultado em 4 de março de 2026
- ↑ Tom Stellard (27 de fevereiro de 2024). «LLVM 18.1.0-rc4 has been tagged». Consultado em 1 de abril de 2024
- ↑ Adam Treat (19 de fevereiro de 2005). «mkspecs and patches for LLVM compile of Qt4». Qt4-preview-feedback (Lista de grupo de correio). Arquivado do original em 4 de outubro de 2011
Ligações externas
- «Página oficial» (em inglês)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.