LLVM IR中的指令ID或编号

时间:2018-03-15 09:25:10

标签: llvm llvm-ir llvm-3.0

在Execution.cpp中,我可以获取所有变量的所有指令和值。是否有任何方法可以获取每条指令的ID或编号。

1 个答案:

答案 0 :(得分:0)

我不确定LLVM中的任何内容是否与指令ID相似,但指令指针(Instruction*)的值似乎符合您的目的。 LLVM不会移动指令,因此只要您不自行移动它们,您就会安全。

同时,如果您更喜欢

所指示的字符串表示形式
Instruction *I /* = what_ever_you_have */;
std::string str;
llvm::raw_string_ostream rso(str);
I->print(rso);

但请注意,字符串不足以作为指令的唯一标识符。

(代码取自How can I print to a string in LLVM。)