clang 23.0.0git
CIRGenCXX.cpp File Reference
#include "CIRGenCXXABI.h"
#include "CIRGenFunction.h"
#include "CIRGenModule.h"
#include "clang/AST/GlobalDecl.h"
#include "clang/CIR/Dialect/IR/CIRAttrs.h"
#include "clang/CIR/MissingFeatures.h"
#include "llvm/Support/SaveAndRestore.h"

Go to the source code of this file.

Functions

static void emitDeclInvariant (CIRGenFunction &cgf, const VarDecl *d)
 Emit code to cause the variable at the given address to be considered as constant from this point onwards.
static void emitDeclInit (CIRGenFunction &cgf, const VarDecl *varDecl, cir::GlobalOp globalOp, mlir::Region &ctorRegion)
static void emitDeclDestroy (CIRGenFunction &cgf, const VarDecl *vd, cir::GlobalOp addr, mlir::Region &dtorRegion)

Function Documentation

◆ emitDeclDestroy()

void emitDeclDestroy ( CIRGenFunction & cgf,
const VarDecl * vd,
cir::GlobalOp addr,
mlir::Region & dtorRegion )
static

Definition at line 102 of file CIRGenCXX.cpp.

References clang::CIRGen::CIRGenCXXABI::canCallMismatchedFunctionType(), clang::CIRGen::CIRGenFunction::cgm, clang::CIRGen::CIRGenFunction::convertTypeForMem(), clang::CIRGen::CIRGenTypes::convertTypeForMem(), cir::CIRBaseBuilderTy::createBitcast(), cir::CIRBaseBuilderTy::createCallOp(), cir::CIRBaseBuilderTy::createGetGlobal(), clang::QualType::DK_cxx_destructor, clang::QualType::DK_none, clang::QualType::DK_nontrivial_c_struct, clang::QualType::DK_objc_strong_lifetime, clang::QualType::DK_objc_weak_lifetime, clang::Dtor_Complete, clang::CIRGen::CIRGenFunction::emitDestroy(), clang::CIRGen::CIRGenModule::getAddrAndTypeOfCXXStructor(), clang::CIRGen::CIRGenModule::getAddrOfGlobalVar(), clang::CIRGen::CIRGenFunction::getBuilder(), clang::CIRGen::CIRGenModule::getCodeGenOpts(), clang::CIRGen::CIRGenFunction::getContext(), clang::CIRGen::CIRGenModule::getCXXABI(), clang::ASTContext::getDeclAlign(), clang::CIRGen::CIRGenFunction::getDestroyer(), clang::CXXRecordDecl::getDestructor(), clang::CIRGen::CIRGenFunction::getLoc(), clang::VarDecl::getSourceRange(), clang::VarDecl::getTLSKind(), clang::ValueDecl::getType(), clang::CIRGen::CIRGenModule::getTypes(), clang::CXXRecordDecl::hasTrivialDestructor(), clang::VarDecl::needsDestruction(), cir::MissingFeatures::openCL(), clang::CIRGen::CIRGenCXXABI::registerGlobalDtor(), clang::CIRGen::CIRGenFunction::LexicalScope::setAsGlobalInit(), and clang::ast_matchers::type.

Referenced by clang::CIRGen::CIRGenModule::emitCXXSpecialVarDeclInit().

◆ emitDeclInit()

◆ emitDeclInvariant()