InfoQ ホームページ LLVM に関するすべてのコンテンツ
-
LLVMネイティブコードカバレッジを備えたRust 1.60がリリース、Rust 2024へのロードマップも公開
Rust 1.60では、LLVMネイティブ・インストルメンテーション(native instrumentation)を使用したソースベースのコードカバレッジの安定化、既定値としてのインクリメンタルコンパイルの再有効化、Instantに対する単調性保証の実施、などが行われている。2024年までのRustの進展に関するロードマップも公式に発表された。
-
lldを凌駕する高速な新リンカmold
現行のUnixリンカを置き換え可能な最新のリンカであるmoldがバージョン1.0に到達した。LLVM lldリンカのオリジナル作者が開発したmoldは、従来のリンカよりも数倍高速であることを目標としている。
-
MicrosoftがQuantum Intermediate Representationを公開
LLVMを基盤とするMicrosoft Quantum Intermediate Representation(QIR)は、LLVM IRを拡張して、量子構造の表現により適するようにしたものだ。
-
Google Propellerが大規模LLVMバイナリからさらなるパフォーマンスを引き出す
Google Propellerは、実行時の動作のプロファイルに基づいてLLVMバイナリを再リンクおよび最適化することにより、LLVMバイナリのパフォーマンスを向上させることができる。Googleのエンジニアによると、Propellerは、以前はLLVMによって高度に最適化されていたバイナリの主要なパフォーマンスベンチマークを2~9%向上させることができる。
-
-
.NET WebAssemblyサポートが実験中
主要なブラウザにおいてデフォルトでWebAssemblyがリリースされ、.NETコミュニティは引き続き.NET開発者に対してブラウザで実行可能なWebAssemblyにコンパイルする機能を提供する。
-
LLVMがPDBフォーマットのドキュメント化とYAMLへの変換を実現
LLVMがPDBファイルを生成可能になり、Windowsのデバッグツールが使用できるようになった。さらにフォーマットがドキュメント化され、分析やYAMLからPDBを生成するツーリングも開発されている。
-
Azul SystemsはJavaのLLVMをベースにした新しいジャストインタイムコンパイラであるFalconをローンチした
Azul SystemsはZing 17.03が利用可能となったと本日発表した。これはAzulの新しいジャストインタイム(JIT)コンパイラであるFalconを完全にサポートしている。FalconはLLVMをベースにしており、Zingの前のバージョンで使われていたC2コンパイラを置き換えるよう設計されている。C2コンパイラはOracle HotSpotとOpenJDKでも使われている。FalconはC2が1997年にJavaOneで紹介されて以来、初めてのJava SEで利用できる新しいJITコンパイラ製品である。
-
LLVMの新しいリンカLLDがLLVM 4で導入へ
GCCのldを大幅に性能改善したLDDが、近くLLVM 4 rc1に組み込まれ、デフォルトで使用されるようになる。この新しいリンカは、稼働中のFreeBSD/amd64ベースのシステムではすでに使用されているが、LLVMでの利用はまだ試験段階であり、問題が発生すればrc2では保留される可能性もある。
-
MITが並列プログラムの最適化改善のためにLLVMのIRを拡張
MITの研究者たちがLLVMのフォークを使用して,fork-join並列処理をコンパイラの中間表現(IR)に直接埋め込む並列コード最適化の新たなアプローチに取り組んでいる。この方法を用いることで,直列的なIRレベルの最適化手法の大部分が並列プログラムでも利用可能になる,というのが彼らの主張だ。
-
Checked C - Microsoftによる,より安全なC/C++
MicrosoftがChecked Cをオープンソースとして公開した。CとC++言語への境界チェック導入を目的とした研究プロジェクトだ。
-
LLVM 3.8リリース: Windows旧バージョン対応打ち切り、Autoconf廃止予定、Clang改善
LLVMチームがLLVM 3.8のリリースを発表した。今回のバージョンには、廃止予定になったものがいくつかと、新しいC APIヘッダおよびClang 3.8が含まれている。
-
WebAssembly: Webのためのユニバーサルバイナリとテキストフォーマット
Mozilla, Google, Microsoft, Appleは、Web向けのバイナリフォーマットを開発することを決定した。WebAssemblyと呼ばれ、このフォーマットは、ブラウザや他のエージェントでアプリケーションの実行を可能にし、任意のプログラム言語を対象にする可能性がある。
-
Clingは高性能C++ REPLを提供する
ClingはLLVMとClang上に構築された対話型C++インタープリタだ。コーディング-コンパイル-実行-デバッグというC++の通常のワークフローを超えることで、生産性を飛躍的に高める可能性がある。
-
GCC 5.1公開
GNU ProjectがGCC 5.1のリリースを発表した。GCC 5最初のメジャーリリースとなる今回のリリースには,C++11/14サポートの改善,新しいlibstdc++ ABI,マシンコードJIT組込みライブラリなど,数多くの新機能と改良が含まれている。