Is it possible to use llvm to run x86 programs? I.e. I want to use llvm as an x86 simulator to run x86 programs and then instrument the x86 program.
Thanks!
I think you are looking for LibCPU.
It has an x86 frontend (well, actually only 8086 at the moment, and that is not even complete, but they're working on it), and since it is built on top of LLVM, it obviously also has an x86 backend, thus making it possible to run x86-on-x86 but passing it through LLVM's optimization, instrumentation and analysis stages.
Also, there was a project to use LLVM in qemu. It is also a way of running x86 code via LLVM.
http://code.google.com/p/llvm-qemu/
It was GSoC project, but there is a code in svn and author have results:
regular qemu llvm-qemu rle,dse,simple regalloc llvm-qemu full opts
4m35.349s 5m39.697s 13m50.697s
llvm-qemu twice-thrice slower than qemu, but it works.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With