LLVMプロジェクトは9月10日(米国時間)、「A Look At The Features Coming With LLVM 7.0 & Clang 7.0 - Phoronix」において、近いうちにリリースが予定されているオープンソースのコンパイラ基盤「LLVM 7.0」の注目の新機能や変更点などを紹介した。LLVM 7.0には多くの新機能や改善が取り込まれている。
プロジェクトがピックアップしている主な新機能や変更点は次のとおり。
- 特定のCPUマイクロアーキテクチャ上でマシンコードの性能を推定する新しいツール「llvm-mca」の導入
- OpenBSDにおけるUndefined Behavior Sanitizerの改善
- FreeBSDにおけるMemory Sanitizerの改善
- LLVM Hexagonにおける自動ベクトル化をサポート
- P5600 CPUスケジューラモデルのアップデート、仮想化関連の命令セットのサポートなどMIPSターゲットにおける改善
- PowerPCにおける最適化されたTLSコードジェネレートのサポート
- ディープラーニング命令を含めたLLVM AMDGPUバックエンドにおけるVega 20サポート
- LLVM AMDGPUにおける32ビットポインタのサポート
- Spectre関連の対策強化
- LLVM Clangにおける最新のサニタイザ(-fsanitize=implicit-conversion)
- LLVM Clangに新しく分析ツール「diagtool」を同梱
- LLVM ClangにおけるFunction Multi-Versioning (FMV)のサポート。GCCのサポートしているFMV実装とほぼ互換性あり
- Intel Tremont CPUをサポート
- 64ビット版ARMにおける-march=nativeをサポート
- Windows関連の改善
- 初期段階のOpenCL C++サポートを含む各種OpenCLサポートの改善
- NVIDIA NVPTCターゲットに対するオフロードを実現したOpenMP 4.5サポートの追加
LLVM 7.0.0のリリースは当初2018年9月5日(米国時間)が予定されていたが、まだリリースされていない。しかし、リリースを阻害する大きな問題はないように思われ、そう遠くない段階でリリースが実施されると見られる。