读取llvm中指针指向的变量

时间:2014-05-12 04:19:33

标签: llvm

指针类型可以通过以下方式推断:

Value* v= i->getOperand(0);
.......    
if(PointerType* pt=dyn_cast<PointerType>(v->getType())){
      pt->getElementType()->getTypeID();

如何读取此指针指向的值?

我是CallInst。

1 个答案:

答案 0 :(得分:1)

给定CallInst,您可以通过getArgOperand()获取参数,或使用arg_operands()迭代所有参数。你通过这种方式获得的论证只是Value s,你可以对其他Value做任何事情。

特别是,如果那些Value是常量,您可以获得编译器中使用的实际值 - 请参阅此相关的stackoverflow问题:LLVM get constant integer back from Value*