|
clang 23.0.0git
|
#include "CIRGenCXXABI.h"#include "CIRGenFunction.h"#include "CIRGenValue.h"#include "clang/AST/EvaluatedExprVisitor.h"#include "clang/AST/ExprCXX.h"#include "clang/AST/RecordLayout.h"#include "clang/AST/Type.h"#include "clang/CIR/Dialect/IR/CIRDialect.h"#include "clang/CIR/MissingFeatures.h"Go to the source code of this file.
Functions | |
| static void | emitLValueForAnyFieldInitialization (CIRGenFunction &cgf, CXXCtorInitializer *memberInit, LValue &lhs) |
| static void | emitMemberInitializer (CIRGenFunction &cgf, const CXXRecordDecl *classDecl, CXXCtorInitializer *memberInit, const CXXConstructorDecl *constructor, FunctionArgList &args) |
| static bool | isInitializerOfDynamicClass (const CXXCtorInitializer *baseInit) |
| static bool | baseInitializerUsesThis (ASTContext &c, const Expr *init) |
| static Address | applyNonVirtualAndVirtualOffset (mlir::Location loc, CIRGenFunction &cgf, Address addr, CharUnits nonVirtualOffset, mlir::Value virtualOffset, const CXXRecordDecl *derivedClass, const CXXRecordDecl *nearestVBase, mlir::Type baseValueTy={}, bool assumeNotNull=true) |
| static bool | canEmitDelegateCallArgs (CIRGenModule &cgm, ASTContext &ctx, const CXXConstructorDecl *d, CXXCtorType type) |
|
static |
Definition at line 390 of file CIRGenClass.cpp.
Referenced by clang::CIRGen::CIRGenFunction::getAddressOfBaseClass(), and clang::CIRGen::CIRGenFunction::initializeVTablePointer().
|
static |
Definition at line 226 of file CIRGenClass.cpp.
References c.
Referenced by clang::CIRGen::CIRGenFunction::emitBaseInitializer().
|
static |
Definition at line 1358 of file CIRGenClass.cpp.
References clang::TargetCXXABI::areArgsDestroyedLeftToRightInCallee(), clang::CIRGen::CIRGenModule::errorNYI(), clang::TargetInfo::getCXXABI(), clang::FunctionDecl::getSourceRange(), clang::ASTContext::getTargetInfo(), clang::FunctionDecl::isVariadic(), and clang::ast_matchers::type.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), and clang::CIRGen::CIRGenFunction::emitCXXConstructorCall().
|
static |
Definition at line 78 of file CIRGenClass.cpp.
References clang::cast(), clang::IndirectFieldDecl::chain(), clang::CIRGen::CIRGenFunction::emitLValueForFieldInitialization(), clang::CXXCtorInitializer::getAnyMember(), clang::CXXCtorInitializer::getIndirectMember(), clang::NamedDecl::getName(), and clang::CXXCtorInitializer::isIndirectMemberInitializer().
Referenced by emitMemberInitializer().
|
static |
Definition at line 94 of file CIRGenClass.cpp.
References clang::CIRGen::CIRGenFunction::cgm, clang::CIRGen::CIRGenBuilderTy::createLoad(), clang::Ctor_Base, clang::CIRGen::CIRGenFunction::curGD, clang::CIRGen::CIRGenFunction::emitAggregateCopy(), clang::CIRGen::CIRGenFunction::emitInitializerForField(), emitLValueForAnyFieldInitialization(), clang::CIRGen::CIRGenFunction::emitLValueForFieldInitialization(), cir::MissingFeatures::generateDebugInfo(), clang::CIRGen::CIRGenFunction::getAddrOfLocalVar(), clang::CXXCtorInitializer::getAnyMember(), clang::ASTContext::getAsConstantArrayType(), clang::ASTContext::getBaseElementType(), clang::CIRGen::CIRGenFunction::getBuilder(), clang::ASTContext::getCanonicalTagType(), clang::CIRGen::CIRGenFunction::getContext(), clang::GlobalDecl::getCtorType(), clang::CIRGen::CIRGenModule::getCXXABI(), clang::CXXCtorInitializer::getInit(), clang::CIRGen::CIRGenFunction::getLoc(), clang::NamedDecl::getName(), clang::CIRGen::CIRGenFunction::getOverlapForFieldInit(), clang::CXXCtorInitializer::getSourceLocation(), clang::CIRGen::CIRGenCXXABI::getSrcArgforCopyCtor(), clang::ValueDecl::getType(), clang::CXXCtorInitializer::isAnyMemberInitializer(), clang::CXXConstructorDecl::isCopyOrMoveConstructor(), clang::FunctionDecl::isDefaulted(), clang::QualType::isDestructedType(), clang::Type::isRecordType(), clang::CIRGen::CIRGenFunction::loadCXXThis(), clang::CIRGen::CIRGenFunction::makeNaturalAlignAddrLValue(), clang::CIRGen::CIRGenFunction::makeNaturalAlignPointeeAddrLValue(), and clang::CIRGen::CIRGenFunction::needsEHCleanup().
Referenced by clang::CIRGen::CIRGenFunction::emitCtorPrologue().
|
static |
Definition at line 157 of file CIRGenClass.cpp.
References clang::Type::castAsCXXRecordDecl(), clang::CXXCtorInitializer::getBaseClass(), and clang::CXXRecordDecl::isDynamicClass().
Referenced by clang::CodeGen::CodeGenFunction::EmitCtorPrologue(), and clang::CIRGen::CIRGenFunction::emitCtorPrologue().