检查LLVM中指针类型的指针

nee*_*eel 5 c++ llvm clang

如何检查操作数是否pointer to pointer输入LLVM?我们可以检查是否是操作数指针,但如何检查是否指向指针?我Clang用来生成中间代码并C++用于源文件.

Oak*_*Oak 9

您可以调用Type::getContainedType(int)以访问指针类型.所以看起来应该是这样的:

bool isPointerToPointer(const Value* V) {
    const Type* T = V->getType();
    return T->isPointerTy() && T->getContainedType(0)->isPointerTy();
}
Run Code Online (Sandbox Code Playgroud)