Извлечение назначенного адреса в тип указателя на член - PullRequest
0 голосов
/ 28 сентября 2018

Для этого следующего кода:

class Testpm {
    public:void m_func1() { cout << "m_func1\n"; }
    int a;
};
void (Testpm::*pmfn)();
int main(){
    Testpm ATestpm;pmfn = &Testpm::m_func1;
}

clang генерирует следующий LLVM IR для pmfn = &Testpm::m_func1:

store { i64, i64 } { i64 ptrtoint (void (%class.Testpm*)* @_ZN6Testpm7m_func1Ev to i64), i64 0 }, { i64, i64 }* @pmfn, align 8

Я хочу добавить инструкцию после или перед этим, чтобы извлечь чтохранится в 'pmfn' (целевой адрес).У меня есть StoreInst и связанные с ним значения (источник) и адрес (назначение).Кто-нибудь может предложить способ решения этой проблемы?

...