LLVM for Grad Students 大学院生のためのLLVM を訳す2
Why Would a Grad Student Care About LLVM?
なぜ大学院生はLLVMについて議論しないのか
LLVMはよいコンパイラであるが, もしあなたがコンパイラの研究をしなかったら誰がやってるのであろうか.
あなたがいろいろなことをするプログラムが必要なとき、コンパイラ基板は便利である. 経験上、このようなことはたくさんあります. 何をするかプログラムを分析することができたりとか.
使うシステムに機能するために変換し, 実際に新しいチップまたはカーネルモジュールを記述することなく、あなたの新しい仮定のアーキテクチャやOSを使用するふりをして変更します。
大学院生の場合、コンパイラ基板は、より人々の信用よりも、適切なツールです。
私はLLVMのために あなたは理由がない限り、これらツールのいずれかを改良する前に、デフォルトをさわることを勧めする:
- アーキテクチャシミュレータ
- ピン(intelの開発ソフト(?))のような動的バイナリツール
- ソースレベルでの変換(ASTの解析と逐次化を含むsed(stream editor)のような完全なツールシンプルなものから)
- システムコールを受け取るカーネルの改良
- ハイパーバイザに似たもの
コンパイラは、タスクに合致していてもしていない場合でも、多くの場合、はるかに簡単な方法がある. 90% ソース-ソース変換を得ることができる.
ここでコンパイラではないことを行うためにLLVMを使用する研究プロジェクトのいくつかの例は次のとおりです。
- 仮想ゴースト(Virtual Ghost)は,UIUCから危険にさらされたOSカーネルからプロセスを保護するために、コンパイラパスを使用できることを示した.
- UWからのCoreDetは、マルチスレッドの決定的プログラムを作成する.
- 近似計算研究は、エラーが発生しやすいハードウェアをシミュレートする場合, エラーを挿入するためにLLVMのパスを使用します。
- LLVMは新しいコンパイラの最適化を実現するためのものではないことをさらに念を押しておく.