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

LLVM-如何获取指令的结果变量,llvm,llvm-c++-api,Llvm,Llvm C++ Api,我是LLVM的初学者,我有一个简单的问题,但在文档中找不到解决方案 我在做一个函数传递,对指令进行计算,为此我需要指令中的所有“数据”,我指的是运算符、所有操作数和结果 我的问题是,我无法得到结果变量。例如,对于说明: %add1 = add nsw i32 %x, %y 我可以有x和y的名字和变量,我可以有操作码,我可以有add1的名字,但是,我不能有add1的变量 我阅读了文档页面上的所有函数,但我找不到任何与我要查找的函数相似的函数 那么什么样的API才能解决我的问题呢?指令继承自值,因

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

我在做一个函数传递,对指令进行计算,为此我需要指令中的所有“数据”,我指的是运算符、所有操作数和结果

我的问题是,我无法得到结果变量。例如,对于说明:

%add1 = add nsw i32 %x, %y
我可以有x和y的名字和变量,我可以有操作码,我可以有add1的名字,但是,我不能有add1的变量

我阅读了文档页面上的所有函数,但我找不到任何与我要查找的函数相似的函数


那么什么样的API才能解决我的问题呢?

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

正如我所说的,我知道我可以获取指令的“名称”,所以您没有回答我的问题。但是我没有注意到指令继承自值,所以我可以使用指令作为值,这回答了我的问题!所以你解决了我的问题,谢谢;)我不知道如何使用指令是值这一事实来获取add1变量。只是附带说明:最好不要将术语“变量”用于LLVM IR,因为
%add1
是一条指令,它使用%x和%y(操作数),可以是值的任何子类实例。变量正式仅用于。