LLVM вставляет вызовы функции pthread в IR
Я пишу пропуск LLVM (этоLoopPass
), который должен вставить вызовы функций pthread, такие как pthread_create () и pthread_join (), в IR. Я знаю, как создать и вставить вызов функции в IR, но у меня возникают проблемы с получением pthread-представленияFunction*
в LLVM.
Вот что у меня есть:
Function *pthread_create_func = currentModule->getFunction("pthread_create");
но он возвращает NULL.
Для сравненияFunction *printf_func = currentModule->getFunction("printf");
вернет правильныйFunction*
это позволяет мне вставить новый вызов функции для printf в IR.
у меня есть#include "pthread.h"
в моем проходе и-pthread
сразу послеclang -emit-llvm
но до сих пор не могу найтиpthread_create
или другойpthread_*
функционирует как-то.