我想在Minute
中进行此转换(从Second
到MachineInstr
)。
我知道MCInst
会将MachineFunctionPass
转换为X86MCInstLower
。但是,初始化MachineInstr
需要MCInst
的实例。 X86MCInstLower
本身就是X86AsmPrinter
,需要启动X86AsmPrinter
和MachineFunctionPass
。我无法从TargetMachine &
获得std::unique_ptr<MCStreamer>
,TargetMachine
仅返回MachineFunction
。 MachineFunction
构造函数也没有来自const TargetMachine &
的任何复制构造函数。
因此,我被困在这个转换点。有没有办法在TargetMachine
内运行已注册的传递并获取其输出? const TargetMachine
已在MachineFunctionPass
下注册X86AsmPrinter
。我想知道我们是否可以利用它。
对此有一个mailing list thread。但是,这最终并没有解决问题。