How to determine it is a function pointer or not?

The .ll file snippet like this:

%call162 = call i32 @pthread_create(i64* %arrayidx159, %union.pthread_attr_t* null, i8* (i8*)* bitcast (i32 (i8*)* @bs_thread to i8* (i8*)), i8 %121) #9, !dbg !264

The function is pthread_create, the 3rd argument is a function that is bs_thread(the function name), but how to determine it is a function pointer or not?

The 3rd argument’s type only is a PointerType, then I don’t know how to determine it is a function pointer or not?

Thank you! I am very appreciate your help. :slight_smile:

PointerType inherits from SequentialType so you'd use
Ty->getElementType()->isFunctionType().

Cheers.

Tim.