我正在尝试创建一个 IR 指令
store i32 0, i32* %3, align 4
我正在使用的方法
StoreInst *CreateAlignedStore(Value *Val, Value *Ptr, unsigned Align, bool isVolatile = false)
创建指令。由于第一个参数采用 Value*
,因此我需要以某种方式将 0
转换为 Value*
。
你能帮我吗?
最佳答案
您可以对 *val 使用 llvm::Constant,llvm Constant 继承自 Value。为 0 创建常量的一种方法是
llvm::ConstantInt::get(llvm::Type::getInt64Ty(Ctx), 0)
其中 Ctx 是您要插入 StoreInst 的函数的上下文
关于c++ - 将常量整数转换为值* LLVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51753888/