clang 20.0.0git
|
All available information about a concrete callee. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCall.h"
Public Member Functions | |
CGCallee () | |
CGCallee (const CGCalleeInfo &abstractInfo, llvm::Value *functionPtr, const CGPointerAuthInfo &pointerAuthInfo=CGPointerAuthInfo()) | |
Construct a callee. | |
bool | isBuiltin () const |
const FunctionDecl * | getBuiltinDecl () const |
unsigned | getBuiltinID () const |
bool | isPseudoDestructor () const |
const CXXPseudoDestructorExpr * | getPseudoDestructorExpr () const |
bool | isOrdinary () const |
CGCalleeInfo | getAbstractInfo () const |
const CGPointerAuthInfo & | getPointerAuthInfo () const |
llvm::Value * | getFunctionPointer () const |
void | setFunctionPointer (llvm::Value *functionPtr) |
void | setPointerAuthInfo (CGPointerAuthInfo PointerAuth) |
bool | isVirtual () const |
const CallExpr * | getVirtualCallExpr () const |
GlobalDecl | getVirtualMethodDecl () const |
Address | getThisAddress () const |
llvm::FunctionType * | getVirtualFunctionType () const |
CGCallee | prepareConcreteCallee (CodeGenFunction &CGF) const |
If this is a delayed callee computation of some sort, prepare a concrete callee. | |
Static Public Member Functions | |
static CGCallee | forBuiltin (unsigned builtinID, const FunctionDecl *builtinDecl) |
static CGCallee | forPseudoDestructor (const CXXPseudoDestructorExpr *E) |
static CGCallee | forDirect (llvm::Constant *functionPtr, const CGCalleeInfo &abstractInfo=CGCalleeInfo()) |
static CGCallee | forDirect (llvm::FunctionCallee functionPtr, const CGCalleeInfo &abstractInfo=CGCalleeInfo()) |
static CGCallee | forVirtual (const CallExpr *CE, GlobalDecl MD, Address Addr, llvm::FunctionType *FTy) |
|
inline |
Definition at line 108 of file CGCall.h.
Referenced by forDirect().
|
inline |
Construct a callee.
Call this constructor directly when this isn't a direct call.
Definition at line 112 of file CGCall.h.
References OrdinaryInfo.
|
inlinestatic |
|
inlinestatic |
Definition at line 137 of file CGCall.h.
References CGCallee().
Referenced by emitAtomicLibcall(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), EmitDirectCallee(), emitLibraryCall(), clang::CodeGen::CGCXXABI::EmitLoadOfMemberFunctionPointer(), EmitNewDeleteCall(), emitStructGetterCall(), and emitStructSetterCall().
|
inlinestatic |
Definition at line 142 of file CGCall.h.
References CGCallee().
|
inlinestatic |
Definition at line 131 of file CGCall.h.
References E, and PseudoDestructorInfo.
|
inlinestatic |
Definition at line 147 of file CGCall.h.
References VirtualInfo.
|
inline |
Definition at line 180 of file CGCall.h.
References isOrdinary(), isVirtual(), OrdinaryInfo, and VirtualInfo.
|
inline |
Definition at line 160 of file CGCall.h.
References BuiltinInfo, and isBuiltin().
|
inline |
Definition at line 164 of file CGCall.h.
References BuiltinInfo, and isBuiltin().
|
inline |
Definition at line 190 of file CGCall.h.
References isOrdinary().
|
inline |
Definition at line 186 of file CGCall.h.
References isOrdinary(), and OrdinaryInfo.
|
inline |
Definition at line 172 of file CGCall.h.
References isPseudoDestructor(), and PseudoDestructorInfo.
|
inline |
Definition at line 215 of file CGCall.h.
References isVirtual(), and VirtualInfo.
Referenced by prepareConcreteCallee().
|
inline |
Definition at line 207 of file CGCall.h.
References isVirtual(), and VirtualInfo.
Referenced by prepareConcreteCallee().
|
inline |
Definition at line 219 of file CGCall.h.
References isVirtual(), and VirtualInfo.
Referenced by prepareConcreteCallee().
|
inline |
Definition at line 211 of file CGCall.h.
References isVirtual(), and VirtualInfo.
Referenced by prepareConcreteCallee().
|
inline |
Definition at line 157 of file CGCall.h.
Referenced by getBuiltinDecl(), and getBuiltinID().
|
inline |
Definition at line 177 of file CGCall.h.
Referenced by getAbstractInfo(), getFunctionPointer(), getPointerAuthInfo(), setFunctionPointer(), and setPointerAuthInfo().
|
inline |
Definition at line 169 of file CGCall.h.
Referenced by getPseudoDestructorExpr().
|
inline |
Definition at line 204 of file CGCall.h.
Referenced by getAbstractInfo(), getThisAddress(), getVirtualCallExpr(), getVirtualFunctionType(), getVirtualMethodDecl(), and prepareConcreteCallee().
CGCallee CGCallee::prepareConcreteCallee | ( | CodeGenFunction & | CGF | ) | const |
If this is a delayed callee computation of some sort, prepare a concrete callee.
Definition at line 6016 of file CGCall.cpp.
References clang::CodeGen::CodeGenFunction::CGM, clang::CallExpr::getBeginLoc(), clang::CodeGen::CodeGenModule::getCXXABI(), getThisAddress(), getVirtualCallExpr(), clang::CodeGen::CGCXXABI::getVirtualFunctionPointer(), getVirtualFunctionType(), getVirtualMethodDecl(), and isVirtual().
|
inline |
Definition at line 194 of file CGCall.h.
References isOrdinary().
|
inline |
Definition at line 199 of file CGCall.h.
References isOrdinary(), and OrdinaryInfo.
BuiltinInfoStorage clang::CodeGen::CGCallee::BuiltinInfo |
Definition at line 94 of file CGCall.h.
Referenced by forBuiltin(), getBuiltinDecl(), and getBuiltinID().
OrdinaryInfoStorage clang::CodeGen::CGCallee::OrdinaryInfo |
Definition at line 93 of file CGCall.h.
Referenced by CGCallee(), getAbstractInfo(), getPointerAuthInfo(), and setPointerAuthInfo().
PseudoDestructorInfoStorage clang::CodeGen::CGCallee::PseudoDestructorInfo |
Definition at line 95 of file CGCall.h.
Referenced by forPseudoDestructor(), and getPseudoDestructorExpr().
VirtualInfoStorage clang::CodeGen::CGCallee::VirtualInfo |
Definition at line 96 of file CGCall.h.
Referenced by forVirtual(), getAbstractInfo(), getThisAddress(), getVirtualCallExpr(), getVirtualFunctionType(), and getVirtualMethodDecl().