【问题标题】:How to retrieve an instruction's disassembly from a MachineInstr?如何从 MachineInstr 中检索指令的反汇编?
【发布时间】:2019-06-04 10:47:10
【问题描述】:

我需要调试我正在开发的MachineFunctionPass。我的目标是x86 架构。

如何从MachineInstr 实例中检索目标反汇编?

MachineInstr 表示示例

dead renamable $eax = MOV32rm $ebp, 1, $noreg, 12, $noreg :: (load 4 from %fixed-stack.1)

预期反汇编(Intel 语法)

mov eax, DWORD PTR [ebp+0x12]

【问题讨论】:

    标签: llvm llvm-ir llc


    【解决方案1】:

    这取决于。一般来说 - 不,因为有些事情没有在 MI 级别完成(例如,它可能包含 RA 之前的虚拟寄存器或堆栈插槽,如您的示例中的堆栈插槽分配之前),等等。

    【讨论】:

    • 感谢您的回复。是否有任何解决方法或不同的方式(从MachineInstr 开始以实现类似的目标?
    • 我看不到你可以在这里“解决”什么。 MI => MC 在装配打印阶段降低后,目标装配器可用。
    • 我的意思是如果有办法,从MachineInstr 开始,打印目标的反汇编。您提到了MI -> MC 降低阶段,这可以实现我的目标吗?你能给我指出一个可能有帮助的重要代码 sn-p 吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 2011-04-28
    • 2014-12-31
    相关资源
    最近更新 更多