LLVM 15 sekarang siap diluncurkan sebagai pembaruan besar setengah tahun untuk tumpukan kompiler open-source ini. LLVM 15.0, Clang 15.0, dan sub-proyek lainnya memiliki banyak hal untuk ditunjukkan untuk pencapaian musim panas 2022 mereka.
LLVM 15.0 menghadirkan sejumlah fitur keamanan terkait x86 baru, dukungan untuk Armv9, HLSL eksperimental dan pekerjaan DirectX dari Microsoft, dukungan AMD RDNA3 dan GFX940 baru di back-end kompiler shader mereka, lebih banyak instruksi RISC-V sekarang didukung, dan beragam perangkat tambahan lain di seluruh tumpukan kompiler besar ini.
Ada sejumlah fitur/mitigasi keamanan x86 baru di LLVM 15 dari Straight-Line Speculation hingga Retbleed bits.
LLVM 15.0 telah ditandai pagi ini dan dapat diunduh dari GitHub.
Di sisi front-end Clang C/C++, sorotan Clang 15.0 meliputi:
- Dukungan untuk opsi "-fzero-call-used-regs" pada x86/x86_64 yang serupa dengan yang telah ditambahkan ke GCC. Opsi -fzero-call-used-regs dapat digunakan untuk membatasi serangan ROP / COP / JOP dengan menghilangkan kelas register yang dipilih sebelum fungsi kembali.
- Dukungan untuk opsi "-mharden-sls=" pada x86/x86_64 untuk pengerasan Spekulasi Garis Lurus.
- Dukungan untuk opsi "-mfunction-return=thunk-extern" yang akan digunakan oleh kernel Linux sebagai bagian dari mitigasi Retbleed.
- Dukungan untuk tipe _Float16 pada x86 untuk semua target dengan dukungan SSE2. Tipe _Float16 asli untuk AVX-512 FP16 atau diemulasi menggunakan float.
- Dukungan untuk mengacak tata letak struktur dalam C. Ini adalah teknik pengerasan waktu kompilasi dan dapat diaktifkan dengan atribut "randomize_layout".
- Dukungan eksperimental untuk bahasa shader HLSL Microsoft. HLSL di Dentang 15.0 masih "sangat eksperimental" dan "tidak lengkap". Ini adalah bagian dari upaya Microsoft untuk menambahkan DirectX dan HLSL ke basis kode LLVM/Dentang hulu.
- Opsi -fexperimental-max-bitint-width= ditambahkan untuk mengontrol lebar bit maksimum yang diizinkan untuk jenis _BitInt di luar 128 bit default. Ada juga sejumlah flag kompiler baru lainnya yang ditambahkan, sebagian besar dari penggunaan lingkup / niche terbatas.
- Dukungan untuk lebih banyak pragma MSVC serta dukungan untuk lebih banyak flag yang kompatibel dengan MSVC di clang-cl untuk dukungan Windows.
- Banyak penambahan fitur seputar dukungan bahasa C2X yang masih matang. Di antara fitur C2X yang diimplementasikan untuk rilis ini adalah atribut "noreturn", tipe dasar untuk bilangan bulat N-bit, awalan karakter u8, dukungan yang dihapus untuk deklarasi fungsi implisit, dan banyak lagi.
- Dukungan fitur C++20 tambahan seputar modul, isolasi ABI untuk fungsi anggota, dan banyak lagi.
- Dukungan untuk beberapa fitur C++2b seperti operator subskrip multi-dimensi, urutan escape yang dibatasi, karakter universal yang dinamai, dan banyak lagi.
- Dukungan OpenMP 5.1 untuk perbandingan atom dan pengambilan perbandingan atom.
= Pembaruan pada intrinsik vektor RISC-V, dukungan untuk ekstensi "K" kripto skalar RISC-V, instruksi CLZ / CTX, dan banyak lagi.
- Banyak perbaikan bug dan diagnostik / peningkatan peringatan kompiler.
Selain front-end compiler Clang C/C++, perubahan LLVM 15.0 lainnya meliputi:
- Dukungan untuk arsitektur Armv9-A, Armv9.1-A, dan Armv9.2-A. Ada juga dukungan CPU Arm Cortex-M85 yang ditambahkan.
- Back-end DirectX eksperimental sejalan dengan perubahan HLSL yang disebutkan di Dentang. Back-end DirectX menargetkan arsitektur DXIL yang digunakan untuk program shader GPU DirectX.
- Dukungan untuk instruksi RDPRU pada AMD Zen 2 dan CPU yang lebih baru.
- Server HTTP untuk Debuginfod.
- Pekerjaan back-end SPIR-V awal.
- Dukungan untuk tipe setengah pada CPU x86 yang mendukung SSE2 sebagai bagian dari tipe _Float16 yang ditambahkan ke Dentang.
- LLVM sekarang menggunakan pointer buram untuk LLVM IR.
- AMD bekerja untuk grafis RDNA3/GFX11 dan GFX940 untuk CDNA generasi berikutnya.
- Dukungan untuk muatan atom 8 dan 16-bit dan penyimpanan dengan back-end AMDGPU.
LLVM 15.0 juga menyertakan sejumlah pembaruan dan penambahan pada sub-proyek libc++ 15.0 juga.
Saya akan segera memiliki beberapa benchmark kompiler LLVM/Dentang 15 baru di Phoronix.
Itulah berita seputar LLVM 15.0 Dirilis Dengan Fitur Keamanan, Eksperimental DirectX Back-End, GPU AMD Baru, semoga bermanfaat. Disadur dari Phoronix.com.