|
clang 23.0.0git
|
#include "CIRGenVTables.h"#include "CIRGenCXXABI.h"#include "CIRGenModule.h"#include "mlir/IR/Types.h"#include "clang/AST/VTTBuilder.h"#include "clang/AST/VTableBuilder.h"#include "llvm/ADT/SmallVector.h"Go to the source code of this file.
Functions | |
| static void | setThunkProperties (CIRGenModule &cgm, const ThunkInfo &thunk, cir::FuncOp thunkFn, bool forVTable, GlobalDecl gd) |
| static cir::GlobalOp | getAddrOfVTTVTable (CIRGenVTables &cgvt, CIRGenModule &cgm, const CXXRecordDecl *mostDerivedClass, const VTTVTable &vtable, cir::GlobalLinkageKind linkage, VTableLayout::AddressPointsMapTy &addressPoints) |
| static RValue | performReturnAdjustment (CIRGenFunction &cgf, QualType resultType, RValue rv, const ThunkInfo &thunk) |
| static bool | shouldEmitVTableThunk (CIRGenModule &cgm, const CXXMethodDecl *md, bool isUnprototyped, bool forVTable) |
|
static |
Definition at line 438 of file CIRGenVTables.cpp.
References clang::CIRGen::CIRGenVTables::generateConstructionVTable(), clang::CIRGen::CIRGenCXXABI::getAddrOfVTable(), clang::VTTVTable::getBase(), clang::VTTVTable::getBaseOffset(), clang::VTTVTable::getBaseSubobject(), clang::CIRGen::CIRGenModule::getCXXABI(), clang::VTTVTable::isVirtual(), and clang::CharUnits::isZero().
Referenced by clang::CIRGen::CIRGenVTables::emitVTTDefinition().
|
static |
Definition at line 561 of file CIRGenVTables.cpp.
References clang::CIRGen::CIRGenFunction::cgm, clang::CIRGen::CIRGenFunction::convertTypeForMem(), clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::RValue::get(), clang::Type::getAsCXXRecordDecl(), clang::CIRGen::CIRGenModule::getClassPointerAlignment(), clang::CIRGen::CIRGenModule::getCXXABI(), clang::Type::getPointeeType(), clang::CIRGen::RValue::getValue(), clang::Type::isReferenceType(), clang::CIRGen::CIRGenCXXABI::performReturnAdjustment(), and clang::ThunkInfo::Return.
Referenced by clang::CIRGen::CIRGenFunction::emitCallAndReturnForThunk().
|
static |
Definition at line 35 of file CIRGenVTables.cpp.
References clang::cast(), clang::CIRGen::CIRGenCXXABI::exportThunk(), clang::CIRGen::CIRGenModule::getCXXABI(), clang::GlobalDecl::getDecl(), clang::ReturnAdjustment::isEmpty(), clang::ThunkInfo::Return, cir::MissingFeatures::setDLLStorageClass(), clang::CIRGen::CIRGenModule::setDSOLocal(), clang::CIRGen::CIRGenModule::setFunctionLinkage(), clang::CIRGen::CIRGenModule::setGVProperties(), clang::CIRGen::CIRGenCXXABI::setThunkLinkage(), and clang::CIRGen::CIRGenModule::supportsCOMDAT().
Referenced by clang::CIRGen::CIRGenVTables::maybeEmitThunk().
|
static |
Definition at line 789 of file CIRGenVTables.cpp.
References clang::CIRGen::CIRGenModule::getCodeGenOpts(), clang::TargetInfo::getCXXABI(), clang::CIRGen::CIRGenModule::getTarget(), and clang::TargetCXXABI::isMicrosoft().
Referenced by clang::CIRGen::CIRGenVTables::maybeEmitThunk().