如何在LLVM中将MachineInstr转换为MCInst?

时间:2018-03-12 21:41:39

标签: llvm machine-instruction

我想在Minute中进行此转换(从SecondMachineInstr)。

我知道MCInst会将MachineFunctionPass转换为X86MCInstLower。但是,初始化MachineInstr需要MCInst的实例。 X86MCInstLower本身就是X86AsmPrinter,需要启动X86AsmPrinterMachineFunctionPass。我无法从TargetMachine &获得std::unique_ptr<MCStreamer>TargetMachine仅返回MachineFunctionMachineFunction构造函数也没有来自const TargetMachine &的任何复制构造函数。

因此,我被困在这个转换点。有没有办法在TargetMachine内运行已注册的传递并获取其输出? const TargetMachine已在MachineFunctionPass下注册X86AsmPrinter。我想知道我们是否可以利用它。

对此有一个mailing list thread。但是,这最终并没有解决问题。

0 个答案:

没有答案