LLVM IR中的指令ID或编号

LLVM IR中的指令ID或编号,llvm,llvm-ir,llvm-3.0,Llvm,Llvm Ir,Llvm 3.0,在Execution.cpp中,我可以获得所有指令和所有变量的值。是否有任何方法可以获取每条指令的ID或编号。我不确定LLVM中是否有类似于指令ID的内容,但指令指针(指令*)的值似乎符合您的目的。LLVM不会四处移动指令,所以只要您自己不移动指令,您就会安全 同时,如果您更喜欢同样可行的指令的字符串表示,请 Instruction *I /* = what_ever_you_have */; std::string str; llvm::raw_string_ostream rso(str);

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

我不确定LLVM中是否有类似于指令ID的内容,但指令指针(
指令*
)的值似乎符合您的目的。LLVM不会四处移动指令,所以只要您自己不移动指令,您就会安全

同时,如果您更喜欢同样可行的指令的字符串表示,请

Instruction *I /* = what_ever_you_have */;
std::string str;
llvm::raw_string_ostream rso(str);
I->print(rso);
但请注意,字符串不足以作为指令的唯一标识符


(代码取自。)

您能详细说明一下指令ID是什么意思吗?或者更好你想实现什么?也许还有另一种方法,在解释器的Execution.cpp中,我需要得到每个变量的值,在每个指令中,我都可以这样做。但是,我需要将这个值插入到这个值和这个值的指令号和地址的映射中,以便进行一些分析。我可以将指令用作字符串而不是数字,但如何在ExecutionEngine.cpp函数或Execution.cpp函数中检索此字符串?