C++ Value*->getName返回空字符串LLVM

C++ Value*->getName返回空字符串LLVM,c++,llvm,llvm-clang,C++,Llvm,Llvm Clang,我在一个基本块中循环指令,当执行val->getName时,指令和操作数都给出了一个空名称 我试图实现可用表达式分析,所以我需要弄清楚如何比较这两个标签;当然,SSA掩盖了这一点。当前,编译器处于-o0状态,并禁用了其他优化。我可以用什么方法比较变量名 即: b=d+e应该杀死a=b+c,但由于SSA,比较a=b+c中b的obj值和b=d+e中b的obj值是不相等的。我如何才能成功地比较这些 谢谢 您在LLVM IR中看到的变量名是为了方便阅读。那些名字不会存在。每条指令都是一个对象,其他指令作

我在一个基本块中循环指令,当执行val->getName时,指令和操作数都给出了一个空名称

我试图实现可用表达式分析,所以我需要弄清楚如何比较这两个标签;当然,SSA掩盖了这一点。当前,编译器处于-o0状态,并禁用了其他优化。我可以用什么方法比较变量名

即:

b=d+e应该杀死a=b+c,但由于SSA,比较a=b+c中b的obj值和b=d+e中b的obj值是不相等的。我如何才能成功地比较这些


谢谢

您在LLVM IR中看到的变量名是为了方便阅读。那些名字不会存在。每条指令都是一个对象,其他指令作为其操作数。您可以使用指令地址来区别于其他指令。

为什么需要变量名?而是比较指令*指针。
a = b + c
b = d + e