Uma toolchain de compilação que transforma código C e C++ em WebAssembly para execução em navegadores, Node.js e outros runtimes Wasm.
llvm/llvm-project
Coleção modular de tecnologias para compiladores e toolchains, incluindo o núcleo do LLVM, o frontend Clang para C/C++, libc++ e o linker LLD.
- Estrelas
- 41,146
- Forks
- 19,227
- Issues abertas
- 40,870
- Último commit
- há 1 hora
O que é?
LLVM é um toolkit para criar compiladores otimizadores, otimizadores e ambientes de execução. O componente central do LLVM fornece as bibliotecas, ferramentas e arquivos de cabeçalho necessários para processar representações intermediárias e convertê-las em arquivos objeto, incluindo um assembler, um disassembler, um analisador de bitcode e um otimizador de bitcode.
O projeto também inclui o Clang, um frontend que compila código C, C++, Objective-C e Objective-C++ em bitcode do LLVM e, depois, em arquivos objeto. Outros componentes no mesmo repositório incluem a biblioteca padrão C++ libc++ e o linker LLD.
O repositório é um monorepo desses projetos. Assim, desenvolvedores que criam compiladores, ferramentas para linguagens ou geradores de código podem trabalhar com a infraestrutura compartilhada em um só lugar.
Recursos principais
- 01Fornece uma representação intermediária reutilizável e infraestrutura para geração de código.
- 02Inclui o Clang, um frontend para C, C++, Objective-C e Objective-C++.
- 03Disponibiliza libc++, uma implementação da biblioteca padrão C++.
- 04Inclui o linker LLD e outros componentes de toolchain.
- 05Oferece ferramentas como assembler, disassembler e otimizador de bitcode.
Casos de uso
- Criar um compilador ou gerador de código para uma nova linguagem de programação.
- Compilar projetos em C ou C++ com a toolchain do Clang.
- Escrever passes de otimização sobre a representação intermediária do LLVM.
- Fazer o link de binários nativos com o linker LLD.
Início rápido
- 1
Leia o guia Getting Started para compilar o LLVM a partir do código-fonte
- 2
Obtenha o código-fonte e compile o LLVM
Antes de usar
- Compilar a partir do código-fonte é um trabalho de grande porte, que exige bastante tempo de compilação e espaço em disco.
- O README não informa como instalar por meio de um gerenciador de pacotes; é necessário compilar a partir do repositório.
Tópicos
Perguntas frequentes
- O que é llvm-project?
- Coleção modular de tecnologias para compiladores e toolchains, incluindo o núcleo do LLVM, o frontend Clang para C/C++, libc++ e o linker LLD. LLVM é um toolkit para criar compiladores otimizadores, otimizadores e ambientes de execução. O componente central do LLVM fornece as bibliotecas, ferramentas e arquivos de cabeçalho necessários para processar representações intermediárias e convertê-las em arquivos objeto, incluindo um assembler, um disassembler, um analisador de bitcode e um otimizador de bitcode.
- llvm-project é gratuito? Qual é a licença?
- llvm-project é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- llvm-project ainda é mantido?
- Manutenção ativa. O último commit de llvm-project foi em 22 de out. de 2026.
- Para que posso usar llvm-project?
- Criar um compilador ou gerador de código para uma nova linguagem de programação. Compilar projetos em C ou C++ com a toolchain do Clang. Escrever passes de otimização sobre a representação intermediária do LLVM. Fazer o link de binários nativos com o linker LLD.
- Como instalar llvm-project?
- Leia o guia Getting Started para compilar o LLVM a partir do código-fonte Obtenha o código-fonte e compile o LLVM
- Onde consigo llvm-project?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/llvm/llvm-project
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
A linguagem de programação Go, open source e criada para desenvolver software simples, confiável e eficiente.
Um compilador Go baseado em LLVM para microcontroladores, WebAssembly (WASM/WASI) e ferramentas de linha de comando.
Biblioteca de compilação e otimização em C++ para WebAssembly, com a ferramenta wasm-opt e uma versão para JavaScript (binaryen.js).
Um compilador de JavaScript que transforma a sintaxe das próximas versões da linguagem em código compatível com os ambientes de destino.
Uma linguagem de programação compilada, simples e rápida, para criar software fácil de manter, sem dependências de bibliotecas e com tradução automática de C para V.