LLVM 20.1 y Clang 20 llegan con soporte oficial para SPIR-V y nuevas CPUs AMD e Intel

El 4 de marzo de 2025, el proyecto LLVM lanzó su versión 20.1, acompañada de Clang 20. Llegó una semana antes de lo previsto porque no se encontraron bugs bloqueantes durante el proceso de release. Eso no ocurre siempre, así que es una buena señal sobre el estado del código.

SPIR-V pasa de experimental a estable

El backend SPIR-V llevaba varios ciclos marcado como experimental. En LLVM 20.1 pasa a ser un objetivo de primera clase. SPIR-V es el formato de representación intermedia que usan Vulkan y OpenCL para los shaders y las cargas de computación en GPU. Que LLVM lo soporte de forma estable tiene implicaciones directas para herramientas que compilan C, C++ o Rust a GPU sin depender de compiladores propietarios. Para quien desarrolla shaders o trabaja con computación paralela heterogénea, es un cambio con peso real.

Nuevas arquitecturas soportadas

LLVM 20.1 añade soporte para AMD GFX950, la nueva generación de GPU de AMD. En el lado de Intel, se incorporan las instrucciones AMX-FP8 y AMX-AVX512, junto con soporte para el conjunto AVX10.2. Estas extensiones apuntan a cargas de trabajo de inteligencia artificial y computación de alto rendimiento donde cada ciclo de reloj importa.

El añadido más curioso es el nuevo objetivo Xtensa. Xtensa es la arquitectura que usan los microcontroladores ESP32 de Espressif, muy populares en proyectos de IoT. Hasta ahora, compilar para ESP32 desde LLVM requería parches externos o toolchains específicos. Con soporte oficial en el árbol principal, la situación mejora bastante para quienes desarrollan firmware desde C o C++.

Clang 20 como compilador C/C++

Clang es el front-end de C y C++ de la suite LLVM. En la versión 20 mejora el diagnóstico de errores y añade soporte para las últimas características de los estándares en curso. Si usas Carbon, que usa LLVM como backend, esta actualización también te afecta indirectamente: mejor infraestructura de compilación para el compilador que Carbon tiene como base.

LLVM también es uno de los targets más maduros para WebAssembly, otro objetivo importante del compilador LLVM. La combinación de Clang como front-end y Wasm como objetivo sigue siendo una de las rutas más limpias para compilar C++ al navegador.

Una semana de adelanto

Que la versión saliera antes de lo previsto dice algo sobre el proceso de calidad del proyecto. El calendario de LLVM es público, los candidatos a release se prueban de forma abierta y cuando no hay nada que bloquee el lanzamiento, simplemente se lanza. Es un modelo que funciona bien para un proyecto de esta escala.

Las notas completas están en la página oficial de notas de LLVM 20.1.0.

Imagen: Pexels / Godfrey Atima

COMPARTE ESTA NOTICIA

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP