「Low Level Virtual Machine」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator (ページの作成:「'''Low Level Virtual Machine'''(ろーれべるばーちゃるましーん,'''LLVM''')とは、様々なプログラミング言語の様々な[[コンパイラ...」) |
imported>Administrator 細 (to) |
||
3行目: | 3行目: | ||
LLVMでは様々な[[プログラミング言語]]に「共通」の「最適化」を提供するため、LLVM対応コンパイラからはLLVMが指定する[[中間コード]]形式で出力してもらうようになっている。LLVMはその[[中間コード]]に対してプラットフォーム非依存の最適化、プラットフォーム依存の最適化など段階的な最適化を行い、最終的に[[ネイティブコード]]を出力する。 | LLVMでは様々な[[プログラミング言語]]に「共通」の「最適化」を提供するため、LLVM対応コンパイラからはLLVMが指定する[[中間コード]]形式で出力してもらうようになっている。LLVMはその[[中間コード]]に対してプラットフォーム非依存の最適化、プラットフォーム依存の最適化など段階的な最適化を行い、最終的に[[ネイティブコード]]を出力する。 | ||
− | LLVMは[[RISC]]と非常によく似た[[命令セット]]を持つ極めて実在の[[CPU]]の[[ネイティブコード]]に近い[[仮想マシン]]および[[中間コード]]のひとつとなっており、[[Java VM]](と[[Javaバイトコード]])や[[共通言語基盤]](と[[共通中間言語]])などと比べると抽象度は極めて低く、あくまで[[最適化]]に徹するため[[ガベージコレクション]]や[[セキュリティサンドボックス]] | + | LLVMは[[RISC]]と非常によく似た[[命令セット]]を持つ極めて実在の[[CPU]]の[[ネイティブコード]]に近い[[仮想マシン]]および[[中間コード]]のひとつとなっており、[[Java VM]](と[[Javaバイトコード]])や[[共通言語基盤]](と[[共通中間言語]])などと比べると抽象度は極めて低く、あくまで[[最適化]]に徹するため[[ガベージコレクション]]や[[セキュリティサンドボックス]]などの余計な機構は持たないという特徴がある。 |
== 関連項目 == | == 関連項目 == |
2012年7月2日 (月) 10:12時点における版
Low Level Virtual Machine(ろーれべるばーちゃるましーん,LLVM)とは、様々なプログラミング言語の様々なコンパイラに共通の「最適化」を提供する目的で開発されているコンパイラ基盤である。
LLVMでは様々なプログラミング言語に「共通」の「最適化」を提供するため、LLVM対応コンパイラからはLLVMが指定する中間コード形式で出力してもらうようになっている。LLVMはその中間コードに対してプラットフォーム非依存の最適化、プラットフォーム依存の最適化など段階的な最適化を行い、最終的にネイティブコードを出力する。
LLVMはRISCと非常によく似た命令セットを持つ極めて実在のCPUのネイティブコードに近い仮想マシンおよび中間コードのひとつとなっており、Java VM(とJavaバイトコード)や共通言語基盤(と共通中間言語)などと比べると抽象度は極めて低く、あくまで最適化に徹するためガベージコレクションやセキュリティサンドボックスなどの余計な機構は持たないという特徴がある。
関連項目
参考文献