x86 32ビットコードを入力してLLVMコンパイラを実行することはできますか?私はソースコードを持っていない巨大なアルゴリズムがあり、同じハードウェア上でより高速に動作させたいと思っています。最適化を使ってx86からx86に変換できますか?x86コードをLLVMで再コンパイルしてより高速なものにするx86
このコードは長い間実行されていますので、静的な再コンパイルを行いたいと思います。また、ランタイムプロファイルを実行してLLVMのヒントを与えることもできますが、どのブランチが可能性が高いのでしょうか。
元のコードはx86 + x87用であり、SSE/MMX/SSE2は使用していません。再コンパイル後、x86_64および/またはSSE3を使用する可能性があります。また、コードはハードウェアデコーダに対してより最適な方法で再生成されます。
ありがとうございました。
これは答えではありませんが、AmigaがMC68000用にコンパイルしたコードを新しいプロセッサでより高速に動作させるために、互換性を犠牲にして最適化するプログラムがあることを覚えています。しかし、私はそのようなx86の試みがないことを知っています。 – liori
IMOでは、IDAと16進線やOllydbgのようなものを使ってアセンブリをリバースエンジニアリングして、より高いレベルの言語(CまたはC++)に戻すことができます – Necrolis
[RevGen](http://stackoverflow.com/questions/ 9359487/source-code-of-revgen-tool)は、x86-> LLVMトランスレータの1つです。また、x86から静的バイナリへのトランスレータもあります。それはQemuと修正されたMIPS TCGを使用し、IRを生成します。 – osgx