clang 22.0.0git
clang::CodeGen::CGCallee Class Reference

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 FunctionDeclgetBuiltinDecl () const
unsigned getBuiltinID () const
bool isPseudoDestructor () const
const CXXPseudoDestructorExprgetPseudoDestructorExpr () const
bool isOrdinary () const
CGCalleeInfo getAbstractInfo () const
const CGPointerAuthInfogetPointerAuthInfo () const
llvm::Value * getFunctionPointer () const
void setFunctionPointer (llvm::Value *functionPtr)
void setPointerAuthInfo (CGPointerAuthInfo PointerAuth)
bool isVirtual () const
const CallExprgetVirtualCallExpr () 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)

Detailed Description

All available information about a concrete callee.

Definition at line 63 of file CGCall.h.

Constructor & Destructor Documentation

◆ CGCallee() [1/2]

clang::CodeGen::CGCallee::CGCallee ( )
inline

Definition at line 108 of file CGCall.h.

Referenced by forDirect(), and forDirect().

◆ CGCallee() [2/2]

clang::CodeGen::CGCallee::CGCallee ( const CGCalleeInfo & abstractInfo,
llvm::Value * functionPtr,
const CGPointerAuthInfo & pointerAuthInfo = CGPointerAuthInfo() )
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.

Member Function Documentation

◆ forBuiltin()

CGCallee clang::CodeGen::CGCallee::forBuiltin ( unsigned builtinID,
const FunctionDecl * builtinDecl )
inlinestatic

Definition at line 123 of file CGCall.h.

References BuiltinInfo.

Referenced by EmitDirectCallee().

◆ forDirect() [1/2]

◆ forDirect() [2/2]

CGCallee clang::CodeGen::CGCallee::forDirect ( llvm::FunctionCallee functionPtr,
const CGCalleeInfo & abstractInfo = CGCalleeInfo() )
inlinestatic

Definition at line 142 of file CGCall.h.

References CGCallee().

◆ forPseudoDestructor()

CGCallee clang::CodeGen::CGCallee::forPseudoDestructor ( const CXXPseudoDestructorExpr * E)
inlinestatic

Definition at line 131 of file CGCall.h.

References PseudoDestructorInfo.

Referenced by clang::CodeGen::CodeGenFunction::EmitCallee().

◆ forVirtual()

CGCallee clang::CodeGen::CGCallee::forVirtual ( const CallExpr * CE,
GlobalDecl MD,
Address Addr,
llvm::FunctionType * FTy )
inlinestatic

◆ getAbstractInfo()

CGCalleeInfo clang::CodeGen::CGCallee::getAbstractInfo ( ) const
inline

Definition at line 180 of file CGCall.h.

References isOrdinary(), isVirtual(), OrdinaryInfo, and VirtualInfo.

Referenced by clang::CodeGen::CodeGenFunction::EmitCall().

◆ getBuiltinDecl()

const FunctionDecl * clang::CodeGen::CGCallee::getBuiltinDecl ( ) const
inline

Definition at line 160 of file CGCall.h.

References BuiltinInfo, and isBuiltin().

Referenced by clang::CodeGen::CodeGenFunction::EmitCallExpr().

◆ getBuiltinID()

unsigned clang::CodeGen::CGCallee::getBuiltinID ( ) const
inline

Definition at line 164 of file CGCall.h.

References BuiltinInfo, and isBuiltin().

Referenced by clang::CodeGen::CodeGenFunction::EmitCallExpr().

◆ getFunctionPointer()

llvm::Value * clang::CodeGen::CGCallee::getFunctionPointer ( ) const
inline

Definition at line 190 of file CGCall.h.

References isOrdinary().

Referenced by clang::CodeGen::CodeGenFunction::EmitCall().

◆ getPointerAuthInfo()

const CGPointerAuthInfo & clang::CodeGen::CGCallee::getPointerAuthInfo ( ) const
inline

Definition at line 186 of file CGCall.h.

References isOrdinary(), and OrdinaryInfo.

Referenced by clang::CodeGen::CodeGenFunction::EmitCall().

◆ getPseudoDestructorExpr()

const CXXPseudoDestructorExpr * clang::CodeGen::CGCallee::getPseudoDestructorExpr ( ) const
inline

Definition at line 172 of file CGCall.h.

References isPseudoDestructor(), and PseudoDestructorInfo.

Referenced by clang::CodeGen::CodeGenFunction::EmitCallExpr().

◆ getThisAddress()

Address clang::CodeGen::CGCallee::getThisAddress ( ) const
inline

Definition at line 215 of file CGCall.h.

References isVirtual(), and VirtualInfo.

Referenced by prepareConcreteCallee().

◆ getVirtualCallExpr()

const CallExpr * clang::CodeGen::CGCallee::getVirtualCallExpr ( ) const
inline

Definition at line 207 of file CGCall.h.

References isVirtual(), and VirtualInfo.

Referenced by prepareConcreteCallee().

◆ getVirtualFunctionType()

llvm::FunctionType * clang::CodeGen::CGCallee::getVirtualFunctionType ( ) const
inline

Definition at line 219 of file CGCall.h.

References isVirtual(), and VirtualInfo.

Referenced by prepareConcreteCallee().

◆ getVirtualMethodDecl()

GlobalDecl clang::CodeGen::CGCallee::getVirtualMethodDecl ( ) const
inline

Definition at line 211 of file CGCall.h.

References isVirtual(), and VirtualInfo.

Referenced by prepareConcreteCallee().

◆ isBuiltin()

bool clang::CodeGen::CGCallee::isBuiltin ( ) const
inline

◆ isOrdinary()

bool clang::CodeGen::CGCallee::isOrdinary ( ) const
inline

◆ isPseudoDestructor()

bool clang::CodeGen::CGCallee::isPseudoDestructor ( ) const
inline

◆ isVirtual()

bool clang::CodeGen::CGCallee::isVirtual ( ) const
inline

◆ prepareConcreteCallee()

CGCallee CGCallee::prepareConcreteCallee ( CodeGenFunction & CGF) const

◆ setFunctionPointer()

void clang::CodeGen::CGCallee::setFunctionPointer ( llvm::Value * functionPtr)
inline

Definition at line 194 of file CGCall.h.

References isOrdinary().

◆ setPointerAuthInfo()

void clang::CodeGen::CGCallee::setPointerAuthInfo ( CGPointerAuthInfo PointerAuth)
inline

Definition at line 199 of file CGCall.h.

References isOrdinary(), and OrdinaryInfo.

Member Data Documentation

◆ BuiltinInfo

BuiltinInfoStorage clang::CodeGen::CGCallee::BuiltinInfo

Definition at line 94 of file CGCall.h.

Referenced by forBuiltin(), getBuiltinDecl(), and getBuiltinID().

◆ OrdinaryInfo

OrdinaryInfoStorage clang::CodeGen::CGCallee::OrdinaryInfo

Definition at line 93 of file CGCall.h.

Referenced by CGCallee(), getAbstractInfo(), getPointerAuthInfo(), and setPointerAuthInfo().

◆ PseudoDestructorInfo

PseudoDestructorInfoStorage clang::CodeGen::CGCallee::PseudoDestructorInfo

Definition at line 95 of file CGCall.h.

Referenced by forPseudoDestructor(), and getPseudoDestructorExpr().

◆ VirtualInfo

VirtualInfoStorage clang::CodeGen::CGCallee::VirtualInfo

The documentation for this class was generated from the following files: