前回、C++のLLVM APIで戻り値を返すだけのプログラムを作成し、文字列形式のLLVM IRを出力した。
今回はそれをオブジェクトファイルとして出力する方法と、それをリンクしてexeファイルを作成する方法についてのメモ。
※この手順でLLVM 10.0.0をビルドした環境で、Visual Studioのプロジェクトをこの内容に設定してビルド確認している。
目次
- オブジェクトファイル出力部分のC++コード
- 解説
- target tripleを取得
- Targetを取得
- TargetMachineの作成
- オブジェクトファイルの出力ストリームをオープン
- PassManagerを作成
- 出力
- 実行可能ファイルの作成(リンク)
- 今後の課題
- リンカ
- LegacyでないPassManager