LLVM - 如何获取指令的结果变量

LLVM - How to get the result variable of an instruction

我是 LLVM 的初学者,我有一个简单的问题,但我在文档中找不到解决方案。

我正在执行一个根据指令计算的函数传递,为此我需要指令中的所有 'data',我的意思是运算符、所有操作数和结果。

我的问题是,我无法获取结果变量。例如,对于指令:

%add1 = add nsw i32 %x, %y

我可以有 xy 名称和变量,我可以有操作码,我可以有 add1 名称,但是,我不能有 add1 变量。

我阅读了文档 Instruction 页面中的所有函数,但找不到与我要查找的函数相似的函数。

那么什么是合适的API可以解决我的问题呢?

Instruction 继承自 Value,因此具有解决您问题的方法 getName()。 但是请记住,指令可以是未命名的(例如 %0)并且 getName 可能不会 return 在这种情况下有任何用处