La pila del compilador de LLVM registró un crecimiento récord en 2021, tanto con la mayor cantidad de código nuevo introducido en un solo año como con la mayor cantidad de contribuyentes por año que este proyecto de código abierto haya visto jamás. Incluso aparte de las métricas de desarrollo, LLVM tuvo un 2021 bastante impresionante.
Al ejecutar GitStats en el repositorio mono de LLVM en New Year’s Even, esta pila de cadena de herramientas/compilador de código abierto tenía hasta 111,028 archivos que comprendían 23,85 millones de líneas de código. Toda una hazaña considerando que el kernel de Linux tiene 32 millones de líneas de código en su árbol de fuentes a lo largo de su historia mucho más larga. El repositorio de LLVM ha visto 408k confirmaciones y contribuciones de alrededor de 2.903 autores diferentes.
En un recuento de confirmaciones, LLVM en 2021 no tuvo el año más activo con solo 32.1k confirmaciones en comparación con 34.9k en 2020 o 33.2k en 2019…
Pero cuando llegó a la rotación de códigos, LLVM lideró en 2021… LLVM vio 12,5 millones de líneas de código agregadas y 8,3 millones de líneas eliminadas… Mucho más que en 2020, donde solo se agregaron 7 millones de líneas y se eliminaron 3,9 millones.
Simon Pilgrim siguió siendo responsable de la mayoría de las confirmaciones en 2021, seguido de Fangrui Song, Roman Lebedev, Craig Topper, Nikita Popov y Sanjay Patel.
Una de las otras métricas prometedoras para LLVM en 2021 fue el número récord de autores… 1.400 direcciones de correo electrónico diferentes comprometidas con LLVM, en comparación con 1.321 en 2020 que anteriormente fue un máximo histórico. Antes de 2020, no hubo un solo año con más de mil contribuyentes. Ahora, 1.400 en 2020 muestra un crecimiento bastante bueno de la comunidad de código abierto LLVM.
Todos los grandes nombres habituales continúan contribuyendo ampliamente a LLVM…
Será muy interesante ver la dirección de LLVM en 2022… El volcado completo de GitStats se puede encontrar aquí.
Para aquellos que se preguntan acerca de los grandes cambios y acontecimientos para LLVM en 2021, a continuación se muestran las noticias más populares cubiertas en Phoronix.
La construcción del kernel de Linux con Clang sigue siendo útil, se buscan nuevas funciones
En la conferencia virtual Linux.Conf.Au del mes pasado hubo una presentación del ingeniero de Google Nick Desaulniers en el estado actual de la construcción del kernel de Linux con LLVM Clang como alternativa a GCC.
LLVM Clang 14 obtiene una optimización de rendimiento”asombrosa”
Si bien el rendimiento de LLVM/Clang ha mejorado mucho a lo largo de los años y para x86_64 y AArch64 puede ser muy difícil Y con el compilador GCC, la feroz batalla de rendimiento no ha terminado. Con LLVM/Clang 14.0 que se lanzará en los primeros meses de 2022, habrá más trabajo de rendimiento con un compromiso reciente en particular que muestra mucha promesa.
Mold 1.0 lanzado como una alternativa moderna de enlazador de alta velocidad a GNU Gold, LLVM LLD
Mold 1.0 es una alternativa de enlazador de alta velocidad lista para producción a GNU’s Gold o LLD de LLVM que actualmente es compatible con sistemas Linux y está escrito por el autor de LLD original.
BOLT de Facebook acercándose a la línea principal LLVM para optimizar binarios
El proyecto BOLT de Facebook para optimizar el rendimiento de los binarios compilados se está acercando al punto de ser agregado al árbol de fuentes oficial de LLVM con su repositorio mono.
Intel totalmente adoptando LLVM para sus compiladores C/C ++
Los compiladores C/C ++ de próxima generación de Intel están aprovechando por completo la pila de compiladores LLVM en lugar de su código de compilador propietario anterior-base. Intel tiene”adopción [d] completa”de LLVM avanzando para sus necesidades de compilador C/C ++.
El desarrollo de funciones de LLVM 13 ha terminado, LLVM 14 entra en desarrollo
El desarrollo de funciones de LLVM 13.0 ha finalizado con el código ahora ramificado y la primera versión candidata etiquetada.
BOLT cerca de fusionarse en LLVM para optimizar el rendimiento de los binarios
Además de que el back-end de LLVM SPIR-V aparece listo para fusionarse, también trabaja en los pasos finales por estar incluido en la pila del compilador LLVM, también es el proyecto BOLT de Facebook para optimizar el rendimiento de los binarios.
Soporte de líneas principales de LLVM Clang para la serie Motorola 68000 (m68k)
Si no fuera lo suficientemente extraño durante estos tiempos de pandemia, ver el soporte de Nintendo 64 actualizado en el kernel de Linux 5.12 Hace unas semanas, el último hardware antiguo que todavía tiene soporte de código abierto es el de los procesadores de 32 bits de la serie 68000 de Motorola. LLVM/Clang fusionó hoy el objetivo”m68k”para estos procesadores de tres décadas.
LLVM todavía está trabajando en la renovación de la licencia, necesita ayuda para encontrar algunos colaboradores anteriores
Durante años, LLVM ha estado trabajando en una renovación masiva de la licencia de su código base, pero ese esfuerzo aún es en curso, ya que todavía están tratando de rastrear algunos contribuyentes anteriores para recopilar sus aprobaciones sobre el cambio.
LLVM 12.0 lanzado con compatibilidad con Alder Lake + Sapphire Rapids, más C ++ 20
Después de que el ciclo de lanzamiento se prolongó un mes adicional debido a errores de bloqueo, LLVM 12 fue etiquetado oficialmente el miércoles por la noche como la última actualización de medio año de esta pila de compiladores de código abierto.
Red Hat está contratando más ingenieros de compiladores LLVM
Red Hat no solo continúa invirtiendo fuertemente en GCC y la cadena de herramientas GNU, sino que resulta que están mejorando su compilador LLVM talento también.
Clang PGO eliminado por ahora del kernel de Linux
Mientras que el soporte de Clang PGO se envió para Linux 5.14 como parte de las actualizaciones de manejo del compilador de Clang para esta próxima versión del kernel, Posteriormente, la funcionalidad se abandonó y se emitió una nueva solicitud de extracción después de las críticas de Linus Torvalds y otros.
LLVM 13.0 lanzado con paquetes binarios oficiales Flang, compatibilidad mejorada con OpenCL Clang
LLVM 13.0 se etiquetó de la noche a la mañana como la última actualización de medio año de esta muy poderosa y ampliamente utilizada pila de compiladores de código abierto.
HPVM 1.0 lanzado como compilador basado en LLVM para CPU/GPU/FPGA/aceleradores
El último esfuerzo de infraestructura de compilador de código abierto que busca apuntar a un amplio espectro de dispositivos desde CPU a través de GPU, FPGA y aceleradores es HPVM. El proyecto HPVM celebró hoy su hito 1.0.
Compatibilidad con Clang LTO combinada para Linux 5.12, incluido ARM64 + x86_64
Abre el champán ya que el kernel de Linux 5.12 en desarrollo podrá admitir optimizaciones de tiempo de enlace ( LTO) junto con el compilador LLVM Clang no solo en AArch64 (ARM de 64 bits) sino también en x86_64.
Intel, Arm y Khronos se sienten listos para aterrizar el backend SPIR-V dentro de LLVM
Los ingenieros de Intel y Arm en cooperación con The Khronos Group se sienten listos ahora para comenzar a aterrizar sus Back-end SPIR-V dentro del árbol fuente LLVM ascendente! Este back-end SPIR-V para LLVM permitiría en última instancia que los front-end de LLVM para diferentes idiomas apunten más fácilmente a esta representación de sombreado estándar de la industria para que pueda ser ingerida por los controladores Vulkan/OpenCL.
LLVM 12.0-rc4 lanzado para cuadrar este compilador de código abierto
Se suponía que LLVM 12.0 estaría disponible a fines de febrero, pero los errores de bloqueo han dado como resultado una versión adicional candidatos mientras los desarrolladores trabajan para mejorar esta versión de la pila de compiladores de código abierto.
Lanzamiento del compilador AMD AOCC 3.1-Rebasado en LLVM 12.0
A principios de esta semana, AMD publicó silenciosamente una nueva versión de su compilador de código AOCC que ahora se basa en el LLVM ascendente/Estado del compilador de Clang 12.0.
AMD AOCC 3.0 lanzado como compilador basado en LLVM Clang 12 optimizado para Zen 3
Con el lanzamiento de AMD EPYC 7003″Milán”de hoy, también existe la disponibilidad pública de AOCC 3.0 como su LLVM/Clang downstream ahora incluye parches para una compatibilidad optimizada con Zen 3.
LLVM 12.0 se retrasa con RC5 ahora en envío
Se suponía que LLVM 12.0 se enviaría a principios de marzo, pero ahora más de un mes después y más de 6.660 se compromete a LLVM 13.0 ya, LLVM 12.0 aún no se ha enviado, pero el miércoles 12.0.0-rc5 se emitió.