class CGCallee

Declaration

class CGCallee { /* full declaration omitted */ };

Description

All available information about a concrete callee.

Declared at: clang/lib/CodeGen/CGCall.h:60

Member Variables

private clang::CodeGen::CGCallee::SpecialKind KindOrFunctionPointer
private anonymous struct / union

Method Overview

  • private CGCallee(const clang::FunctionDecl * builtinDecl, unsigned int builtinID)
  • public CGCallee()
  • public CGCallee(const clang::CodeGen::CGCalleeInfo & abstractInfo, llvm::Value * functionPtr)
  • private CGCallee(clang::CodeGen::CGCallee::SpecialKind kind)
  • public static clang::CodeGen::CGCallee forBuiltin(unsigned int builtinID, const clang::FunctionDecl * builtinDecl)
  • public static clang::CodeGen::CGCallee forDirect(llvm::Constant * functionPtr, const clang::CodeGen::CGCalleeInfo & abstractInfo = clang::CodeGen::CGCalleeInfo())
  • public static clang::CodeGen::CGCallee forDirect(llvm::FunctionCallee functionPtr, const clang::CodeGen::CGCalleeInfo & abstractInfo = clang::CodeGen::CGCalleeInfo())
  • public static clang::CodeGen::CGCallee forPseudoDestructor(const clang::CXXPseudoDestructorExpr * E)
  • public static clang::CodeGen::CGCallee forVirtual(const clang::CallExpr * CE, clang::GlobalDecl MD, clang::CodeGen::Address Addr, llvm::FunctionType * FTy)
  • public clang::CodeGen::CGCalleeInfo getAbstractInfo() const
  • public const clang::FunctionDecl * getBuiltinDecl() const
  • public unsigned int getBuiltinID() const
  • public llvm::Value * getFunctionPointer() const
  • public const clang::CXXPseudoDestructorExpr * getPseudoDestructorExpr() const
  • public clang::CodeGen::Address getThisAddress() const
  • public const clang::CallExpr * getVirtualCallExpr() const
  • public llvm::FunctionType * getVirtualFunctionType() const
  • public clang::GlobalDecl getVirtualMethodDecl() const
  • public bool isBuiltin() const
  • public bool isOrdinary() const
  • public bool isPseudoDestructor() const
  • public bool isVirtual() const
  • public clang::CodeGen::CGCallee prepareConcreteCallee(clang::CodeGen::CodeGenFunction & CGF) const
  • public void setFunctionPointer(llvm::Value * functionPtr)

Methods

CGCallee(const clang::FunctionDecl* builtinDecl,
         unsigned int builtinID)

Declared at: clang/lib/CodeGen/CGCall.h:94

Parameters

const clang::FunctionDecl* builtinDecl
unsigned int builtinID

CGCallee()

Declared at: clang/lib/CodeGen/CGCall.h:101

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

Description

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

Declared at: clang/lib/CodeGen/CGCall.h:105

Parameters

const clang::CodeGen::CGCalleeInfo& abstractInfo
llvm::Value* functionPtr

CGCallee(
    clang::CodeGen::CGCallee::SpecialKind kind)

Declared at: clang/lib/CodeGen/CGCall.h:92

Parameters

clang::CodeGen::CGCallee::SpecialKind kind

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

Declared at: clang/lib/CodeGen/CGCall.h:116

Parameters

unsigned int builtinID
const clang::FunctionDecl* builtinDecl

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

Declared at: clang/lib/CodeGen/CGCall.h:130

Parameters

llvm::Constant* functionPtr
const clang::CodeGen::CGCalleeInfo& abstractInfo = clang::CodeGen::CGCalleeInfo()

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

Declared at: clang/lib/CodeGen/CGCall.h:135

Parameters

llvm::FunctionCallee functionPtr
const clang::CodeGen::CGCalleeInfo& abstractInfo = clang::CodeGen::CGCalleeInfo()

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

Declared at: clang/lib/CodeGen/CGCall.h:124

Parameters

const clang::CXXPseudoDestructorExpr* E

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

Declared at: clang/lib/CodeGen/CGCall.h:140

Parameters

const clang::CallExpr* CE
clang::GlobalDecl MD
clang::CodeGen::Address Addr
llvm::FunctionType* FTy

clang::CodeGen::CGCalleeInfo getAbstractInfo()
    const

Declared at: clang/lib/CodeGen/CGCall.h:173

const clang::FunctionDecl* getBuiltinDecl() const

Declared at: clang/lib/CodeGen/CGCall.h:153

unsigned int getBuiltinID() const

Declared at: clang/lib/CodeGen/CGCall.h:157

llvm::Value* getFunctionPointer() const

Declared at: clang/lib/CodeGen/CGCall.h:179

const clang::CXXPseudoDestructorExpr*
getPseudoDestructorExpr() const

Declared at: clang/lib/CodeGen/CGCall.h:165

clang::CodeGen::Address getThisAddress() const

Declared at: clang/lib/CodeGen/CGCall.h:200

const clang::CallExpr* getVirtualCallExpr() const

Declared at: clang/lib/CodeGen/CGCall.h:192

llvm::FunctionType* getVirtualFunctionType() const

Declared at: clang/lib/CodeGen/CGCall.h:204

clang::GlobalDecl getVirtualMethodDecl() const

Declared at: clang/lib/CodeGen/CGCall.h:196

bool isBuiltin() const

Declared at: clang/lib/CodeGen/CGCall.h:150

bool isOrdinary() const

Declared at: clang/lib/CodeGen/CGCall.h:170

bool isPseudoDestructor() const

Declared at: clang/lib/CodeGen/CGCall.h:162

bool isVirtual() const

Declared at: clang/lib/CodeGen/CGCall.h:189

clang::CodeGen::CGCallee prepareConcreteCallee(
    clang::CodeGen::CodeGenFunction& CGF) const

Description

If this is a delayed callee computation of some sort, prepare a concrete callee.

Declared at: clang/lib/CodeGen/CGCall.h:211

Parameters

clang::CodeGen::CodeGenFunction& CGF

void setFunctionPointer(llvm::Value* functionPtr)

Declared at: clang/lib/CodeGen/CGCall.h:183

Parameters

llvm::Value* functionPtr