对于以下代码:
class Testpm {
public:void m_func1() { cout << "m_func1\n"; }
int a;
};
void (Testpm::*pmfn)();
int main(){
Testpm ATestpm;pmfn = &Testpm::m_func1;
}
铛为pmfn = &Testpm::m_func1
生成以下LLVM IR:
store { i64, i64 } { i64 ptrtoint (void (%class.Testpm*)* @_ZN6Testpm7m_func1Ev to i64), i64 0 }, { i64, i64 }* @pmfn, align 8
我想在此之前或之后添加指令以提取存储在“ pmfn”(目标地址)中的内容。我所拥有的是StoreInst以及关联的值(源)和地址(目的地)。任何人都可以提出解决此问题的方法吗?