【问题标题】:def-use chain in llvmllvm 中的 def-use 链
【发布时间】:2011-07-24 15:33:17
【问题描述】:

我通过 LLVM 中的以下代码提取 Def_Use 链:

for (Value::use_iterator i = F->use_begin(), e = F->use_end(); i != e; ++i)
  if (Instruction *Inst = dyn_cast<Instruction>(*i)) {
    errs() << "F is used in instruction:\n";
    errs() << *Inst << "\n";
  }

现在,我想区分导致这种数据依赖的寄存器名称或内存变量。

谢谢

【问题讨论】:

    标签: compiler-construction llvm


    【解决方案1】:

    只需确定,哪条指令使用您的值 F 以及如何使用。例如。如果Use为load或store instr,则可以查看指令的操作数,判断F是否用作地址等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2014-07-03
      相关资源
      最近更新 更多