JIT代码生成后,如何检索LLVM ::指令地址

How to retrieve llvm::Instruction address after JIT code generation?

本文关键字:检索 LLVM 指令 地址 代码生成 何检索 JIT      更新时间:2023-10-16

在使用 llvm::IRBuilder时,我收集了用代码位置映射的 llvm::Instruction s,我的愿望是能够以{void* start,void* end}的形式检索这些指令的内存位置。代码生成是由JIT编译器完成的,这可能吗?(打算在断裂时插入软件断点并从EIP中检索指令)。

无法直接为单个指令执行此操作,但是您至少可以通过静态的封锁助手获得指令所在的基本块的地址。当然,正如邮件列表中指出的那样,LLVM指令可能发生了任何数量的事情,或者整个基本块都可以优化。