現在、llvm を使用してコンパイラ プロジェクトに取り組んでいます。さまざまなチュートリアルに従って、パーサーで構文ツリーを作成し、提供された IRBuilder を使用してツリーを llvm モジュールに変換しました。
私の目標は実行可能ファイルを作成することですが、次に何をすべきか混乱しています。私が見つけたすべてのチュートリアルは、llvm モジュールを作成し、Module.dump() を使用してアセンブリを出力するだけです。さらに、私が見つけることができる唯一のドキュメントは、llvm 開発者向けであり、プロジェクトのエンド ユーザー向けではありません。
マシンコードを生成したい場合、次のステップは何ですか? llvm-mc プロジェクトは、私がやりたいことができるように見えますが、ドキュメントが見つかりません。
おそらく、llvm が実行しないことを期待しているのでしょう。私の期待は、モジュールを構築できることです。その後、モジュールで呼び出すことができる API があり、ターゲット トリプルとオブジェクト ファイルが生成されます。JIT の作成に関するドキュメントと例を見つけましたが、それには興味がありません。コンパイルされたバイナリを生成する方法を探しています。
影響がある場合は、OS Xに取り組んでいます。