LLVMコンパイラスタック2021年には記録的な成長が見られ、1年間で最も多くの新しいコードが導入されただけでなく、このオープンソースプロジェクトがこれまでに見た中で最も多くの貢献者がいます。開発メトリクスは別としても、LLVMはかなり揺れ動く2021年でした。

New Year’s EvenのLLVMモノリポジトリでGitStatsを実行すると、このオープンソースコンパイラ/ツールチェーンスタックは最大111,028ファイルで、2,385万行のコードで構成されていました。 。 Linuxカーネルのソースツリーには、はるかに長い歴史の中で3,200万行のコードがあることを考えると、かなりの偉業です。 LLVMのリポジトリには、約2,903人の異なる作成者からの408kのコミットと貢献があります。

コミット数では、2021年のLLVMは、2020年の34.9kまたは2019年の33.2kと比較して、わずか32.1kのコミットで最も忙しい年ではありませんでした…
しかし、コードチャーンになり、2021年にLLVMが主導しました… LLVMでは、12.5ミリオン行のコードが追加され、830万行が削除されました… 2020年よりもはるかに高く、700万行が追加され、390万行が削除されました。

Simon Pilgrimは、2021年に最も多くのコミットを担当し続け、Fangrui Song、Roman Lebedev、Craig Topper、Nikita Popov、SanjayPatelがそれに続きました。

2021年のLLVMのその他の有望な指標の1つは、記録的な作成者数でした… LLVMにコミットされた1,400の異なる電子メールアドレスは、2020年の1,321から増加しました。以前は史上最高でした。 2020年以前は、1,000人を超える寄稿者が1年もいませんでした。現在、2020年の1,400は、LLVMオープンソースコミュニティの非常に素晴らしい成長を示しています。
すべての通常のビッグネームは引き続きLLVMに幅広く貢献しています…
2022年のLLVMの方向性を見るのは非常に興味深いでしょう… GitStatsダンプ全体はここにあります。

2021年のLLVMの大きな変化と出来事について疑問に思っている人のために、Phoronixで取り上げられた最も人気のあるニュースを以下に示します。

Clangを使用したLinuxカーネルの構築は引き続き有用であり、新機能が追求されています
先月のLinux.Conf.Au仮想会議は、GoogleエンジニアのNickDesaulniersによるプレゼンテーションでした。 GCCの代わりにLLVMClangを使用してLinuxカーネルを構築する現在の状態。

LLVM Clang 14Lands「驚くべき」パフォーマンスの最適化
LLVM/Clangのパフォーマンスは長年にわたって大幅に向上しましたが、x86_64とAArch64ではネックになる可能性があります-そして-GCCコンパイラの首には、激しいパフォーマンスの戦いは終わっていません。 2022年の初めにLLVM/Clang 14.0がリリースされると、特に最近の1つのコミットでパフォーマンスが向上し、多くの可能性が示されます。

Mold1.0がGNUGoldの代替となる最新の高速リンカーとしてリリースされたLLVMLLD
Mold 1.0は、GNUのGoldに代わる本番環境に対応した高速リンカーです。または、現在Linuxシステムでサポートされており、元のLLD作成者によって作成されたLLVMのLLD。

バイナリを最適化するためのメインラインLLVMに近いFacebookのBOLT
コンパイルされたバイナリからパフォーマンスを最適化するためのFacebookのBOLTプロジェクトは、LLVMの公式ソースツリーに追加される段階に近づいています。モノリポジトリ。

IntelがC/C ++コンパイラにLLVMを完全に採用
Intelの次世代C/C ++コンパイラは、以前の独自のコンパイラコードの代わりにLLVMコンパイラスタックを完全に活用しています-ベース。 Intelは、C/C ++コンパイラのニーズに対応するためにLLVMを「完全に採用」しています。

LLVM 13機能開発は終了し、LLVM14は開発に入ります
LLVM 13.0機能開発は終了し、コードが分岐し、最初のリリース候補にタグが付けられました。

バイナリのパフォーマンスを最適化するためのLLVMへのマージに近いボルト
LLVM SPIR-Vバックエンドがマージの準備ができているように見えることに加えて、最終ステップも実行しますLLVMコンパイラスタックでメインライン化されているのは、バイナリのパフォーマンスを最適化するためのFacebookのBOLTプロジェクトでもあります。

