Lines Matching defs:CodeGenModule

1 //===--- CodeGenModule.cpp - Emit LLVM Code from ASTs for a Module --------===//
13 #include "CodeGenModule.h"
75 static CGCXXABI *createCXXABI(CodeGenModule &CGM) {
94 CodeGenModule::CodeGenModule(ASTContext &C, const HeaderSearchOptions &HSO,
179 CodeGenModule::~CodeGenModule() {}
181 void CodeGenModule::createObjCRuntime() {
201 void CodeGenModule::createOpenCLRuntime() {
205 void CodeGenModule::createOpenMPRuntime() {
232 void CodeGenModule::createCUDARuntime() {
236 void CodeGenModule::addReplacement(StringRef Name, llvm::Constant *C) {
240 void CodeGenModule::applyReplacements() {
271 void CodeGenModule::addGlobalValReplacement(llvm::GlobalValue *GV, llvm::Constant *C) {
275 void CodeGenModule::applyGlobalValReplacements() {
305 void CodeGenModule::checkAliases() {
380 void CodeGenModule::clear() {
403 void CodeGenModule::Release() {
645 void CodeGenModule::EmitOpenCLMetadata() {
662 void CodeGenModule::UpdateCompletedType(const TagDecl *TD) {
667 void CodeGenModule::RefreshTypeCacheForClass(const CXXRecordDecl *RD) {
672 llvm::MDNode *CodeGenModule::getTBAATypeInfo(QualType QTy) {
678 TBAAAccessInfo CodeGenModule::getTBAAAccessInfo(QualType AccessType) {
685 CodeGenModule::getTBAAVTablePtrAccessInfo(llvm::Type *VTablePtrType) {
691 llvm::MDNode *CodeGenModule::getTBAAStructInfo(QualType QTy) {
697 llvm::MDNode *CodeGenModule::getTBAABaseTypeInfo(QualType QTy) {
703 llvm::MDNode *CodeGenModule::getTBAAAccessTagInfo(TBAAAccessInfo Info) {
709 TBAAAccessInfo CodeGenModule::mergeTBAAInfoForCast(TBAAAccessInfo SourceInfo,
717 CodeGenModule::mergeTBAAInfoForConditionalOperator(TBAAAccessInfo InfoA,
725 CodeGenModule::mergeTBAAInfoForMemoryTransfer(TBAAAccessInfo DestInfo,
732 void CodeGenModule::DecorateInstructionWithTBAA(llvm::Instruction *Inst,
738 void CodeGenModule::DecorateInstructionWithInvariantGroup(
744 void CodeGenModule::Error(SourceLocation loc, StringRef message) {
751 void CodeGenModule::ErrorUnsupported(const Stmt *S, const char *Type) {
761 void CodeGenModule::ErrorUnsupported(const Decl *D, const char *Type) {
768 llvm::ConstantInt *CodeGenModule::getSize(CharUnits size) {
772 void CodeGenModule::setGlobalVisibility(llvm::GlobalValue *GV,
791 static bool shouldAssumeDSOLocal(const CodeGenModule &CGM,
870 void CodeGenModule::setDSOLocal(llvm::GlobalValue *GV) const {
874 void CodeGenModule::setDLLImportDLLExport(llvm::GlobalValue *GV,
885 void CodeGenModule::setDLLImportDLLExport(llvm::GlobalValue *GV,
895 void CodeGenModule::setGVProperties(llvm::GlobalValue *GV,
901 void CodeGenModule::setGVProperties(llvm::GlobalValue *GV,
907 void CodeGenModule::setGVPropertiesAux(llvm::GlobalValue *GV,
937 void CodeGenModule::setTLSMode(llvm::GlobalValue *GV, const VarDecl &D) const {
951 static std::string getCPUSpecificMangling(const CodeGenModule &CGM,
957 static void AppendCPUSpecificCPUDispatchMangling(const CodeGenModule &CGM,
969 static void AppendTargetMangling(const CodeGenModule &CGM,
1001 static std::string getMangledNameImpl(const CodeGenModule &CGM, GlobalDecl GD,
1049 void CodeGenModule::UpdateMultiVersionNames(GlobalDecl GD,
1089 StringRef CodeGenModule::getMangledName(GlobalDecl GD) {
1121 StringRef CodeGenModule::getBlockMangledName(GlobalDecl GD,
1142 llvm::GlobalValue *CodeGenModule::GetGlobalValue(StringRef Name) {
1148 void CodeGenModule::AddGlobalCtor(llvm::Function *Ctor, int Priority,
1156 void CodeGenModule::AddGlobalDtor(llvm::Function *Dtor, int Priority) {
1166 void CodeGenModule::EmitCtorList(CtorList &Fns, const char *GlobalName) {
1205 CodeGenModule::getFunctionLinkage(GlobalDecl GD) {
1225 llvm::ConstantInt *CodeGenModule::CreateCrossDsoCfiTypeId(llvm::Metadata *MD) {
1232 void CodeGenModule::SetLLVMFunctionAttributes(GlobalDecl GD,
1279 void CodeGenModule::GenOpenCLArgMetadata(llvm::Function *Fn,
1468 static bool requiresMemberFunctionPointerTypeMetadata(CodeGenModule &CGM,
1482 CodeGenModule::getMostBaseClasses(const CXXRecordDecl *RD) {
1496 void CodeGenModule::SetLLVMFunctionAttributesForDefinition(const Decl *D,
1654 void CodeGenModule::SetCommonAttributes(GlobalDecl GD, llvm::GlobalValue *GV) {
1672 bool CodeGenModule::GetCPUAndFeaturesAttributes(GlobalDecl GD,
1721 void CodeGenModule::setNonAliasAttributes(GlobalDecl GD,
1763 void CodeGenModule::SetInternalFunctionAttributes(GlobalDecl GD,
1786 void CodeGenModule::CreateFunctionTypeMetadataForIcall(const FunctionDecl *FD,
1807 void CodeGenModule::SetFunctionAttributes(GlobalDecl GD, llvm::Function *F,
1913 void CodeGenModule::addUsedGlobal(llvm::GlobalValue *GV) {
1919 void CodeGenModule::addCompilerUsedGlobal(llvm::GlobalValue *GV) {
1925 static void emitUsed(CodeGenModule &CGM, StringRef Name,
1951 void CodeGenModule::emitLLVMUsed() {
1956 void CodeGenModule::AppendLinkerOptions(StringRef Opts) {
1961 void CodeGenModule::AddDetectMismatch(StringRef Name, StringRef Value) {
1970 void CodeGenModule::AddDependentLib(StringRef Lib) {
1986 static void addLinkOptionsPostorder(CodeGenModule &CGM, Module *Mod,
2039 void CodeGenModule::EmitModuleLinkOptions() {
2102 void CodeGenModule::EmitDeferred() {
2172 void CodeGenModule::EmitVTablesOpportunistically() {
2190 void CodeGenModule::EmitGlobalAnnotations() {
2203 llvm::Constant *CodeGenModule::EmitAnnotationString(StringRef Str) {
2219 llvm::Constant *CodeGenModule::EmitAnnotationUnit(SourceLocation Loc) {
2227 llvm::Constant *CodeGenModule::EmitAnnotationLineNo(SourceLocation L) {
2235 llvm::Constant *CodeGenModule::EmitAnnotateAttr(llvm::GlobalValue *GV,
2259 void CodeGenModule::AddGlobalAnnotations(const ValueDecl *D,
2267 bool CodeGenModule::isInSanitizerBlacklist(SanitizerMask Kind,
2286 bool CodeGenModule::isInSanitizerBlacklist(llvm::GlobalVariable *GV,
2319 bool CodeGenModule::imbueXRayAttrs(llvm::Function *Fn, SourceLocation Loc,
2345 bool CodeGenModule::MustBeEmitted(const ValueDecl *Global) {
2360 bool CodeGenModule::MayBeEmittedEagerly(const ValueDecl *Global) {
2392 ConstantAddress CodeGenModule::GetAddrOfUuidDescriptor(
2419 ConstantAddress CodeGenModule::GetWeakRefReference(const ValueDecl *VD) {
2451 void CodeGenModule::EmitGlobal(GlobalDecl GD) {
2712 CodeGenModule::isTriviallyRecursive(const FunctionDecl *FD) {
2729 bool CodeGenModule::shouldEmitFunction(GlobalDecl GD) {
2764 bool CodeGenModule::shouldOpportunisticallyEmitVTables() {
2768 void CodeGenModule::EmitMultiVersionFunctionDefinition(GlobalDecl GD,
2781 void CodeGenModule::emitOpenMPDeviceFunctionRedefinition(
2825 void CodeGenModule::EmitGlobalDefinition(GlobalDecl GD, llvm::GlobalValue *GV) {
2889 void CodeGenModule::emitMultiVersionFunctions() {
2946 void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) {
3061 llvm::Constant *CodeGenModule::GetOrCreateMultiVersionResolver(
3115 llvm::Constant *CodeGenModule::GetOrCreateLLVMFunction(
3305 llvm::Constant *CodeGenModule::GetAddrOfFunction(GlobalDecl GD,
3373 CodeGenModule::CreateRuntimeFunction(llvm::FunctionType *FTy, StringRef Name,
3417 bool CodeGenModule::isTypeConstant(QualType Ty, bool ExcludeCtor) {
3443 CodeGenModule::GetOrCreateLLVMGlobal(StringRef MangledName,
3628 CodeGenModule::GetAddrOfGlobal(GlobalDecl GD,
3650 llvm::GlobalVariable *CodeGenModule::CreateOrReplaceCXXRuntimeVariable(
3699 llvm::Constant *CodeGenModule::GetAddrOfGlobalVar(const VarDecl *D,
3717 CodeGenModule::CreateRuntimeVariable(llvm::Type *Ty,
3729 void CodeGenModule::EmitTentativeDefinition(const VarDecl *D) {
3752 void CodeGenModule::EmitExternalDeclaration(const VarDecl *D) {
3756 CharUnits CodeGenModule::GetTargetTypeStoreSize(llvm::Type *Ty) const {
3761 LangAS CodeGenModule::GetGlobalVarAddressSpace(const VarDecl *D) {
3793 LangAS CodeGenModule::getStringLiteralAddressSpace() const {
3811 castStringLiteralToDefaultAddressSpace(CodeGenModule &CGM,
3827 void CodeGenModule::MaybeHandleStaticInExternC(const SomeDecl *D,
3859 static bool shouldBeInCOMDAT(CodeGenModule &CGM, const Decl &D) {
3889 void CodeGenModule::maybeSetTrivialComdat(const Decl &D,
3897 void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D,
4139 void CodeGenModule::EmitExternalVarDeclaration(const VarDecl *D) {
4153 CodeGenModule &CGM, const VarDecl *D,
4228 llvm::GlobalValue::LinkageTypes CodeGenModule::getLLVMLinkageForDeclarator(
4300 llvm::GlobalValue::LinkageTypes CodeGenModule::getLLVMLinkageVarDefinition(
4422 void CodeGenModule::HandleCXXStaticMemberVarInstantiation(VarDecl *VD) {
4436 void CodeGenModule::EmitGlobalFunctionDefinition(GlobalDecl GD,
4487 void CodeGenModule::EmitAliasDefinition(GlobalDecl GD) {
4568 void CodeGenModule::emitIFuncDefinition(GlobalDecl GD) {
4628 llvm::Function *CodeGenModule::getIntrinsic(unsigned IID,
4669 CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) {
4860 bool CodeGenModule::getExpressionLocationsEnabled() const {
4864 QualType CodeGenModule::getObjCFastEnumerationStateType() {
4898 CodeGenModule::GetConstantArrayFromStringLiteral(const StringLiteral *E) {
4939 CodeGenModule &CGM, StringRef GlobalName,
4963 CodeGenModule::GetAddrOfConstantStringFromLiteral(const StringLiteral *S,
5011 CodeGenModule::GetAddrOfConstantStringFromObjCEncode(const ObjCEncodeExpr *E) {
5021 ConstantAddress CodeGenModule::GetAddrOfConstantCString(
5055 ConstantAddress CodeGenModule::GetAddrOfGlobalTemporary(
5155 void CodeGenModule::EmitObjCPropertyImplementations(const
5189 static bool AllTrivialInitializers(CodeGenModule &CGM,
5204 void CodeGenModule::EmitObjCIvarInitializations(ObjCImplementationDecl *D) {
5243 void CodeGenModule::EmitLinkageSpec(const LinkageSpecDecl *LSD) {
5253 void CodeGenModule::EmitDeclContext(const DeclContext *DC) {
5270 void CodeGenModule::EmitTopLevelDecl(Decl *D) {
5520 void CodeGenModule::AddDeferredUnusedCoverageMapping(Decl *D) {
5546 void CodeGenModule::ClearUnusedCoverageMapping(const Decl *D) {
5561 void CodeGenModule::EmitDeferredUnusedCoverageMappings() {
5609 static void EmitGlobalDeclMetadata(CodeGenModule &CGM,
5629 void CodeGenModule::EmitStaticExternCAliases() {
5640 bool CodeGenModule::lookupRepresentativeDecl(StringRef MangledName,
5656 void CodeGenModule::EmitDeclMetadata() {
5695 void CodeGenModule::EmitVersionIdentMetadata() {
5705 void CodeGenModule::EmitCommandLineMetadata() {
5715 void CodeGenModule::EmitTargetMetadata() {
5730 void CodeGenModule::EmitCoverageFile() {
5752 llvm::Constant *CodeGenModule::EmitUuidofInitializer(StringRef Uuid) {
5779 llvm::Constant *CodeGenModule::GetAddrOfRTTIDescriptor(QualType Ty,
5794 void CodeGenModule::EmitOMPThreadPrivateDecl(const OMPThreadPrivateDecl *D) {
5813 CodeGenModule::CreateMetadataIdentifierImpl(QualType T, MetadataTypeMap &Map,
5834 llvm::Metadata *CodeGenModule::CreateMetadataIdentifierForType(QualType T) {
5839 CodeGenModule::CreateMetadataIdentifierForVirtualMemPtrType(QualType T) {
5875 llvm::Metadata *CodeGenModule::CreateMetadataIdentifierGeneralized(QualType T) {
5881 bool CodeGenModule::NeedAllVtablesTypeId() const {
5894 void CodeGenModule::AddVTableTypeMetadata(llvm::GlobalVariable *VTable,
5912 llvm::SanitizerStatReport &CodeGenModule::getSanStats() {
5919 CodeGenModule::createOpenCLIntToSamplerConversion(const Expr *E,