LLVM 13.0 tiba dengan peningkatan sokongan dan banyak lagi

LLVM

Selepas enam bulan pembangunan, pelancaran versi baru projek «LLVM 13.0» baru sahaja dibentangkan Sesuai dengan GCC (penyusun, pengoptimum, dan penjana kod) yang menyusun program menjadi kod bit perantaraan arahan maya yang serupa dengan RISC (mesin maya tahap rendah dengan sistem pengoptimuman pelbagai peringkat).

Dalam versi baru ini, pelbagai perubahan dan perkara baru telah ditambahkan, di antaranya peningkatan sokongan yang diketengahkan serta pelaksanaan ciri baru C ++ 20 dan C ++ 2b antara lain.

Ciri baru utama LLVM 13.0

Dalam versi baru ini kita dapat menjumpai sdan menambahkan pilihan "-ehcontguard" untuk menggunakan teknologi CET (Windows Control-flow Enforcement Technology) untuk melindungi pada tahap pengendalian pengecualian pelaksanaan eksploitasi yang dibangun menggunakan teknik Pemrograman Berorientasikan Kembali (ROP).

Selain itu, danProjek ujian debuginfo telah diubah namanya menjadi ujian lintas projek dan ia dirancang untuk menguji komponen dari pelbagai projek, tidak terhad pada maklumat penyahpepijatan, dan sistem binaan memberikan sokongan untuk membina banyak pengedaran, misalnya satu dengan utiliti dan yang lain dengan perpustakaan pemaju.

Sebaliknya Libc ++ terus menerapkan ciri baru dari standard C ++ 20 dan C ++ 2b, termasuk penyelesaian perpustakaan 'konsep', ditambah sokongan tambahan untuk std: sistem fail untuk Windows berdasarkan MinGW, juga memisahkan fail tajuk , dan dan pilihan LIBCXX_ENABLE_INCOMPLETE_FEATURES build telah ditambahkan untuk melumpuhkan fail header dengan fungsi yang tidak dilaksanakan sepenuhnya.

manakala backend untuk seni bina AArch64 menyokong pelanjutan Armv9-A RME (Realm Management Extension) dan SME (Scalable Matrix Extension) dalam assembler, Sokongan ISA V68 / HVX ditambah ke backend seni bina Hexagon dan backend x86 peningkatan keserasian dengan pemproses AMD Zen 3 dan menambahkan sokongan untuk GFX1013 RDNA2 APU ke backend AMDGPU.

Keupayaan penghubung LLD, yang menerapkan sokongan untuk pemproses Big-endian Aarch64, juga telah diperluas, dan backend Mach-O telah dibawa ke keadaan yang memungkinkan program biasa dihubungkan. Ia termasuk peningkatan yang diperlukan untuk menghubungkan Glibc menggunakan LLD.

Utiliti llvm-mca (Machine Code Analyzer) menambah sokongan untuk pemproses paip superscalar dalam pesanan, seperti ARM Cortex-A55.

Debugger LLDB untuk platform AArch64 memberikan sokongan penuh untuk pengesahan penunjuk, Daftar MTE (MemTag, Memory Tagging Extension) dan SVE, ditambah perintah yang telah ditambahkan yang memungkinkan Anda mengikat tag ke setiap operasi peruntukan memori dan mengatur, ketika mengakses memori, memeriksa penunjuk yang harus dikaitkan dengan tag dengan betul.
Debugger LLDB dan antara muka Fortran - Flang telah ditambahkan ke kumpulan binari yang dihasilkan oleh projek tersebut.

Sebagai Clang 13.0 menyoroti penambahbaikan:

  • Sokongan untuk panggilan giliran dijamin (panggilan subrutin di akhir fungsi, yang membentuk pengulangan barisan jika subrutin memanggil sendiri) telah dilaksanakan.
  • Menambah bendera "-Wunused-but-set-parameter" dan "-Wunused-but-set-variable" untuk memaparkan peringatan jika parameter atau pemboleh ubah ditetapkan tetapi tidak digunakan.
  • Menambah bendera "-Wnull-pointer-subtraction" untuk menunjukkan amaran jika kod tersebut boleh menyebabkan tingkah laku yang tidak ditentukan kerana penggunaan penunjuk null dalam operasi pengurangan.
  • Menambah bendera "-fstack-use" untuk menghasilkan setiap fail kod tambahan fail .su yang mengandungi maklumat mengenai ukuran bingkai tumpukan untuk setiap fungsi yang ditentukan dalam fail yang diproses.
  • Jenis output baru telah ditambahkan ke penghurai statik, "sarif-html", yang menghasilkan penghasilan laporan secara serentak dalam format HTML dan Sarif.
  • Menambah cek baru untuk peruntukanClassWithName. Apabila pilihan "-analyzer-display-progress" ditentukan, masa parse untuk setiap fungsi akan ditampilkan. Penghurai penunjuk pintar (alpha.cplusplus.SmartPtr) hampir siap.
  • Sokongan telah dilaksanakan untuk arahan transformasi gelung ("#pragma omp unrol" dan "#pragma omp tile"), yang ditentukan dalam spesifikasi OpenMP 5.1.
  • Sebilangan besar cek baru telah ditambahkan ke linter clang-rapi.

Akhirnya Sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butirannya Dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.