clang 20.0.0git
|
#include "CGCXXABI.h"
#include "CGHLSLRuntime.h"
#include "CGObjCRuntime.h"
#include "CGOpenMPRuntime.h"
#include "CodeGenFunction.h"
#include "TargetInfo.h"
#include "clang/AST/Attr.h"
#include "clang/Basic/LangOptions.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/MDBuilder.h"
#include "llvm/Support/Path.h"
Go to the source code of this file.
Functions | |
static void | EmitDeclInit (CodeGenFunction &CGF, const VarDecl &D, ConstantAddress DeclPtr) |
static void | EmitDeclDestroy (CodeGenFunction &CGF, const VarDecl &D, ConstantAddress Addr) |
Emit code to cause the destruction of the given variable with static storage duration. | |
static void | EmitDeclInvariant (CodeGenFunction &CGF, const VarDecl &D, llvm::Constant *Addr) |
Emit code to cause the variable at the given address to be considered as constant from this point onwards. | |
static SmallString< 128 > | getTransformedFileName (llvm::Module &M) |
static std::string | getPrioritySuffix (unsigned int Priority) |
|
static |
Emit code to cause the destruction of the given variable with static storage duration.
Definition at line 71 of file CGDeclCXX.cpp.
References clang::CodeGen::CGCXXABI::canCallMismatchedFunctionType(), clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::ConvertTypeForMem(), D, 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::Func, clang::CodeGen::CodeGenFunction::generateDestroyHelper(), clang::CodeGen::CodeGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::TargetCodeGenInfo::getAddrSpaceOfCxaAtexitPtrParam(), clang::Type::getAsCXXRecordDecl(), clang::CodeGen::CodeGenModule::getCodeGenOpts(), clang::CodeGen::CodeGenFunction::getContext(), clang::CodeGen::CodeGenModule::getContext(), clang::CodeGen::CodeGenModule::getCXXABI(), clang::CodeGen::CodeGenFunction::getDestroyer(), clang::ASTContext::getLangOpts(), clang::CodeGen::CodeGenModule::getLLVMContext(), clang::CodeGen::ConstantAddress::getPointer(), clang::ASTContext::getTargetAddressSpace(), clang::CodeGen::CodeGenModule::getTargetCodeGenInfo(), clang::CodeGen::CGCXXABI::HasThisReturn(), clang::CodeGen::CodeGenTypeCache::Int8PtrTy, clang::CodeGen::CodeGenFunction::needsEHCleanup(), clang::CodeGen::CGCXXABI::registerGlobalDtor(), and clang::CodeGen::ConstantAddress::withElementType().
|
static |
Definition at line 29 of file CGDeclCXX.cpp.
References clang::CodeGen::CodeGenFunction::CGM, D, clang::CodeGen::AggValueSlot::DoesNotNeedGCBarriers, clang::CodeGen::AggValueSlot::DoesNotOverlap, clang::CodeGen::CodeGenFunction::EmitAggExpr(), clang::CodeGen::CodeGenFunction::EmitComplexExprIntoLValue(), clang::CodeGen::CGObjCRuntime::EmitObjCGlobalAssign(), clang::CodeGen::CGObjCRuntime::EmitObjCWeakAssign(), clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::AggValueSlot::forLValue(), clang::CodeGen::CodeGenFunction::getContext(), clang::CodeGen::CodeGenFunction::getEvaluationKind(), clang::ASTContext::getLangOpts(), clang::CodeGen::CodeGenModule::getObjCRuntime(), clang::Init, clang::CodeGen::AggValueSlot::IsDestructed, clang::CodeGen::AggValueSlot::IsNotAliased, clang::CodeGen::LValue::isObjCStrong(), clang::CodeGen::LValue::isObjCWeak(), clang::CodeGen::CodeGenFunction::MakeAddrLValue(), clang::CodeGen::TEK_Aggregate, clang::CodeGen::TEK_Complex, clang::CodeGen::TEK_Scalar, and clang::ast_matchers::type.
|
static |
Emit code to cause the variable at the given address to be considered as constant from this point onwards.
Definition at line 151 of file CGDeclCXX.cpp.
References D, clang::CodeGen::CodeGenFunction::EmitInvariantStart(), clang::CodeGen::CodeGenFunction::getContext(), and clang::ASTContext::getTypeSizeInChars().
Definition at line 826 of file CGDeclCXX.cpp.
References Priority.
|
static |
Definition at line 810 of file CGDeclCXX.cpp.
References clang::FileName, and clang::isPreprocessingNumberBody().