我正在使用LLVM IR代码。我想创建一个新的store
指令(例如:store i32 %add, i32* %temp1, align 4
),我需要在特定指令之后插入它,比如在add
指令之后。我的意图是,一个加法操作的结果(一些指针)存储在%add
中,我需要保留一个温度变量相同的副本说%temp1
。创建新的存储指令LLVM
为此,我首先创建了一个名为temp1
的变量(%temp1 = alloca i32, align 4
)。现在我要存储加法指令(%add = add nsw i32 %0, %1
)的结果,即%add
到temp1
。然后最后存储指令将是这样的:store i32 %add, i32* %temp1, align 4
。这个怎么做?
任何帮助一些例子?
您可以将'ib'作为第三个参数传递给'StorInst'构造函数。所有指令构造函数都将插入点作为最后一个参数:例如'StoreInst(Value * Val,Value * Ptr,Instruction * InsertBefore)'和'StoreInst(Value * Val,Value * Ptr,BasicBlock * InsertAtEnd)' –