LLVMにはllvm::Module
、バイナリ形式でシリアル化され、このデータをソースモジュールに配置するパスなどがありますか?それで、それをバイナリにリンクすると、コンパイルされたコードのビットコード表現が単一のファイル内のネイティブコードにリンクされることになりますか?
そうでない場合は、これを実装する方法についてアドバイスをいただけますか?
LLVMにはllvm::Module
、バイナリ形式でシリアル化され、このデータをソースモジュールに配置するパスなどがありますか?それで、それをバイナリにリンクすると、コンパイルされたコードのビットコード表現が単一のファイル内のネイティブコードにリンクされることになりますか?
そうでない場合は、これを実装する方法についてアドバイスをいただけますか?
この機能は現在Clang/LLVMに部分的に実装されており、ThinLTOと呼ばれています。これで実行が可能にclang -c -emit-llvm -flto=thin source.cpp
なり、同じビットコードが埋め込まれたLLVMビットコードファイルが生成されます。ビットコードが埋め込まれたネイティブオブジェクトファイルの書き込みのサポートに取り組んでいます。