LLVM Clang 8.0編譯器堆疊的新功能和更改
如果一切順利,LLVM 8.0最早明天就會與Clang 8.0 C/C++編譯器以及這個開源編譯器堆疊的其他子專案一起釋出。下面看看LLVM 8對開發人員意味著什麼。
作為LLVM的最新6個月更新,有很多關於LLVM 8.0及其相關專案的資訊。其中一些亮點包括:
- LLVM的WebAssembly目標不再被認為是實驗性的,現在預設啟用。
- 現在可以通過-march=cascadelake為這些新的Intel Xeon CPU提供Intel Cascade Lake支援。相關的,還有一些AVX-512對LLVM 8的改進。
- 繼續改進開源Radeon圖形堆疊的AMDGPU LLVM後端......如果你在像Vega這樣的新型AMD GPU上執行,這是一個很大的優勢。
- Clang現在可以選擇使用模式初始化自動變數。 LLVM的文件解釋說,這是程式設計師在程式碼中有一些未定義的行為並且“使未定義的行為受到更少傷害”的“最後手段”。 - -ftrivial-auto-var-init=uninitialized,現在預設啟用此行為,可以幫助解決潛在的安全問題。
- AMD Piledriver/Bdver2調整對那些仍在使用這些舊款AMD Bulldozer CPU的使用者進行了改進。
- Clang編譯器前端現在支援按功能推測的負載強化,以通過-mspeculative-load-hardening開關改進其Spectre V1防禦。
- ARMv8.5分支目標識別作為Arm的新Spectre防禦的一部分。
- POWER9的程式碼生成改進以及各種其他POWER架構增強功能。
- MIPS/MIPS64現在支援LLVM ORC JIT。
- GNU Hurd工具鏈支援被合併到主線LLVM/Clang。
- 支援在x86架構上進行配置檔案驅動的軟體快取預取。
- LLDB現在提供了語法高亮顯示在終端列印C程式碼。
- 繼續改進Clang的診斷工作。
- Windows上的Clang編譯器的持續改進。
Clang中的OpenCL支援現在已經改進了地址空間支援,包括內建的Clang、各種補丁、支援新的Intel供應商擴充套件、許多c++的OpenCL擴充套件,以及該領域的其他工作。
Clang增加了新的OpenMP 5.0特性,並擴充套件了NVIDIA CUDA裝置支援。
總的來說,LLVM/Clang 8.0將成為另一個偉大的版本,而在GNU方面,GCC 9.1穩定版將在未來幾周釋出。
Linux公社的RSS地址 :https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址:https://www.linuxidc.com/Linux/2019-02/157137.htm