LLVM wstawia wywołania funkcji pthread do IR
Piszę przepustkę LLVM (jest toLoopPass
), który musi wstawić wywołania funkcji pthread, takie jak pthread_create () i pthread_join () do IR. Wiem, jak utworzyć i wstawić wywołanie funkcji do IR, ale mam problem z uzyskaniem reprezentacji wątkuFunction*
w LLVM.
Oto co mam:
Function *pthread_create_func = currentModule->getFunction("pthread_create");
ale zwraca NULL.
Dla porównaniaFunction *printf_func = currentModule->getFunction("printf");
zwróci poprawneFunction*
to pozwala mi wstawić nowe wywołanie funkcji do printf na IR.
mam#include "pthread.h"
w mojej przepustce i-pthread
zaraz poclang -emit-llvm
ale wciąż nie może znaleźćpthread_create
lub innypthread_*
działa jakoś.