簡體   English   中英

如何在基本塊中插入LLVM StoreInst

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM