clang  14.0.0git
Functions
MicrosoftCXXABI.cpp File Reference
#include "CGCXXABI.h"
#include "CGCleanup.h"
#include "CGVTables.h"
#include "CodeGenModule.h"
#include "CodeGenTypes.h"
#include "TargetInfo.h"
#include "clang/AST/Attr.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/VTableBuilder.h"
#include "clang/CodeGen/ConstantInitBuilder.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/IR/Intrinsics.h"
Include dependency graph for MicrosoftCXXABI.cpp:

Go to the source code of this file.

Functions

static llvm::CallBase * emitRTtypeidCall (CodeGenFunction &CGF, llvm::Value *Argument)
 
static bool isDeletingDtor (GlobalDecl GD)
 
static bool isTrivialForAArch64MSVC (const CXXRecordDecl *RD)
 
static bool hasDefaultCXXMethodCC (ASTContext &Context, const CXXMethodDecl *MD)
 
static void mangleVFTableName (MicrosoftMangleContext &MangleContext, const CXXRecordDecl *RD, const VPtrInfo &VFPtr, SmallString< 256 > &Name)
 
static void emitGlobalDtorWithTLRegDtor (CodeGenFunction &CGF, const VarDecl &VD, llvm::FunctionCallee Dtor, llvm::Constant *Addr)
 
static ConstantAddress getInitThreadEpochPtr (CodeGenModule &CGM)
 
static llvm::FunctionCallee getInitThreadHeaderFn (CodeGenModule &CGM)
 
static llvm::FunctionCallee getInitThreadFooterFn (CodeGenModule &CGM)
 
static llvm::FunctionCallee getInitThreadAbortFn (CodeGenModule &CGM)
 
static llvm::GlobalVariable * getTypeInfoVTable (CodeGenModule &CGM)
 
static void serializeClassHierarchy (SmallVectorImpl< MSRTTIClass > &Classes, const CXXRecordDecl *RD)
 Recursively serializes a class hierarchy in pre-order depth first order. More...
 
static void detectAmbiguousBases (SmallVectorImpl< MSRTTIClass > &Classes)
 Find ambiguity among base classes. More...
 
static QualType decomposeTypeForEH (ASTContext &Context, QualType T, bool &IsConst, bool &IsVolatile, bool &IsUnaligned)
 

Function Documentation

◆ decomposeTypeForEH()

static QualType decomposeTypeForEH ( ASTContext Context,
QualType  T,
bool IsConst,
bool IsVolatile,
bool IsUnaligned 
)
static

◆ detectAmbiguousBases()

static void detectAmbiguousBases ( SmallVectorImpl< MSRTTIClass > &  Classes)
static

Find ambiguity among base classes.

Definition at line 3617 of file MicrosoftCXXABI.cpp.

◆ emitGlobalDtorWithTLRegDtor()

static void emitGlobalDtorWithTLRegDtor ( CodeGenFunction CGF,
const VarDecl VD,
llvm::FunctionCallee  Dtor,
llvm::Constant *  Addr 
)
static

◆ emitRTtypeidCall()

static llvm::CallBase* emitRTtypeidCall ( CodeGenFunction CGF,
llvm::Value Argument 
)
static

◆ getInitThreadAbortFn()

static llvm::FunctionCallee getInitThreadAbortFn ( CodeGenModule CGM)
static

◆ getInitThreadEpochPtr()

static ConstantAddress getInitThreadEpochPtr ( CodeGenModule CGM)
static

◆ getInitThreadFooterFn()

static llvm::FunctionCallee getInitThreadFooterFn ( CodeGenModule CGM)
static

◆ getInitThreadHeaderFn()

static llvm::FunctionCallee getInitThreadHeaderFn ( CodeGenModule CGM)
static

◆ getTypeInfoVTable()

static llvm::GlobalVariable* getTypeInfoVTable ( CodeGenModule CGM)
static

◆ hasDefaultCXXMethodCC()

static bool hasDefaultCXXMethodCC ( ASTContext Context,
const CXXMethodDecl MD 
)
static

◆ isDeletingDtor()

static bool isDeletingDtor ( GlobalDecl  GD)
static

◆ isTrivialForAArch64MSVC()

static bool isTrivialForAArch64MSVC ( const CXXRecordDecl RD)
static

◆ mangleVFTableName()

static void mangleVFTableName ( MicrosoftMangleContext MangleContext,
const CXXRecordDecl RD,
const VPtrInfo VFPtr,
SmallString< 256 > &  Name 
)
static

Definition at line 1755 of file MicrosoftCXXABI.cpp.

◆ serializeClassHierarchy()

static void serializeClassHierarchy ( SmallVectorImpl< MSRTTIClass > &  Classes,
const CXXRecordDecl RD 
)
static

Recursively serializes a class hierarchy in pre-order depth first order.

Definition at line 3608 of file MicrosoftCXXABI.cpp.

References clang::CXXRecordDecl::bases().