如何在 LLVM 中获取运算符的全名?
我正在遍历块,然后,在他们的每条指令中,我都尝试获取操作员名称,但我只得到了其中的一部分。运行以下代码:
virtual bool runOnBasicBlock(BasicBlock &bb) {
for (auto it(bb.begin()); it != bb.end(); ++it) {
errs() << it->getName() << '\t' << *it << '\n';
}
}
我得到如下输出行:
icmp %cmp = icmp slt i32 %i.0, %argc
icmp %cmp1 = icmp sgt i32 %call, %max.0
add %inc = add nsw i32 %i.0, 1
我想得到icmp slt
, icmp sgt
, and add nsw
, 而不是icmp
and add
。