Lines Matching defs:CodeGenModule
1 //===--- CodeGenModule.cpp - Emit LLVM Code from ASTs for a Module --------===//
13 #include "CodeGenModule.h"
77 static CGCXXABI *createCXXABI(CodeGenModule &CGM) {
97 CodeGenModule::CodeGenModule(ASTContext &C, const HeaderSearchOptions &HSO,
213 CodeGenModule::~CodeGenModule() {}
215 void CodeGenModule::createObjCRuntime() {
235 void CodeGenModule::createOpenCLRuntime() {
239 void CodeGenModule::createOpenMPRuntime() {
263 void CodeGenModule::createCUDARuntime() {
267 void CodeGenModule::addReplacement(StringRef Name, llvm::Constant *C) {
271 void CodeGenModule::applyReplacements() {
302 void CodeGenModule::addGlobalValReplacement(llvm::GlobalValue *GV, llvm::Constant *C) {
306 void CodeGenModule::applyGlobalValReplacements() {
336 void CodeGenModule::checkAliases() {
411 void CodeGenModule::clear() {
440 CodeGenModule::GetLLVMVisibility(LO.getDLLExportVisibility());
442 CodeGenModule::GetLLVMVisibility(LO.getNoDLLStorageClassVisibility());
444 CodeGenModule::GetLLVMVisibility(LO.getExternDeclDLLImportVisibility());
446 CodeGenModule::GetLLVMVisibility(
476 void CodeGenModule::Release() {
800 void CodeGenModule::EmitOpenCLMetadata() {
817 void CodeGenModule::EmitBackendOptionsMetadata(
830 void CodeGenModule::UpdateCompletedType(const TagDecl *TD) {
835 void CodeGenModule::RefreshTypeCacheForClass(const CXXRecordDecl *RD) {
840 llvm::MDNode *CodeGenModule::getTBAATypeInfo(QualType QTy) {
846 CodeGenModule::getTBAAAccessInfo(QualType AccessType) {
866 CodeGenModule::getTBAAVTablePtrAccessInfo(llvm::Type *VTablePtrType) {
872 llvm::MDNode *CodeGenModule::getTBAAStructInfo(QualType QTy) {
878 llvm::MDNode *CodeGenModule::getTBAABaseTypeInfo(QualType QTy) {
884 llvm::MDNode *CodeGenModule::getTBAAAccessTagInfo(TBAAAccessInfo Info) {
890 TBAAAccessInfo CodeGenModule::mergeTBAAInfoForCast(TBAAAccessInfo SourceInfo,
898 CodeGenModule::mergeTBAAInfoForConditionalOperator(TBAAAccessInfo InfoA,
906 CodeGenModule::mergeTBAAInfoForMemoryTransfer(TBAAAccessInfo DestInfo,
913 void CodeGenModule::DecorateInstructionWithTBAA(llvm::Instruction *Inst,
919 void CodeGenModule::DecorateInstructionWithInvariantGroup(
925 void CodeGenModule::Error(SourceLocation loc, StringRef message) {
932 void CodeGenModule::ErrorUnsupported(const Stmt *S, const char *Type) {
942 void CodeGenModule::ErrorUnsupported(const Decl *D, const char *Type) {
949 llvm::ConstantInt *CodeGenModule::getSize(CharUnits size) {
953 void CodeGenModule::setGlobalVisibility(llvm::GlobalValue *GV,
972 static bool shouldAssumeDSOLocal(const CodeGenModule &CGM,
1068 void CodeGenModule::setDSOLocal(llvm::GlobalValue *GV) const {
1072 void CodeGenModule::setDLLImportDLLExport(llvm::GlobalValue *GV,
1083 void CodeGenModule::setDLLImportDLLExport(llvm::GlobalValue *GV,
1093 void CodeGenModule::setGVProperties(llvm::GlobalValue *GV,
1099 void CodeGenModule::setGVProperties(llvm::GlobalValue *GV,
1105 void CodeGenModule::setGVPropertiesAux(llvm::GlobalValue *GV,
1121 CodeGenModule::GetDefaultLLVMTLSModel() const {
1135 void CodeGenModule::setTLSMode(llvm::GlobalValue *GV, const VarDecl &D) const {
1149 static std::string getCPUSpecificMangling(const CodeGenModule &CGM,
1155 static void AppendCPUSpecificCPUDispatchMangling(const CodeGenModule &CGM,
1167 static void AppendTargetMangling(const CodeGenModule &CGM,
1202 CodeGenModule &CGM) {
1208 static std::string getMangledNameImpl(CodeGenModule &CGM, GlobalDecl GD,
1274 void CodeGenModule::UpdateMultiVersionNames(GlobalDecl GD,
1314 StringRef CodeGenModule::getMangledName(GlobalDecl GD) {
1367 StringRef CodeGenModule::getBlockMangledName(GlobalDecl GD,
1388 llvm::GlobalValue *CodeGenModule::GetGlobalValue(StringRef Name) {
1394 void CodeGenModule::AddGlobalCtor(llvm::Function *Ctor, int Priority,
1402 void CodeGenModule::AddGlobalDtor(llvm::Function *Dtor, int Priority,
1414 void CodeGenModule::EmitCtorList(CtorList &Fns, const char *GlobalName) {
1453 CodeGenModule::getFunctionLinkage(GlobalDecl GD) {
1473 llvm::ConstantInt *CodeGenModule::CreateCrossDsoCfiTypeId(llvm::Metadata *MD) {
1480 void CodeGenModule::SetLLVMFunctionAttributes(GlobalDecl GD,
1536 void CodeGenModule::GenOpenCLArgMetadata(llvm::Function *Fn,
1696 static bool requiresMemberFunctionPointerTypeMetadata(CodeGenModule &CGM,
1710 CodeGenModule::getMostBaseClasses(const CXXRecordDecl *RD) {
1724 void CodeGenModule::SetLLVMFunctionAttributesForDefinition(const Decl *D,
1886 void CodeGenModule::setLLVMFunctionFEnvAttributes(const FunctionDecl *D,
1895 void CodeGenModule::SetCommonAttributes(GlobalDecl GD, llvm::GlobalValue *GV) {
1913 bool CodeGenModule::GetCPUAndFeaturesAttributes(GlobalDecl GD,
1972 void CodeGenModule::setNonAliasAttributes(GlobalDecl GD,
2021 void CodeGenModule::SetInternalFunctionAttributes(GlobalDecl GD,
2044 void CodeGenModule::CreateFunctionTypeMetadataForIcall(const FunctionDecl *FD,
2065 void CodeGenModule::SetFunctionAttributes(GlobalDecl GD, llvm::Function *F,
2163 void CodeGenModule::addUsedGlobal(llvm::GlobalValue *GV) {
2169 void CodeGenModule::addCompilerUsedGlobal(llvm::GlobalValue *GV) {
2175 void CodeGenModule::addUsedOrCompilerUsedGlobal(llvm::GlobalValue *GV) {
2184 static void emitUsed(CodeGenModule &CGM, StringRef Name,
2210 void CodeGenModule::emitLLVMUsed() {
2215 void CodeGenModule::AppendLinkerOptions(StringRef Opts) {
2220 void CodeGenModule::AddDetectMismatch(StringRef Name, StringRef Value) {
2229 void CodeGenModule::AddDependentLib(StringRef Lib) {
2245 static void addLinkOptionsPostorder(CodeGenModule &CGM, Module *Mod,
2298 void CodeGenModule::EmitModuleLinkOptions() {
2361 void CodeGenModule::EmitDeferred() {
2438 void CodeGenModule::EmitVTablesOpportunistically() {
2456 void CodeGenModule::EmitGlobalAnnotations() {
2469 llvm::Constant *CodeGenModule::EmitAnnotationString(StringRef Str) {
2485 llvm::Constant *CodeGenModule::EmitAnnotationUnit(SourceLocation Loc) {
2493 llvm::Constant *CodeGenModule::EmitAnnotationLineNo(SourceLocation L) {
2501 llvm::Constant *CodeGenModule::EmitAnnotationArgs(const AnnotateAttr *Attr) {
2534 llvm::Constant *CodeGenModule::EmitAnnotateAttr(llvm::GlobalValue *GV,
2560 void CodeGenModule::AddGlobalAnnotations(const ValueDecl *D,
2568 bool CodeGenModule::isInNoSanitizeList(SanitizerMask Kind, llvm::Function *Fn,
2586 bool CodeGenModule::isInNoSanitizeList(llvm::GlobalVariable *GV,
2619 bool CodeGenModule::imbueXRayAttrs(llvm::Function *Fn, SourceLocation Loc,
2645 bool CodeGenModule::isProfileInstrExcluded(llvm::Function *Fn,
2673 bool CodeGenModule::MustBeEmitted(const ValueDecl *Global) {
2688 bool CodeGenModule::MayBeEmittedEagerly(const ValueDecl *Global) {
2725 ConstantAddress CodeGenModule::GetAddrOfMSGuidDecl(const MSGuidDecl *GD) {
2778 ConstantAddress CodeGenModule::GetAddrOfTemplateParamObject(
2805 ConstantAddress CodeGenModule::GetWeakRefReference(const ValueDecl *VD) {
2835 void CodeGenModule::EmitGlobal(GlobalDecl GD) {
3092 CodeGenModule::isTriviallyRecursive(const FunctionDecl *FD) {
3109 bool CodeGenModule::shouldEmitFunction(GlobalDecl GD) {
3144 bool CodeGenModule::shouldOpportunisticallyEmitVTables() {
3148 void CodeGenModule::EmitMultiVersionFunctionDefinition(GlobalDecl GD,
3161 void CodeGenModule::EmitGlobalDefinition(GlobalDecl GD, llvm::GlobalValue *GV) {
3225 void CodeGenModule::emitMultiVersionFunctions() {
3295 void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) {
3410 llvm::Constant *CodeGenModule::GetOrCreateMultiVersionResolver(
3464 llvm::Constant *CodeGenModule::GetOrCreateLLVMFunction(
3649 llvm::Constant *CodeGenModule::GetAddrOfFunction(GlobalDecl GD,
3729 CodeGenModule::CreateRuntimeFunction(llvm::FunctionType *FTy, StringRef Name,
3773 bool CodeGenModule::isTypeConstant(QualType Ty, bool ExcludeCtor) {
3799 CodeGenModule::GetOrCreateLLVMGlobal(StringRef MangledName, llvm::Type *Ty,
3991 CodeGenModule::GetAddrOfGlobal(GlobalDecl GD, ForDefinition_t IsForDefinition) {
4016 llvm::GlobalVariable *CodeGenModule::CreateOrReplaceCXXRuntimeVariable(
4065 llvm::Constant *CodeGenModule::GetAddrOfGlobalVar(const VarDecl *D,
4082 CodeGenModule::CreateRuntimeVariable(llvm::Type *Ty,
4093 void CodeGenModule::EmitTentativeDefinition(const VarDecl *D) {
4116 void CodeGenModule::EmitExternalDeclaration(const VarDecl *D) {
4120 CharUnits CodeGenModule::GetTargetTypeStoreSize(llvm::Type *Ty) const {
4125 LangAS CodeGenModule::GetGlobalVarAddressSpace(const VarDecl *D) {
4163 LangAS CodeGenModule::GetGlobalConstantAddressSpace() const {
4183 castStringLiteralToDefaultAddressSpace(CodeGenModule &CGM,
4198 void CodeGenModule::MaybeHandleStaticInExternC(const SomeDecl *D,
4230 static bool shouldBeInCOMDAT(CodeGenModule &CGM, const Decl &D) {
4260 void CodeGenModule::maybeSetTrivialComdat(const Decl &D,
4268 void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D,
4497 void CodeGenModule::EmitExternalVarDeclaration(const VarDecl *D) {
4510 CodeGenModule &CGM, const VarDecl *D,
4585 llvm::GlobalValue::LinkageTypes CodeGenModule::getLLVMLinkageForDeclarator(
4660 llvm::GlobalValue::LinkageTypes CodeGenModule::getLLVMLinkageVarDefinition(
4782 void CodeGenModule::HandleCXXStaticMemberVarInstantiation(VarDecl *VD) {
4796 void CodeGenModule::EmitGlobalFunctionDefinition(GlobalDecl GD,
4844 void CodeGenModule::EmitAliasDefinition(GlobalDecl GD) {
4927 void CodeGenModule::emitIFuncDefinition(GlobalDecl GD) {
4987 llvm::Function *CodeGenModule::getIntrinsic(unsigned IID,
5028 CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) {
5221 bool CodeGenModule::getExpressionLocationsEnabled() const {
5225 QualType CodeGenModule::getObjCFastEnumerationStateType() {
5259 CodeGenModule::GetConstantArrayFromStringLiteral(const StringLiteral *E) {
5300 CodeGenModule &CGM, StringRef GlobalName,
5324 CodeGenModule::GetAddrOfConstantStringFromLiteral(const StringLiteral *S,
5372 CodeGenModule::GetAddrOfConstantStringFromObjCEncode(const ObjCEncodeExpr *E) {
5382 ConstantAddress CodeGenModule::GetAddrOfConstantCString(
5416 ConstantAddress CodeGenModule::GetAddrOfGlobalTemporary(
5539 void CodeGenModule::EmitObjCPropertyImplementations(const
5573 static bool AllTrivialInitializers(CodeGenModule &CGM,
5588 void CodeGenModule::EmitObjCIvarInitializations(ObjCImplementationDecl *D) {
5627 void CodeGenModule::EmitLinkageSpec(const LinkageSpecDecl *LSD) {
5637 void CodeGenModule::EmitDeclContext(const DeclContext *DC) {
5654 void CodeGenModule::EmitTopLevelDecl(Decl *D) {
5937 void CodeGenModule::AddDeferredUnusedCoverageMapping(Decl *D) {
5963 void CodeGenModule::ClearUnusedCoverageMapping(const Decl *D) {
5978 void CodeGenModule::EmitDeferredUnusedCoverageMappings() {
6018 void CodeGenModule::EmitMainVoidAlias() {
6037 static void EmitGlobalDeclMetadata(CodeGenModule &CGM,
6057 void CodeGenModule::EmitStaticExternCAliases() {
6068 bool CodeGenModule::lookupRepresentativeDecl(StringRef MangledName,
6084 void CodeGenModule::EmitDeclMetadata() {
6123 void CodeGenModule::EmitVersionIdentMetadata() {
6133 void CodeGenModule::EmitCommandLineMetadata() {
6143 void CodeGenModule::EmitCoverageFile() {
6165 llvm::Constant *CodeGenModule::GetAddrOfRTTIDescriptor(QualType Ty,
6182 void CodeGenModule::EmitOMPThreadPrivateDecl(const OMPThreadPrivateDecl *D) {
6201 CodeGenModule::CreateMetadataIdentifierImpl(QualType T, MetadataTypeMap &Map,
6222 llvm::Metadata *CodeGenModule::CreateMetadataIdentifierForType(QualType T) {
6227 CodeGenModule::CreateMetadataIdentifierForVirtualMemPtrType(QualType T) {
6263 llvm::Metadata *CodeGenModule::CreateMetadataIdentifierGeneralized(QualType T) {
6269 bool CodeGenModule::NeedAllVtablesTypeId() const {
6282 void CodeGenModule::AddVTableTypeMetadata(llvm::GlobalVariable *VTable,
6300 llvm::SanitizerStatReport &CodeGenModule::getSanStats() {
6308 CodeGenModule::createOpenCLIntToSamplerConversion(const Expr *E,
6318 CharUnits CodeGenModule::getNaturalPointeeTypeAlignment(
6324 CharUnits CodeGenModule::getNaturalTypeAlignment(QualType T,
6390 bool CodeGenModule::stopAutoInit() {
6415 void CodeGenModule::printPostfixForExternalizedStaticVar(