今、clang を使用して .c ファイルを .s ファイルにビルドします。また、llvm API を使用して IR を変更しました。ただし、変更した IR をファイルに保存できません。「LLVMWriteBitcodeToFile」を使用したいのですが、「LLVMOpaqueModule」の構造体が見つかりません。「WriteBitcodeToFile」を使用したいのですが、常に「型の不一致」が表示されます。また、IR ファイルを実行可能ファイルにビルドする方法も知りたいです。
次に、モジュールを保存するために使用する 2 つの方法を示します。
1、まず WriteBitcodeToFile を使用する
bool unbuffered = false;
llvm::raw_ostream ro(unbuffered);
WriteBitcodeToFile(m, ro);
2、LLVMWriteBitcodeToFile の 2 回目の使用
const char *Path = "hello2.s";
int ans = LLVMWriteBitcodeToFile(m, Path);
注: m は Module インスタンスのポイントです