7

llvm を使用して x86 プログラムを実行することは可能ですか? つまり、llvm を x86 シミュレーターとして使用して x86 プログラムを実行し、x86 プログラムを計測したいと考えています。

ありがとう!

4

3 に答える 3

8

あなたはLibCPUを探していると思います。

x86フロントエンドがあり(実際には現時点では8086のみであり、完全ではありませんが、作業中です)、LLVM上に構築されているため、明らかにx86バックエンドもあります。 x86-on-x86の実行を可能にしますが、LLVMの最適化、インストルメンテーション、および分析の各段階を通過させます。

于 2010-04-16T00:02:49.173 に答える
1

また、qemu で LLVM を使用するプロジェクトがありました。また、LLVM 経由で x86 コードを実行する方法でもあります。

http://code.google.com/p/llvm-qemu/

これは GSoC プロジェクトでしたが、svn にコードがあり、作成者は結果を持っています:

regular qemu     llvm-qemu rle,dse,simple regalloc   llvm-qemu full opts
4m35.349s             5m39.697s                        13m50.697s

llvm-qemu は qemu よりも 2 倍も 3 倍遅いですが、動作します。

于 2010-12-17T12:19:10.657 に答える
0

私は libCPU を知りませんがlibx86、非常によく似たことを行う があります。32 ビット x86 プロセッサ (ただし 64 ビット モードではない) で実行されている場合は、仮想 8086 プロセスを実行し、他の場所で実行されている場合は8086、ソフトウェア内でエミュレートしようとします。かなりクール。ただし、ドキュメントは比較的不足しています。

http://www.codon.org.uk/~mjg59/libx86/

于 2012-06-29T18:35:39.210 に答える