• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/CodeGen/

Lines Matching refs:ItaniumCXXABI

1 //===------- ItaniumCXXABI.cpp - Emit LLVM Code from ASTs for a Module ----===//
43 class ItaniumCXXABI : public CodeGen::CGCXXABI {
61 ItaniumCXXABI(CodeGen::CodeGenModule &CGM,
463 class ARMCXXABI : public ItaniumCXXABI {
466 ItaniumCXXABI(CGM, /*UseARMMethodPtrABI=*/true,
498 class FuchsiaCXXABI final : public ItaniumCXXABI {
501 : ItaniumCXXABI(CGM) {}
511 class WebAssemblyCXXABI final : public ItaniumCXXABI {
514 : ItaniumCXXABI(CGM, /*UseARMMethodPtrABI=*/true,
527 class XLCXXABI final : public ItaniumCXXABI {
530 : ItaniumCXXABI(CGM) {}
559 // Note that AArch64 uses the generic ItaniumCXXABI class since it doesn't
563 return new ItaniumCXXABI(CGM, /*UseARMMethodPtrABI=*/true,
567 return new ItaniumCXXABI(CGM, /*UseARMMethodPtrABI=*/true);
581 return new ItaniumCXXABI(CGM, /*UseARMMethodPtrABI=*/true);
583 return new ItaniumCXXABI(CGM);
592 ItaniumCXXABI::ConvertMemberPointerType(const MemberPointerType *MPT) {
618 CGCallee ItaniumCXXABI::EmitLoadOfMemberFunctionPointer(
846 llvm::Value *ItaniumCXXABI::EmitMemberDataPointerAddress(
891 ItaniumCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF,
947 ItaniumCXXABI::EmitMemberPointerConversion(const CastExpr *E,
995 ItaniumCXXABI::EmitNullMemberPointer(const MemberPointerType *MPT) {
1007 ItaniumCXXABI::EmitMemberDataPointer(const MemberPointerType *MPT,
1016 ItaniumCXXABI::EmitMemberFunctionPointer(const CXXMethodDecl *MD) {
1020 llvm::Constant *ItaniumCXXABI::BuildMemberPointer(const CXXMethodDecl *MD,
1083 llvm::Constant *ItaniumCXXABI::EmitMemberPointer(const APValue &MP,
1105 ItaniumCXXABI::EmitMemberPointerComparison(CodeGenFunction &CGF,
1179 ItaniumCXXABI::EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
1212 bool ItaniumCXXABI::classifyReturnType(CGFunctionInfo &FI) const {
1228 bool ItaniumCXXABI::isZeroInitializable(const MemberPointerType *MPT) {
1234 void ItaniumCXXABI::emitVirtualObjectDelete(CodeGenFunction &CGF,
1276 void ItaniumCXXABI::emitRethrow(CodeGenFunction &CGF, bool isNoReturn) {
1310 void ItaniumCXXABI::emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) {
1432 bool ItaniumCXXABI::shouldTypeidBeNullChecked(bool IsDeref,
1437 void ItaniumCXXABI::EmitBadTypeidCall(CodeGenFunction &CGF) {
1444 llvm::Value *ItaniumCXXABI::EmitTypeid(CodeGenFunction &CGF,
1469 bool ItaniumCXXABI::shouldDynamicCastCallBeNullChecked(bool SrcIsPtr,
1474 llvm::Value *ItaniumCXXABI::EmitDynamicCastCall(
1517 llvm::Value *ItaniumCXXABI::EmitDynamicCastToVoid(CodeGenFunction &CGF,
1555 bool ItaniumCXXABI::EmitBadCastCall(CodeGenFunction &CGF) {
1564 ItaniumCXXABI::GetVirtualBaseClassOffset(CodeGenFunction &CGF,
1591 void ItaniumCXXABI::EmitCXXConstructors(const CXXConstructorDecl *D) {
1608 ItaniumCXXABI::buildStructorSignature(GlobalDecl GD,
1626 void ItaniumCXXABI::EmitCXXDestructors(const CXXDestructorDecl *D) {
1642 void ItaniumCXXABI::addImplicitStructorParams(CodeGenFunction &CGF,
1662 void ItaniumCXXABI::EmitInstanceFunctionProlog(CodeGenFunction &CGF) {
1689 CGCXXABI::AddedStructorArgs ItaniumCXXABI::getImplicitConstructorArgs(
1702 llvm::Value *ItaniumCXXABI::getCXXDestructorImplicitParam(
1709 void ItaniumCXXABI::EmitDestructorCall(CodeGenFunction &CGF,
1730 void ItaniumCXXABI::emitVTableDefinitions(CodeGenVTables &CGVT,
1776 bool ItaniumCXXABI::isVirtualOffsetNeededForVTableField(
1783 llvm::Value *ItaniumCXXABI::getVTableAddressPointInStructor(
1796 ItaniumCXXABI::getVTableAddressPoint(BaseSubobject Base,
1817 llvm::Value *ItaniumCXXABI::getVTableAddressPointInStructorWithVTT(
1836 llvm::Constant *ItaniumCXXABI::getVTableAddressPointForConstExpr(
1841 llvm::GlobalVariable *ItaniumCXXABI::getAddrOfVTable(const CXXRecordDecl *RD,
1877 CGCallee ItaniumCXXABI::getVirtualFunctionPointer(CodeGenFunction &CGF,
1933 llvm::Value *ItaniumCXXABI::EmitVirtualDestructorCall(
1960 void ItaniumCXXABI::emitVirtualInheritanceTables(const CXXRecordDecl *RD) {
1966 bool ItaniumCXXABI::canSpeculativelyEmitVTableAsBaseClass(
2006 bool ItaniumCXXABI::canSpeculativelyEmitVTable(const CXXRecordDecl *RD) const {
2081 llvm::Value *ItaniumCXXABI::performThisAdjustment(CodeGenFunction &CGF,
2090 ItaniumCXXABI::performReturnAdjustment(CodeGenFunction &CGF, Address Ret,
2100 return ItaniumCXXABI::EmitReturnFromThunk(CGF, RV, ResultType);
2105 return ItaniumCXXABI::EmitReturnFromThunk(CGF, Undef, ResultType);
2110 CharUnits ItaniumCXXABI::getArrayCookieSizeImpl(QualType elementType) {
2117 Address ItaniumCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
2163 llvm::Value *ItaniumCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
2293 void ItaniumCXXABI::EmitGuardedInit(CodeGenFunction &CGF,
2577 void ItaniumCXXABI::registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
2630 ItaniumCXXABI::getOrCreateThreadLocalWrapper(const VarDecl *VD,
2678 void ItaniumCXXABI::EmitThreadLocalInitFuncs(
2846 LValue ItaniumCXXABI::EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF,
2867 bool ItaniumCXXABI::NeedsVTTParameter(GlobalDecl GD) {
2889 const ItaniumCXXABI &CXXABI; // Per-module state.
2927 ItaniumRTTIBuilder(const ItaniumCXXABI &ABI)
3508 ItaniumCXXABI::RUK_NonUniqueHidden)
3538 ItaniumCXXABI::RTTIUniquenessKind RTTIUniqueness =
3540 if (RTTIUniqueness != ItaniumCXXABI::RUK_Unique) {
3967 llvm::Constant *ItaniumCXXABI::getAddrOfRTTIDescriptor(QualType Ty) {
3971 void ItaniumCXXABI::EmitFundamentalRTTIDescriptors(const CXXRecordDecl *RD) {
4007 ItaniumCXXABI::RTTIUniquenessKind ItaniumCXXABI::classifyRTTIUniqueness(
4106 void ItaniumCXXABI::emitCXXStructor(GlobalDecl GD) {
4421 void ItaniumCXXABI::emitBeginCatch(CodeGenFunction &CGF,
4511 ItaniumCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF,
4522 ItaniumCXXABI::LoadVTablePtr(CodeGenFunction &CGF, Address This,
4532 ItaniumCXXABI::emitBeginCatch(CGF, C);