LLVMClangメインラインによるMotorola68000シリーズ(m68k)のサポート
これらのパンデミックな時期にNintendo64のサポートがLinux5.12カーネルにアップストリームされているのを見て、それが十分に奇妙でなかった場合数週間前、オープンソースのサポートがまだ続いている最新のビンテージハードウェアは、Motorola68000シリーズの32ビットプロセッサです。 LLVM/Clangは本日、これらの30年前のプロセッサの「m68k」ターゲットをマージしました。

LLVMはまだ再ライセンスに取り組んでおり、過去の貢献者を見つけるための支援が必要です
LLVMは何年もの間、コードベースの大規模な再ライセンスに取り組んできましたが、その努力はまだ続いています変更のサインオフを収集するために、過去の貢献者を追跡しようとしているため、継続中です。

LLVM12.0がAlderLake + Sapphire Rapidsのサポートとともにリリースされ、C ++ 20が増えました
ブロッカーのバグが原因でリリースサイクルが1か月延長された後、LLVM12は水曜日の夜に、このオープンソースコンパイラスタックの最新の半年更新として正式にタグ付けされました。

RedHatはより多くのLLVMコンパイラエンジニアを採用しています
Red HatはGCCとGNUツールチェーンに多額の投資を続けているだけでなく、LLVMコンパイラを強化していることがわかりました才能も。

Linuxカーネルから今のところClangPGOが撃墜されました
この次のカーネルバージョンの更新を処理するClangコンパイラの一部として、Linux5.14にClangPGOサポートが送信されましたが、その後、機能が削除され、Linus Torvaldsなどからの批判を受けて、新しいプルリクエストが発行されました。

公式のFlangバイナリパッケージでリリースされたLLVM13.0、改善されたOpenCLClangサポート
LLVM 13.0は、この広く使用されている非常に強力な最新の半年間の更新として一夜でタグ付けされましたオープンソースのコンパイラスタック。

CPU/GPU/FPGA/アクセラレータ用のLLVMベースのコンパイラとしてリリースされたHPVM1.0
GPU、FPGA、およびアクセラレータを介したCPUはHPVMです。 HPVMプロジェクトは本日、1.0マイルストーンを祝いました。

ARM64 + x86_64を含むLinux5.12用にマージされたClangLTOサポート
開発中のLinux5.12カーネルがリンク時の最適化をサポートできるようになるため、シャンパンを開いてください( LTO)AArch64(64ビットARM)だけでなく、x86_64上のLLVMClangコンパイラーと組み合わせて使用​​します。

Intel、Arm、KhronosはLLVM内にSPIR-Vバックエンドを着陸させる準備ができていると感じています
IntelとArmのエンジニアはKhronosGroupと協力して着陸を開始する準備ができていると感じていますアップストリームLLVMソースツリー内のSPIR-Vバックエンド! LLVM用のこのSPIR-Vバックエンドにより、最終的には、さまざまな言語のLLVMフロントエンドがこの業界標準のシェーダー表現をより簡単にターゲットにできるようになり、Vulkan/OpenCLドライバーが取り込むことができるようになります。

このオープンソースコンパイラを二乗するためにリリースされたLLVM12.0-rc4
LLVM 12.0は2月末頃にリリースされる予定でしたが、ブロッカーのバグにより追加リリースが発生しました開発者としての候補者は、このオープンソースコンパイラスタックリリースをボタンアップするために取り組んでいます。

AMD AOCC3.1コンパイラがリリースされました-LLVM12.0にリベース
今週初めにAMDは、アップストリームLLVM/に対してリベースされたAOCCコードコンパイラの新しいバージョンを静かに公開しました。 Clang12.0コンパイラの状態。

Zen3に最適化されたLLVMClang12ベースのコンパイラとしてリリースされたAMDAOCC3.0
本日のAMDEPYC 7003「Milan」の発売に伴い、AOCC3.0が一般公開されました。 LLVM/Clangダウンストリームは、最適化されたZen3サポート用のパッチを搭載しています。

LLVM12.0はRC5でドラッグオンを遅らせて出荷中
LLVM 12.0は3月の初めに出荷される予定でしたが、1か月以上経ってから、約6,660以上のコミットがあります。 LLVM 13.0はすでに出荷されていますが、LLVM 12.0はまだ出荷されていませんが、水曜日に12.0.0-rc5が発行されました。

Categories: IT Info