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

时间:2015-04-16 20:15:46

标签: llvm llvm-c++-api

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

我正在做一个计算指令的函数传递,为此我需要来自指令的所有'数据',我的意思是运算符,所有操作数和结果。

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

%add1 = add nsw i32 %x, %y

我可以拥有 x y 名称和变量,我可以拥有opCode,我可以拥有 add1 名称,但是,我可以没有 add1 变量。

我从文档的Instruction页面读取了所有函数,但找不到任何我想要的东西。

那么什么是可以解决我问题的正确API?

1 个答案:

答案 0 :(得分:4)

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