LLVM-Aufruf der Funktion pthread einfügen in IR
Ich schreibe einen LLVM - Pass (es ist aLoopPass
), die pthread-funktionen einfügen muss, ruft pthread_create () und pthread_join () im IR auf. Ich kann einen Funktionsaufruf in IR verursachen und einsetzen, aber ich habe Mühe, die pthread Darstellung von zu erhaltenFunction*
in LLVM.
Folgendes habe ich:
Function *pthread_create_func = currentModule->getFunction("pthread_create");
aber es gibt NULL zurück.
Zum VergleichFunction *printf_func = currentModule->getFunction("printf");
wird die richtige zurückgebenFunction*
Damit kann ich einen neuen Funktionsaufruf zum Drucken in IR einfügen.
ich habe#include "pthread.h"
in meinem Pass und-pthread
gleich nachclang -emit-llvm
aber es kann immer noch nicht findenpthread_create
oder anderepthread_*
funktioniert irgendwie.