通常、LLVM IR を変更する場合は、パスを記述する必要があります。ただし、より高度なツールを使用すると簡単にパスを作成できる場合、自分でパスを作成するのはやり過ぎになることがあります。
たとえば、誰かがプログラム内のすべてload
とすべてをログに記録したいと思うかもしれません。store
そのためには、ロギングを行うコードを挿入する必要があります。より高いレベルのツールがあれば、必要なものを書くためのコールバックを提供できます。したがって、この場合、たとえば、各ロードとストアで何をすべきかをツールに伝えるために入力できる関数をOnLoad
提供できます。OnStore
そのようなツールは存在しますか?
したがって、基本的には、ダイナミック バイナリ インストルメンテーション ツールによって提供されるものに似たものが必要ですが、コンパイル時のコード インジェクションのために LLVM で動作します。