0

当使用 LLVM Interpreter(Aka lli) 时,Instruction对象在Interpreter::run()函数中运行,就像在代码中一样。

void Interpreter::run() {
    while (!ECStack.empty()) {
    // Interpret a single instruction & increment the "PC".
    ExecutionContext &SF = ECStack.back();  // Current stack frame
    Instruction &I = *SF.CurInst++;         // Increment before execute

    // Track the number of dynamic instructions executed.
    ++NumDynamicInsts;
    DEBUG(dbgs() << "About to interpret: " << I << "\n");

    visit(I);   // Dispatch to one of the visit* methods...
  }
}

带有DEBUG预处理器的行将打印这样的 .ll 文件中写入的指令。

即将解释:%retval = alloca i32, align 4

如何获取 LLVM IR 变量的名称?

在这种情况下会%retval

4

0 回答 0