LLVMをライブラリからの関数にインラインにします
質問
私は作ろうとしています LLVM
ライブラリからの関数をインラインします。
私は一緒にリンクしたLLVMビットコードファイル(手動で生成された)を持っています llvm-link
, 、そして私はまた、ビットコードにコンパイルされたライブラリ(cで書かれています)もあります clang
でアーカイブされます llvm-ar
. 。私はすべてを一緒にリンクして実行することができますが、なんとか得ることができません LLVM
ライブラリから関数をインラインにします。これをどのように行うべきかについての手がかりはありますか?
解決
ビットコードファイルをライブラリとリンクした後、リンクされたビットコードで内部化パスを実行しますか?内面化パスはすべての関数を作成します(以外に main()
)静的およびオプティマイザー/コードジェネレーターに、機能を安全にインラインで導入できないことを伝えます。
から借りたコードを使用して、ビットコードファイルとビットコードライブラリを手動でリンクし、ビットコードライブラリを一緒にリンクします llvm-ld
そして、私は内面化パスをしますが、私は確信がありません llvm-link
内面化はパスかどうかにかかわらず。
所属していません StackOverflow