[英]How to insert an LLVM StoreInst in a Basic Block
我正在按照基本塊中的說明進行操作。 在分配指令之后,我想為該變量進行存儲,然后將其插入到分配指令之后。 現在,我可以找到帶有
if(AllocaInst *AI=dyn_cast<AllocaInst>(&i))
但我不知道如何創建StoreInst。 我只想在其中存儲數字10,而不管變量是哪種類型。
我嘗試過這樣
StoreInst* stinst = new StoreInst(Value *Val, Value *Ptr, Instruction *InsertBefore);
但我不知道該用什么代替Val,Ptr,以及如果需要指向InsertBefore的指針,如何獲得下一條指令的地址
要在指令后插入內容,可以使用insertAfter()方法 。 在您的情況下:
AI->insertAfter(stinst)
要創建StoreInst
您需要為其提供
Value *Val
是您要存儲的內容。 在您的情況下,您需要創建一個表示“ 10”整數的Constant
,然后將其傳遞到該Constant
。 Value *Ptr
是您要放置值的位置。 我猜,這就是您的AI
。 Instruction *InsertBefore
nullptr
,因為您是手動插入它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.