El administrador de versiones de LLVM, Tom Stellard, ha ramificado el código de LLVM 14.0 y el de sus subproyectos como Clang dentro del repositorio mono. Como tal, el desarrollo de características de LLVM 14.0 ahora ha terminado con la rama principal de Git trabajando hacia lo que se convertirá en LLVM 15.0 a finales de este año calendario.
LLVM 14.0 ahora se someterá a semanas de corrección de errores y pruebas antes de ser lanzado como estable probablemente en marzo. Se espera una primera versión candidata a finales de esta semana, mientras que una segunda versión candidata a principios de marzo. Si todo va bien, LLVM 14.0 estable podría estar disponible a mediados de marzo como muy pronto.
Hay mucho reservado para esta actualización de seis meses de la pila del compilador LLVM y subproyectos notables como el front-end Clang C/C++ y la biblioteca estándar libc++. Algunos de los puntos destacados de LLVM 14 incluyen:
-LLVM y Clang son compatibles con la arquitectura Armv9-A, incluidos Armv9.1-A y Armv9.2-A. Clang también agrega soporte para los procesadores Arm Cortex X2, A710 y A510.
-Otro cambio de Arm es que Clang ahora respeta el indicador”-mtune”en AArch64 para ajustar la generación de código a una CPU en particular sin establecer características arquitectónicas específicas.
-Se agrega compatibilidad con las instrucciones AVX512-FP16 a LLVM para las nuevas CPU de servidor de Intel.
-Clang es compatible con una amplia gama de procesadores SiFive RISC-V adicionales, desde SiFive E20 hasta SiFive S76 con nuevos objetivos”-mcpu=”.
-Clang tiene más incorporaciones en preparación para C23.
-Clang ahora es compatible con las versiones de NVIDIA CUDA hasta v11.5 y también aumentó el objetivo de la arquitectura de GPU predeterminada a sm-35.
-Clang ahora usa DWARFv5 como el formato de depuración predeterminado donde se admite en lugar de DWARFv4.
-Al compilar Clang, ahora se puede configurar que-fPIE y-pie se usen de forma predeterminada en Linux para que coincidan con el comportamiento de GCC.
-Clangd ahora proporciona sugerencias incrustadas de forma predeterminada como sugerencias textuales intercaladas con el código para su manejo del Protocolo de servidor de idiomas para la integración con entornos de desarrollo integrados, etc. También hay muchas otras mejoras de Clangd, incluida una mejor finalización del código y más.
-Libc++ ahora es compatible con las corrutinas de C++20, el encabezado de formato de C++20 y otros trabajos de C++20 y de los primeros C++2b.
Estén atentos a Phoronix para las pruebas comparativas de LLVM/Clang 14 frente a la próxima versión del compilador GCC 12 junto con otras noticias sobre esta versión de características de LLVM 14.0.