差分

ナビゲーションに移動 検索に移動

Low Level Virtual Machine

52 バイト追加, 2014年10月24日 (金) 02:48
編集の要約なし
'''Low Level Virtual Machine'''(ろーれべるばーちゃるましーん,'''(読み:ろーれべるばーちゃるましーん、略語:[[LLVM''']])とは、様々な[[プログラミング言語]]の様々なの、様々な[[コンパイラ]]に共通の「に、共通の「[[最適化]]」を提供する目的で開発されている[[オープンソース]]なコンパイラ基盤である。
==概要==
LLVMでは様々な[[プログラミング言語]]に「共通」の「最適化」を提供するため、LLVM対応コンパイラからLLVMが指定する[[中間コード]]形式で出力してもらい、LLVMはその[[中間コード]]に対してプラットフォーム非依存の最適化、プラットフォーム依存の最適化など「段階的な最適化」を行い、最終的に[[ネイティブコード]]を出力する。
LLVMは[[RISC]]と非常によく似た[[命令セット]]を持つ極めて実在の[[CPU]]の[[ネイティブコード]]に近い[[仮想マシン]]および[[中間コード]]のひとつとなっており、[[Java VM]](と[[Javaバイトコード]])や[[共通言語基盤]](と[[共通中間言語]])などと比べると抽象度は極めて低く、あくまで)などと比べると[[抽象度]]は極めて低く、あくまで[[最適化]]に徹するため[[ガベージコレクション]]や[[セキュリティサンドボックス]]などの余計な機構は持たないという特徴がある。
==建前と本音==LLVMでは「様々な[[プログラミング言語]]」という建前はあるが、その実態は[[GPL]]撲滅を訴える[[BSD]]信者たちにより、[[gcc]]にとって代わるべく開発が進められているを駆逐すべく開発が進められている「[[clang]]と呼ばれる」と呼ばれる[[C言語]]の[[コンパイラ]]が主軸となっており、[[clang]]の意見・要望がまず第一優先されるという事実上の同一プロジェクトであると考えてほぼ間違いない。
== 関連項目 ==
* [[中間コード]]
* [[コンパイラーコンパイラ]]
== 参考文献 ==
<references/>{{reflist}}
== 外部リンク ==
匿名利用者

案内メニュー