I think you are looking for QEMU, not LLVM.
The low-level virtual machine in LLVM is that after converting a higher-level C and C ++ input into an internal low-level representation (as a step in the normal compilation process), it can then save this low-level file and execute it on the JIT compiler (which thus acts as a virtual machine). This JIT compiler makes significant optimizations, and therefore I expect that it will be difficult to work in the form that you think about, in particular, it does not follow step-by-step instructions for execution.
QEMU, by contrast, is an open source emulator that performs step-by-step instructions on machine codes. It already contains a certain ability of the tool code to search for certain conditions, since it can connect to GDB and set observation points, etc., which are implemented in QEMU itself.
source share