【发布时间】:2021-05-19 17:13:41
【问题描述】:
我是 LLVM 后端的新手。我有一个 X86 通行证,我标记了一些机器指令,然后我想找到标记指令的数据相关指令。我所说的数据依赖是指指令的用户(如 def-use 链)。为了在 IR 级别执行此操作,我曾经使用这样的代码:
for (auto it = marked_instructions.begin(), eit = marked_instructions.end(); it != eit; it++)
{
for (User *U : (*it)->users())
{
if (Instruction *Inst = dyn_cast<Instruction>(U))
{
dependent_instructions.insert(Inst);
}
}
}
现在,我想在后端和MachineInstrs 上做同样的事情。另外,我的通行证目前是在寄存器分配之后进行的。但是,如果在寄存器分配之前更容易找到 def-use 链,那么在寄存器分配之前就没有限制。
谢谢
【问题讨论】: