Una cadena de herramientas de compilación que convierte código C y C++ en WebAssembly para ejecutarlo en navegadores, Node.js y otros runtimes de Wasm.
llvm/llvm-project
Colección modular de tecnologías para compiladores y cadenas de herramientas, que incluye el núcleo de LLVM, el frontend Clang para C/C++, libc++ y el linker LLD.
- Estrellas
- 41,146
- Forks
- 19,227
- Issues abiertos
- 40,870
- Último commit
- hace 1 hora
¿Qué es?
LLVM es un conjunto de herramientas para crear compiladores optimizadores, optimizadores y entornos de ejecución. El componente central de LLVM proporciona las bibliotecas, herramientas y archivos de encabezado necesarios para procesar representaciones intermedias y convertirlas en archivos objeto. Incluye un ensamblador, un desensamblador, un analizador de bitcode y un optimizador de bitcode.
El proyecto también incluye Clang, un frontend que compila código C, C++, Objective-C y Objective-C++ en bitcode de LLVM y, después, en archivos objeto. Otros componentes del mismo repositorio son la biblioteca estándar de C++ libc++ y el linker LLD.
El repositorio es el monorepo de estos proyectos, por lo que quienes desarrollan compiladores, herramientas para lenguajes o generadores de código pueden trabajar con la infraestructura compartida en un solo lugar.
Funciones clave
- 01Proporciona una infraestructura reutilizable de representación intermedia y generación de código.
- 02Incluye Clang, un frontend para C, C++, Objective-C y Objective-C++.
- 03Incluye libc++, una implementación de la biblioteca estándar de C++.
- 04Incluye el linker LLD y otros componentes de la cadena de herramientas.
- 05Ofrece herramientas como un ensamblador, un desensamblador y un optimizador de bitcode.
Casos de uso
- Crear un compilador o generador de código para un nuevo lenguaje de programación.
- Compilar proyectos de C o C++ con la cadena de herramientas de Clang.
- Escribir pases de optimización sobre la representación intermedia de LLVM.
- Enlazar binarios nativos con el linker LLD.
Inicio rápido
- 1
Lee la guía Getting Started para compilar LLVM desde el código fuente
- 2
Obtén el código fuente y compila LLVM
Antes de usarlo
- Compilar desde el código fuente es una tarea considerable que requiere mucho tiempo de compilación y espacio en disco.
- El README no incluye instrucciones de instalación mediante un gestor de paquetes; tendrás que compilarlo desde el repositorio.
Temas
Preguntas frecuentes
- ¿Qué es llvm-project?
- Colección modular de tecnologías para compiladores y cadenas de herramientas, que incluye el núcleo de LLVM, el frontend Clang para C/C++, libc++ y el linker LLD. LLVM es un conjunto de herramientas para crear compiladores optimizadores, optimizadores y entornos de ejecución. El componente central de LLVM proporciona las bibliotecas, herramientas y archivos de encabezado necesarios para procesar representaciones intermedias y convertirlas en archivos objeto. Incluye un ensamblador, un desensamblador, un analizador de bitcode y un optimizador de bitcode.
- ¿llvm-project es gratuito? ¿Qué licencia tiene?
- llvm-project es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿llvm-project sigue mantenido?
- Mantenimiento activo. El último commit de llvm-project fue el 22 oct 2026.
- ¿Para qué puedo usar llvm-project?
- Crear un compilador o generador de código para un nuevo lenguaje de programación. Compilar proyectos de C o C++ con la cadena de herramientas de Clang. Escribir pases de optimización sobre la representación intermedia de LLVM. Enlazar binarios nativos con el linker LLD.
- ¿Cómo se instala llvm-project?
- Lee la guía Getting Started para compilar LLVM desde el código fuente Obtén el código fuente y compila LLVM
- ¿Dónde consigo llvm-project?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/llvm/llvm-project
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Go, un lenguaje de programación de código abierto para crear software sencillo, confiable y eficiente.
Un compilador de Go basado en LLVM que genera código para microcontroladores, WebAssembly (WASM/WASI) y herramientas de línea de comandos.
Biblioteca de compilación y optimización en C++ para WebAssembly, con la herramienta wasm-opt y una versión para JavaScript (binaryen.js).
Un compilador de JavaScript que transforma la sintaxis de nueva generación en código compatible con los entornos de destino.
Lenguaje de programación compilado, sencillo y rápido, para crear software fácil de mantener, sin dependencias de bibliotecas y con traducción automática de C a V.