0
我想對ll文件做一些檢測。我想要實現的任務之一是以下幾點。如何獲取在llvm中由allocaInstr字面分配的地址?
每當遇到一個像AllocaInstr:
%1 = alloca i32
我要儀器的功能call __save_addr()
後如下:
%1 = alloca i32
call __save_addr(i32* %1)
有沒有辦法來實現這一目標?
我想對ll文件做一些檢測。我想要實現的任務之一是以下幾點。如何獲取在llvm中由allocaInstr字面分配的地址?
每當遇到一個像AllocaInstr:
%1 = alloca i32
我要儀器的功能call __save_addr()
後如下:
%1 = alloca i32
call __save_addr(i32* %1)
有沒有辦法來實現這一目標?
check是否是AllocaInst
。如果是,
Create a new CallInst
調用您的函數*,並傳遞AllocaInst
實例作爲第一個參數。
*如果您的功能已經在模塊中,您可以通過Module::getFunction
找到它;如果它在另一個模塊中,則必須爲其創建一個聲明。