LLVM 检查一个 PointerType 是否是一个 Const 指针
LLVM Check if a PointerType is a Const pointer
我需要知道,如果函数参数的给定 LLVM 类型实际上是一个 const 指针。
有没有办法在 LLVM 中检查这个?
你想要的大概是LLVM's function and function parameter attributes。例如,这里检查被调用函数的 return 值是否可以为空:
foo = called->hasAttribute(AttributeList::ReturnIndex, llvm::Attribute::NonNull)
这将检查特定值是否为 const 参数
isa<Argument>(value) && cast<Argument>(value)->onlyReadsMemory()
好吧,假设我知道你所说的 const 指针是什么意思。常量有很多深浅的含义...
我需要知道,如果函数参数的给定 LLVM 类型实际上是一个 const 指针。
有没有办法在 LLVM 中检查这个?
你想要的大概是LLVM's function and function parameter attributes。例如,这里检查被调用函数的 return 值是否可以为空:
foo = called->hasAttribute(AttributeList::ReturnIndex, llvm::Attribute::NonNull)
这将检查特定值是否为 const 参数
isa<Argument>(value) && cast<Argument>(value)->onlyReadsMemory()
好吧,假设我知道你所说的 const 指针是什么意思。常量有很多深浅的含义...