LLVM: 多段階最適化のインフラストラクチャ
クリス・ラトナー、M.S.の論文

要旨

最新のプログラミング言語とソフトウェアエンジニアリングの原則は、コンパイラのシステムに深刻な問題を引き起こしています。従来のアプローチで、コンパイルリンク実行の簡単なモデルが使用されると、新しい条件の要求下で、適切なアプリケーションのパフォーマンスを提供できません。従来の手続き間およびプロファイル駆動型のコンパイルのアプローチは、必要なアプリケーションのパフォーマンスを提供できますが、アプリケーションを構築するために、実行不能なほどのコンパイル時間がかかります。

本論文では、独自な多段階最適化システムをサポートするコンパイラインフラストラクチャの設計と実装であるLLVMについて説明します。このシステムは、広範囲の手順間およびプロファイル駆動型の最適化をサポートするように設計されていますが、商用コンパイラシステムでの使用に十分な効率性を保っています。

LLVM仮想命令セットは、システムを一緒にまとめる接着剤です。これは低レベルの表現ですが、高レベルの型情報が付いています。これにより、低レベルの表現(コンパクトな表現、幅広い利用可能な変換など)のメリットが得られ、さらに、リンク時またはリンク後のアグレッシブな手順間最適化をサポートする高レベルな情報が提供されます。特にこのシステムは、実行時または、それ以外の未使用のアイドル時間中に、現場での最適化をサポートするように設計されています。

本論文では、このコンパイラの設計の実装であるLLVMコンパイラインフラストラクチャについても説明しており、設計が実行可能であることが証明されています。LLVMコンパイラインフラストラクチャは改良され続ける効率的なシステムです。さまざまな研究の場として優れていることを示します。LLVMの詳細については、Web サイトでご覧いただけます: http://llvm.cs.uiuc.edu/

本論文では、以前のテクニカルレポートを置き換えます。

発行

「LLVM: 多段階最適化のインフラストラクチャ」クリス・ラトナー著
修士論文、イリノイ大学アーバナ・シャンペーン校コンピュータサイエンス学部、2002年12月

ダウンロード

BibTeXエントリ

  @MastersThesis{Lattner:MSThesis02,
    author  = {Chris Lattner},
    title   = "{LLVM: An Infrastructure for Multi-Stage Optimization}",
    school  = "{Computer Science Dept., University of Illinois at Urbana-Champaign}",
    year    = {2002},
    address = {Urbana, IL},
    month   = {Dec},
    note    = {{\em See {\tt http://llvm.cs.uiuc.edu}.}}
  }