clang 19.0.0git
Classes | Public Member Functions | Static Public Member Functions | List of all members
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)
 Construct a callee.
 
bool isBuiltin () const
 
const FunctionDeclgetBuiltinDecl () const
 
unsigned getBuiltinID () const
 
bool isPseudoDestructor () const
 
const CXXPseudoDestructorExprgetPseudoDestructorExpr () const
 
bool isOrdinary () const
 
CGCalleeInfo getAbstractInfo () const
 
llvm::Value * getFunctionPointer () const
 
void setFunctionPointer (llvm::Value *functionPtr)
 
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 62 of file CGCall.h.

Constructor & Destructor Documentation

◆ CGCallee() [1/2]

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

Definition at line 103 of file CGCall.h.

Referenced by forDirect().

◆ CGCallee() [2/2]

clang::CodeGen::CGCallee::CGCallee ( const CGCalleeInfo abstractInfo,
llvm::Value *  functionPtr 
)
inline

Construct a callee.

Call this constructor directly when this isn't a direct call.

Definition at line 107 of file CGCall.h.

References AbstractInfo.

Member Function Documentation

◆ forBuiltin()

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

Definition at line 115 of file CGCall.h.

References BuiltinInfo.

Referenced by EmitDirectCallee().

◆ forDirect() [1/2]

static CGCallee clang::CodeGen::CGCallee::forDirect ( llvm::Constant *  functionPtr,
const CGCalleeInfo abstractInfo = CGCalleeInfo() 
)
inlinestatic

◆ forDirect() [2/2]

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

Definition at line 134 of file CGCall.h.

References CGCallee().

◆ forPseudoDestructor()

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

Definition at line 123 of file CGCall.h.

References PseudoDestructorInfo.

◆ forVirtual()

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

Definition at line 139 of file CGCall.h.

References VirtualInfo.

◆ getAbstractInfo()

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

Definition at line 172 of file CGCall.h.

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

◆ getBuiltinDecl()

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

Definition at line 152 of file CGCall.h.

References BuiltinInfo, and isBuiltin().

◆ getBuiltinID()

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

Definition at line 156 of file CGCall.h.

References BuiltinInfo, and isBuiltin().

◆ getFunctionPointer()

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

Definition at line 178 of file CGCall.h.

References isOrdinary().

◆ getPseudoDestructorExpr()

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

Definition at line 164 of file CGCall.h.

References isPseudoDestructor(), and PseudoDestructorInfo.

◆ getThisAddress()

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

Definition at line 199 of file CGCall.h.

References isVirtual(), and VirtualInfo.

Referenced by prepareConcreteCallee().

◆ getVirtualCallExpr()

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

Definition at line 191 of file CGCall.h.

References isVirtual(), and VirtualInfo.

Referenced by prepareConcreteCallee().

◆ getVirtualFunctionType()

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

Definition at line 203 of file CGCall.h.

References isVirtual(), and VirtualInfo.

Referenced by prepareConcreteCallee().

◆ getVirtualMethodDecl()

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

Definition at line 195 of file CGCall.h.

References isVirtual(), and VirtualInfo.

Referenced by prepareConcreteCallee().

◆ isBuiltin()

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

Definition at line 149 of file CGCall.h.

Referenced by getBuiltinDecl(), and getBuiltinID().

◆ isOrdinary()

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

Definition at line 169 of file CGCall.h.

Referenced by getAbstractInfo(), getFunctionPointer(), and setFunctionPointer().

◆ isPseudoDestructor()

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

Definition at line 161 of file CGCall.h.

Referenced by getPseudoDestructorExpr().

◆ 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 182 of file CGCall.h.

References isOrdinary().

Member Data Documentation

◆ AbstractInfo

CGCalleeInfo clang::CodeGen::CGCallee::AbstractInfo

Definition at line 88 of file CGCall.h.

Referenced by CGCallee(), and getAbstractInfo().

◆ BuiltinInfo

BuiltinInfoStorage clang::CodeGen::CGCallee::BuiltinInfo

Definition at line 89 of file CGCall.h.

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

◆ PseudoDestructorInfo

PseudoDestructorInfoStorage clang::CodeGen::CGCallee::PseudoDestructorInfo

Definition at line 90 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: