LLVM inserta llamadas de función pthread en IR
Estoy escribiendo un pase de LLVM (es unLoopPass
) que necesita insertar llamadas de funciones pthread como pthread_create () y pthread_join () en el IR. Sé cómo crear e insertar una llamada de función en IR, pero tengo problemas para obtener la representación de pthread deFunction*
en LLVM.
Esto es lo que tengo:
Function *pthread_create_func = currentModule->getFunction("pthread_create");
pero devuelve NULL.
Como comparacionFunction *printf_func = currentModule->getFunction("printf");
devolverá el correctoFunction*
eso me permite insertar una nueva llamada de función a printf en IR.
yo tengo#include "pthread.h"
en mi pase y-pthread
justo después declang -emit-llvm
pero aun no puede encontrarpthread_create
u otropthread_*
funciona de alguna manera.