|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/clang/include/clang/CodeGen/ModuleBuilder.h 30 class GlobalDecl;
tools/clang/lib/CodeGen/CGDebugInfo.h 38 class GlobalDecl;
tools/clang/lib/CodeGen/CodeGenTypes.h 48 class GlobalDecl;
References
include/llvm/ADT/DenseMap.h 40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
43 KeyT &getFirst() { return std::pair<KeyT, ValueT>::first; }
44 const KeyT &getFirst() const { return std::pair<KeyT, ValueT>::first; }
65 using key_type = KeyT;
69 using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
71 DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
78 if (shouldReverseIterate<KeyT>())
88 if (shouldReverseIterate<KeyT>())
145 size_type count(const_arg_type_t<KeyT> Val) const {
150 iterator find(const_arg_type_t<KeyT> Val) {
156 const_iterator find(const_arg_type_t<KeyT> Val) const {
185 ValueT lookup(const_arg_type_t<KeyT> Val) const {
195 std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
202 std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
210 std::pair<iterator, bool> try_emplace(KeyT &&Key, Ts &&... Args) {
229 std::pair<iterator, bool> try_emplace(const KeyT &Key, Ts &&... Args) {
249 std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
272 bool erase(const KeyT &Val) {
291 value_type& FindAndConstruct(const KeyT &Key) {
299 ValueT &operator[](const KeyT &Key) {
303 value_type& FindAndConstruct(KeyT &&Key) {
311 ValueT &operator[](KeyT &&Key) {
334 const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey();
349 const KeyT EmptyKey = getEmptyKey();
351 ::new (&B->getFirst()) KeyT(EmptyKey);
369 const KeyT EmptyKey = getEmptyKey();
370 const KeyT TombstoneKey = getTombstoneKey();
392 const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
414 static unsigned getHashValue(const KeyT &Val) {
419 static unsigned getHashValue(const LookupKeyT &Val) {
423 static const KeyT getEmptyKey() {
429 static const KeyT getTombstoneKey() {
437 if (shouldReverseIterate<KeyT>()) {
447 if (shouldReverseIterate<KeyT>()) {
515 BucketT *InsertIntoBucket(BucketT *TheBucket, KeyArg &&Key,
519 TheBucket->getFirst() = std::forward<KeyArg>(Key);
525 BucketT *InsertIntoBucketWithLookup(BucketT *TheBucket, KeyT &&Key,
535 BucketT *InsertIntoBucketImpl(const KeyT &Key, const LookupKeyT &Lookup,
535 BucketT *InsertIntoBucketImpl(const KeyT &Key, const LookupKeyT &Lookup,
566 const KeyT EmptyKey = getEmptyKey();
578 bool LookupBucketFor(const LookupKeyT &Val,
590 const KeyT EmptyKey = getEmptyKey();
591 const KeyT TombstoneKey = getTombstoneKey();
629 bool LookupBucketFor(const LookupKeyT &Val, BucketT *&FoundBucket) {
684 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
685 KeyT, ValueT, KeyInfoT, BucketT> {
690 using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
1163 using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
1186 if (shouldReverseIterate<KeyT>()) {
1199 const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
1204 if (shouldReverseIterate<KeyT>())
1210 if (shouldReverseIterate<KeyT>())
1232 if (shouldReverseIterate<KeyT>()) {
1249 const KeyT Empty = KeyInfoT::getEmptyKey();
1250 const KeyT Tombstone = KeyInfoT::getTombstoneKey();
1259 const KeyT Empty = KeyInfoT::getEmptyKey();
1260 const KeyT Tombstone = KeyInfoT::getTombstoneKey();
include/llvm/ADT/DenseMapInfo.h 186 using Pair = std::pair<T, U>;
187 using FirstInfo = DenseMapInfo<T>;
include/llvm/ADT/DenseSet.h 35 KeyT key;
38 KeyT &getFirst() { return key; }
39 const KeyT &getFirst() const { return key; }
55 static_assert(sizeof(typename MapTy::value_type) == sizeof(ValueT),
63 using key_type = ValueT;
64 using value_type = ValueT;
69 DenseSetImpl(std::initializer_list<ValueT> Elems)
91 size_type count(const_arg_type_t<ValueT> V) const {
95 bool erase(const ValueT &V) {
112 using value_type = ValueT;
120 ValueT &operator*() { return I->getFirst(); }
121 const ValueT &operator*() const { return I->getFirst(); }
122 ValueT *operator->() { return &I->getFirst(); }
123 const ValueT *operator->() const { return &I->getFirst(); }
165 iterator find(const_arg_type_t<ValueT> V) { return Iterator(TheMap.find(V)); }
166 const_iterator find(const_arg_type_t<ValueT> V) const {
187 std::pair<iterator, bool> insert(const ValueT &V) {
192 std::pair<iterator, bool> insert(ValueT &&V) {
200 std::pair<iterator, bool> insert_as(const ValueT &V,
205 std::pair<iterator, bool> insert_as(ValueT &&V, const LookupKeyT &LookupKey) {
250 ValueT, DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
250 ValueT, DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
251 detail::DenseSetPair<ValueT>>,
254 detail::DenseSetImpl<ValueT,
255 DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
256 detail::DenseSetPair<ValueT>>,
include/llvm/ADT/MapVector.h 83 std::pair<KeyT, ValueT> &front() { return Vector.front(); }
84 const std::pair<KeyT, ValueT> &front() const { return Vector.front(); }
85 std::pair<KeyT, ValueT> &back() { return Vector.back(); }
86 const std::pair<KeyT, ValueT> &back() const { return Vector.back(); }
98 ValueT &operator[](const KeyT &Key) {
99 std::pair<KeyT, typename MapType::mapped_type> Pair = std::make_pair(Key, 0);
110 ValueT lookup(const KeyT &Key) const {
117 std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
129 std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
142 size_type count(const KeyT &Key) const {
147 iterator find(const KeyT &Key) {
153 const_iterator find(const KeyT &Key) const {
192 size_type erase(const KeyT &Key) {
include/llvm/ADT/StringMap.h 129 ValueTy second;
134 StringMapEntryStorage(size_t strLen, InitTy &&... InitVals)
135 : StringMapEntryBase(strLen), second(std::forward<InitTy>(InitVals)...) {}
138 const ValueTy &getValue() const { return second; }
139 ValueTy &getValue() { return second; }
141 void setValue(const ValueTy &V) { second = V; }
158 class StringMapEntry final : public StringMapEntryStorage<ValueTy> {
160 using StringMapEntryStorage<ValueTy>::StringMapEntryStorage;
179 InitTy &&... InitVals) {
192 new (NewItem) StringMapEntry(KeyLength, std::forward<InitTy>(InitVals)...);
204 static StringMapEntry *Create(StringRef Key, InitType &&... InitVal) {
246 using MapEntryTy = StringMapEntry<ValueTy>;
260 StringMap(std::initializer_list<std::pair<StringRef, ValueTy>> List)
330 using mapped_type = ValueTy;
331 using value_type = StringMapEntry<ValueTy>;
334 using const_iterator = StringMapConstIterator<ValueTy>;
335 using iterator = StringMapIterator<ValueTy>;
350 iterator_range<StringMapKeyIterator<ValueTy>> keys() const {
369 ValueTy lookup(StringRef Key) const {
378 ValueTy &operator[](StringRef Key) { return try_emplace(Key).first->second; }
413 std::pair<iterator, bool> insert(std::pair<StringRef, ValueTy> KV) {
432 std::pair<iterator, bool> try_emplace(StringRef Key, ArgsTy &&... Args) {
441 Bucket = MapEntryTy::Create(Key, Allocator, std::forward<ArgsTy>(Args)...);
531 : public StringMapIterBase<StringMapConstIterator<ValueTy>,
532 const StringMapEntry<ValueTy>> {
533 using base = StringMapIterBase<StringMapConstIterator<ValueTy>,
534 const StringMapEntry<ValueTy>>;
542 const StringMapEntry<ValueTy> &operator*() const {
548 class StringMapIterator : public StringMapIterBase<StringMapIterator<ValueTy>,
549 StringMapEntry<ValueTy>> {
551 StringMapIterBase<StringMapIterator<ValueTy>, StringMapEntry<ValueTy>>;
551 StringMapIterBase<StringMapIterator<ValueTy>, StringMapEntry<ValueTy>>;
559 StringMapEntry<ValueTy> &operator*() const {
563 operator StringMapConstIterator<ValueTy>() const {
include/llvm/Support/type_traits.h 65 using type = const T &;
tools/clang/include/clang/AST/GlobalDecl.h 68 GlobalDecl getCanonicalDecl() const {
69 GlobalDecl CanonGD;
104 friend bool operator==(const GlobalDecl &LHS, const GlobalDecl &RHS) {
104 friend bool operator==(const GlobalDecl &LHS, const GlobalDecl &RHS) {
111 static GlobalDecl getFromOpaquePtr(void *P) {
112 GlobalDecl GD;
117 GlobalDecl getWithDecl(const Decl *D) {
118 GlobalDecl Result(*this);
123 GlobalDecl getWithCtorType(CXXCtorType Type) {
125 GlobalDecl Result(*this);
130 GlobalDecl getWithDtorType(CXXDtorType Type) {
132 GlobalDecl Result(*this);
137 GlobalDecl getWithMultiVersionIndex(unsigned Index) {
142 GlobalDecl Result(*this);
153 static inline clang::GlobalDecl getEmptyKey() {
157 static inline clang::GlobalDecl getTombstoneKey() {
158 return clang::GlobalDecl::
162 static unsigned getHashValue(clang::GlobalDecl GD) {
166 static bool isEqual(clang::GlobalDecl LHS,
167 clang::GlobalDecl RHS) {
tools/clang/include/clang/AST/VTableBuilder.h 152 GlobalDecl getGlobalDecl() const {
352 typedef llvm::DenseMap<GlobalDecl, int64_t> MethodVTableIndicesTy;
392 uint64_t getMethodVTableIndex(GlobalDecl GD);
514 typedef llvm::DenseMap<GlobalDecl, MethodVFTableLocation>
555 MethodVFTableLocation getMethodVFTableLocation(GlobalDecl GD);
tools/clang/include/clang/CodeGen/ModuleBuilder.h 85 llvm::Constant *GetAddrOfGlobal(GlobalDecl decl, bool isForDefinition);
tools/clang/lib/AST/VTableBuilder.cpp 782 typedef llvm::DenseMap<GlobalDecl, int64_t> MethodVTableIndicesTy;
2167 GlobalDecl GD(DD, Dtor_Complete);
2223 uint64_t ItaniumVTableContext::getMethodVTableIndex(GlobalDecl GD) {
2369 typedef llvm::DenseMap<GlobalDecl, MethodVFTableLocation>
3731 MicrosoftVTableContext::getMethodVFTableLocation(GlobalDecl GD) {
tools/clang/lib/CodeGen/CGBlocks.cpp 1515 CodeGenFunction::GenerateBlockFunction(GlobalDecl GD,
tools/clang/lib/CodeGen/CGBuiltin.cpp 75 GlobalDecl D(FD);
1531 RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID,
tools/clang/lib/CodeGen/CGCXX.cpp 111 GlobalDecl AliasDecl(D, Dtor_Base);
112 GlobalDecl TargetDecl(BaseD, Dtor_Base);
206 llvm::Function *CodeGenModule::codegenCXXStructor(GlobalDecl GD) {
221 GlobalDecl GD, const CGFunctionInfo *FnInfo, llvm::FunctionType *FnType,
247 GlobalDecl GD,
tools/clang/lib/CodeGen/CGCXXABI.cpp 297 bool CGCXXABI::NeedsVTTParameter(GlobalDecl GD) {
tools/clang/lib/CodeGen/CGCXXABI.h 89 virtual bool isThisCompleteObject(GlobalDecl GD) const = 0;
106 virtual bool HasThisReturn(GlobalDecl GD) const { return false; }
108 virtual bool hasMostDerivedReturn(GlobalDecl GD) const { return false; }
308 buildStructorSignature(GlobalDecl GD,
341 adjustThisArgumentForVirtualFunctionCall(CodeGenFunction &CGF, GlobalDecl GD,
361 virtual CharUnits getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) {
420 GlobalDecl GD, Address This,
435 GlobalDecl GD,
445 GlobalDecl GD, bool ReturnAdjustment) = 0;
517 virtual bool NeedsVTTParameter(GlobalDecl GD);
591 virtual void emitCXXStructor(GlobalDecl GD) = 0;
tools/clang/lib/CodeGen/CGCall.cpp 305 CodeGenTypes::arrangeCXXStructorDeclaration(GlobalDecl GD) {
409 GlobalDecl GD(D, CtorKind);
512 CodeGenTypes::arrangeGlobalDeclaration(GlobalDecl GD) {
1535 llvm::FunctionType *CodeGenTypes::GetFunctionType(GlobalDecl GD) {
1669 llvm::Type *CodeGenTypes::GetFunctionTypeForVTable(GlobalDecl GD) {
tools/clang/lib/CodeGen/CGCall.h 48 GlobalDecl CalleeDecl;
52 CGCalleeInfo(const FunctionProtoType *calleeProtoTy, GlobalDecl calleeDecl)
56 CGCalleeInfo(GlobalDecl calleeDecl)
62 const GlobalDecl getCalleeDecl() const { return CalleeDecl; }
85 GlobalDecl MD;
144 static CGCallee forVirtual(const CallExpr *CE, GlobalDecl MD, Address Addr,
199 GlobalDecl getVirtualMethodDecl() const {
tools/clang/lib/CodeGen/CGClass.cpp 435 llvm::Value *CodeGenFunction::GetVTTParameter(GlobalDecl GD,
2230 GlobalDecl GD(Ctor, CtorType);
tools/clang/lib/CodeGen/CGDebugInfo.cpp 145 GlobalDecl InlinedFn)
1587 GlobalDecl GD = DD ? GlobalDecl(DD, Dtor_Deleting) : GlobalDecl(Method);
3229 void CGDebugInfo::collectFunctionDeclProps(GlobalDecl GD, llvm::DIFile *Unit,
3323 llvm::DISubprogram *CGDebugInfo::getFunctionFwdDeclOrStub(GlobalDecl GD,
3370 llvm::DISubprogram *CGDebugInfo::getFunctionForwardDeclaration(GlobalDecl GD) {
3374 llvm::DISubprogram *CGDebugInfo::getFunctionStub(GlobalDecl GD) {
3535 void CGDebugInfo::EmitFunctionStart(GlobalDecl GD, SourceLocation Loc,
3658 void CGDebugInfo::EmitFunctionDecl(GlobalDecl GD, SourceLocation Loc,
3731 void CGDebugInfo::EmitInlineFunctionStart(CGBuilderTy &Builder, GlobalDecl GD) {
tools/clang/lib/CodeGen/CGDebugInfo.h 401 void EmitFunctionStart(GlobalDecl GD, SourceLocation Loc,
407 void EmitInlineFunctionStart(CGBuilderTy &Builder, GlobalDecl GD);
413 void EmitFunctionDecl(GlobalDecl GD, SourceLocation Loc,
612 llvm::DISubprogram *getFunctionFwdDeclOrStub(GlobalDecl GD, bool Stub);
616 llvm::DISubprogram *getFunctionForwardDeclaration(GlobalDecl GD);
620 llvm::DISubprogram *getFunctionStub(GlobalDecl GD);
683 void collectFunctionDeclProps(GlobalDecl GD, llvm::DIFile *Unit,
773 ApplyInlineDebugLocation(CodeGenFunction &CGF, GlobalDecl InlinedFn);
tools/clang/lib/CodeGen/CGDecl.cpp 287 GlobalDecl GD;
tools/clang/lib/CodeGen/CGExpr.cpp 4597 GlobalDecl GD;
tools/clang/lib/CodeGen/CGExprCXX.cpp 94 GlobalDecl Dtor, const CGCallee &Callee, llvm::Value *This, QualType ThisTy,
352 GlobalDecl GD(Dtor, Dtor_Complete);
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp 1267 bool CGOpenMPRuntime::tryEmitDeclareVariant(const GlobalDecl &NewGD,
1268 const GlobalDecl &OldGD,
9579 bool CGOpenMPRuntime::emitTargetFunctions(GlobalDecl GD) {
9610 bool CGOpenMPRuntime::emitTargetGlobalVariable(GlobalDecl GD) {
9749 bool CGOpenMPRuntime::emitTargetGlobal(GlobalDecl GD) {
9834 bool CGOpenMPRuntime::markAsGlobalTarget(GlobalDecl GD) {
11125 bool CGOpenMPRuntime::emitDeclareVariant(GlobalDecl GD, bool IsForDefinition) {
11137 GlobalDecl NewGD = GD.getWithDecl(NewFD);
11376 bool CGOpenMPSIMDRuntime::emitTargetFunctions(GlobalDecl GD) {
11380 bool CGOpenMPSIMDRuntime::emitTargetGlobalVariable(GlobalDecl GD) {
11384 bool CGOpenMPSIMDRuntime::emitTargetGlobal(GlobalDecl GD) {
tools/clang/lib/CodeGen/CGOpenMPRuntime.h 300 virtual bool tryEmitDeclareVariant(const GlobalDecl &NewGD,
301 const GlobalDecl &OldGD,
661 std::pair<GlobalDecl, GlobalDecl>>
661 std::pair<GlobalDecl, GlobalDecl>>
1461 virtual bool emitTargetFunctions(GlobalDecl GD);
1466 virtual bool emitTargetGlobalVariable(GlobalDecl GD);
1481 virtual bool emitTargetGlobal(GlobalDecl GD);
1641 bool markAsGlobalTarget(GlobalDecl GD);
1665 virtual bool emitDeclareVariant(GlobalDecl GD, bool IsForDefinition);
2149 bool emitTargetFunctions(GlobalDecl GD) override;
2154 bool emitTargetGlobalVariable(GlobalDecl GD) override;
2159 bool emitTargetGlobal(GlobalDecl GD) override;
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 1907 bool CGOpenMPRuntimeNVPTX::tryEmitDeclareVariant(const GlobalDecl &NewGD,
1908 const GlobalDecl &OldGD,
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h 204 bool tryEmitDeclareVariant(const GlobalDecl &NewGD, const GlobalDecl &OldGD,
204 bool tryEmitDeclareVariant(const GlobalDecl &NewGD, const GlobalDecl &OldGD,
tools/clang/lib/CodeGen/CGVTables.cpp 34 GlobalDecl GD) {
41 GlobalDecl GD) {
158 GlobalDecl GD, const ThunkInfo &Thunk) {
235 void CodeGenFunction::StartThunk(llvm::Function *Fn, GlobalDecl GD,
389 void CodeGenFunction::EmitMustTailThunk(GlobalDecl GD,
443 const CGFunctionInfo &FnInfo, GlobalDecl GD,
487 llvm::Constant *CodeGenVTables::maybeEmitThunk(GlobalDecl GD,
600 void CodeGenVTables::EmitThunks(GlobalDecl GD) {
645 GlobalDecl GD;
tools/clang/lib/CodeGen/CGVTables.h 60 llvm::Constant *maybeEmitThunk(GlobalDecl GD,
113 void EmitThunks(GlobalDecl GD);
tools/clang/lib/CodeGen/CodeGenFunction.cpp 638 void CodeGenFunction::StartFunction(GlobalDecl GD,
1085 QualType CodeGenFunction::BuildFunctionArgList(GlobalDecl GD,
1141 void CodeGenFunction::GenerateCode(GlobalDecl GD, llvm::Function *Fn,
tools/clang/lib/CodeGen/CodeGenFunction.h 317 GlobalDecl CurGD;
1477 InlinedInheritingConstructorScope(CodeGenFunction &CGF, GlobalDecl GD)
1517 GlobalDecl OldCurGD;
1767 llvm::Function *GenerateBlockFunction(GlobalDecl GD,
1827 QualType BuildFunctionArgList(GlobalDecl GD, FunctionArgList &Args);
1829 void GenerateCode(GlobalDecl GD, llvm::Function *Fn,
1839 void StartFunction(GlobalDecl GD,
1875 void StartThunk(llvm::Function *Fn, GlobalDecl GD,
1884 void EmitMustTailThunk(GlobalDecl GD, llvm::Value *AdjustedThisPtr,
1889 GlobalDecl GD, const ThunkInfo &Thunk,
1894 GlobalDecl GD, const ThunkInfo &Thunk);
2488 llvm::Value *GetVTTParameter(GlobalDecl GD, bool ForVirtualBase,
3681 RValue EmitCXXDestructorCall(GlobalDecl Dtor, const CGCallee &Callee,
3713 RValue EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID,
tools/clang/lib/CodeGen/CodeGenModule.cpp 300 for (const GlobalDecl &GD : Aliases) {
360 for (const GlobalDecl &GD : Aliases) {
859 GlobalDecl GD) const {
880 GlobalDecl GD) const {
985 static std::string getMangledNameImpl(const CodeGenModule &CGM, GlobalDecl GD,
1033 void CodeGenModule::UpdateMultiVersionNames(GlobalDecl GD,
1043 GlobalDecl OtherGD;
1073 StringRef CodeGenModule::getMangledName(GlobalDecl GD) {
1074 GlobalDecl CanonicalGD = GD.getCanonicalDecl();
1105 StringRef CodeGenModule::getBlockMangledName(GlobalDecl GD,
1189 CodeGenModule::getFunctionLinkage(GlobalDecl GD) {
1216 void CodeGenModule::SetLLVMFunctionAttributes(GlobalDecl GD,
1638 void CodeGenModule::SetCommonAttributes(GlobalDecl GD, llvm::GlobalValue *GV) {
1656 bool CodeGenModule::GetCPUAndFeaturesAttributes(GlobalDecl GD,
1705 void CodeGenModule::setNonAliasAttributes(GlobalDecl GD,
1747 void CodeGenModule::SetInternalFunctionAttributes(GlobalDecl GD,
1791 void CodeGenModule::SetFunctionAttributes(GlobalDecl GD, llvm::Function *F,
2096 std::vector<GlobalDecl> CurDeclsToEmit;
2099 for (GlobalDecl &D : CurDeclsToEmit) {
2415 void CodeGenModule::EmitGlobal(GlobalDecl GD) {
2693 bool CodeGenModule::shouldEmitFunction(GlobalDecl GD) {
2732 void CodeGenModule::EmitMultiVersionFunctionDefinition(GlobalDecl GD,
2746 GlobalDecl OldGD, GlobalDecl NewGD, llvm::GlobalValue *GV) {
2746 GlobalDecl OldGD, GlobalDecl NewGD, llvm::GlobalValue *GV) {
2789 void CodeGenModule::EmitGlobalDefinition(GlobalDecl GD, llvm::GlobalValue *GV) {
2854 for (GlobalDecl GD : MultiVersionFuncs) {
2859 GlobalDecl CurGD{
2910 void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) {
2925 GlobalDecl ResolverGD;
2954 GlobalDecl ExistingDecl = Manglings.lookup(MangledName);
3026 GlobalDecl GD, llvm::Type *DeclTy, const FunctionDecl *FD) {
3080 StringRef MangledName, llvm::Type *Ty, GlobalDecl GD, bool ForVTable,
3093 GlobalDecl GDDef;
3135 GlobalDecl OtherGD;
3269 llvm::Constant *CodeGenModule::GetAddrOfFunction(GlobalDecl GD,
3432 GlobalDecl OtherGD;
3592 CodeGenModule::GetAddrOfGlobal(GlobalDecl GD,
4383 void CodeGenModule::EmitGlobalFunctionDefinition(GlobalDecl GD,
4434 void CodeGenModule::EmitAliasDefinition(GlobalDecl GD) {
4515 void CodeGenModule::emitIFuncDefinition(GlobalDecl GD) {
4530 GlobalDecl OtherGD;
5527 GlobalDecl GD(cast<FunctionDecl>(D));
5534 GlobalDecl GD(cast<CXXConstructorDecl>(D), Ctor_Base);
5541 GlobalDecl GD(cast<CXXDestructorDecl>(D), Dtor_Base);
5562 GlobalDecl D,
5592 GlobalDecl &Result) const {
5640 GlobalDecl GD = GlobalDecl(cast<VarDecl>(D));
5881 GlobalDecl GD) {
tools/clang/lib/CodeGen/CodeGenModule.h 339 std::map<StringRef, GlobalDecl> DeferredDecls;
343 std::vector<GlobalDecl> DeferredDeclsToEmit;
344 void addDeferredDeclToEmit(GlobalDecl GD) {
350 std::vector<GlobalDecl> Aliases;
354 std::vector<GlobalDecl> MultiVersionFuncs;
372 llvm::DenseSet<GlobalDecl> DiagnosedConflictingDefinitions;
395 llvm::MapVector<GlobalDecl, StringRef> MangledDeclNames;
396 llvm::StringMap<GlobalDecl, llvm::BumpPtrAllocator> Manglings;
400 llvm::MapVector<std::pair<GlobalDecl, unsigned>, StringRef>
402 llvm::StringMap<std::pair<GlobalDecl, unsigned>, llvm::BumpPtrAllocator>
500 bool shouldEmitFunction(GlobalDecl GD);
532 GlobalDecl initializedGlobalDecl;
634 GlobalDecl &Result) const;
771 void setDLLImportDLLExport(llvm::GlobalValue *GV, GlobalDecl D) const;
775 void setGVProperties(llvm::GlobalValue *GV, GlobalDecl GD) const;
793 llvm::Constant *GetAddrOfGlobal(GlobalDecl GD,
842 llvm::Constant *GetAddrOfFunction(GlobalDecl GD, llvm::Type *Ty = nullptr,
856 GlobalDecl GD);
967 llvm::Function *codegenCXXStructor(GlobalDecl GD);
971 getAddrOfCXXStructor(GlobalDecl GD, const CGFunctionInfo *FnInfo = nullptr,
982 GlobalDecl GD, const CGFunctionInfo *FnInfo = nullptr,
1095 void SetInternalFunctionAttributes(GlobalDecl GD, llvm::Function *F,
1099 void SetLLVMFunctionAttributes(GlobalDecl GD, const CGFunctionInfo &Info,
1159 void getFunctionFeatureMap(llvm::StringMap<bool> &FeatureMap, GlobalDecl GD);
1161 StringRef getMangledName(GlobalDecl GD);
1162 StringRef getBlockMangledName(GlobalDecl GD, const BlockDecl *BD);
1180 llvm::GlobalVariable::LinkageTypes getFunctionLinkage(GlobalDecl GD);
1182 void setFunctionLinkage(GlobalDecl GD, llvm::Function *F) {
1252 void EmitGlobal(GlobalDecl D);
1262 void SetCommonAttributes(GlobalDecl GD, llvm::GlobalValue *GV);
1286 void emitOpenMPDeviceFunctionRedefinition(GlobalDecl OldGD, GlobalDecl NewGD,
1286 void emitOpenMPDeviceFunctionRedefinition(GlobalDecl OldGD, GlobalDecl NewGD,
1371 StringRef MangledName, llvm::Type *Ty, GlobalDecl D, bool ForVTable,
1376 llvm::Constant *GetOrCreateMultiVersionResolver(GlobalDecl GD,
1379 void UpdateMultiVersionNames(GlobalDecl GD, const FunctionDecl *FD);
1387 bool GetCPUAndFeaturesAttributes(GlobalDecl GD,
1389 void setNonAliasAttributes(GlobalDecl GD, llvm::GlobalObject *GO);
1392 void SetFunctionAttributes(GlobalDecl GD, llvm::Function *F,
1395 void EmitGlobalDefinition(GlobalDecl D, llvm::GlobalValue *GV = nullptr);
1397 void EmitGlobalFunctionDefinition(GlobalDecl GD, llvm::GlobalValue *GV);
1398 void EmitMultiVersionFunctionDefinition(GlobalDecl GD, llvm::GlobalValue *GV);
1401 void EmitAliasDefinition(GlobalDecl GD);
1402 void emitIFuncDefinition(GlobalDecl GD);
1403 void emitCPUDispatchDefinition(GlobalDecl GD);
tools/clang/lib/CodeGen/CodeGenPGO.cpp 759 void CodeGenPGO::assignRegionCounters(GlobalDecl GD, llvm::Function *Fn) {
tools/clang/lib/CodeGen/CodeGenPGO.h 82 void assignRegionCounters(GlobalDecl GD, llvm::Function *Fn);
tools/clang/lib/CodeGen/CodeGenTypes.h 142 llvm::FunctionType *GetFunctionType(GlobalDecl GD);
158 llvm::Type *GetFunctionTypeForVTable(GlobalDecl GD);
190 const CGFunctionInfo &arrangeGlobalDeclaration(GlobalDecl GD);
240 const CGFunctionInfo &arrangeCXXStructorDeclaration(GlobalDecl GD);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp 76 bool isThisCompleteObject(GlobalDecl GD) const override {
206 buildStructorSignature(GlobalDecl GD,
263 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
277 void setThunkLinkage(llvm::Function *Thunk, bool ForVTable, GlobalDecl GD,
369 bool NeedsVTTParameter(GlobalDecl GD) override;
402 void emitCXXStructor(GlobalDecl GD) override;
461 bool HasThisReturn(GlobalDecl GD) const override {
498 bool HasThisReturn(GlobalDecl GD) const override {
1518 ItaniumCXXABI::buildStructorSignature(GlobalDecl GD,
1618 GlobalDecl GD(DD, Type);
1775 GlobalDecl GD,
1825 GlobalDecl GD(Dtor, DtorType);
2737 bool ItaniumCXXABI::NeedsVTTParameter(GlobalDecl GD) {
3894 GlobalDecl AliasDecl;
3922 GlobalDecl AliasDecl,
3923 GlobalDecl TargetDecl) {
3954 void ItaniumCXXABI::emitCXXStructor(GlobalDecl GD) {
3963 GlobalDecl BaseDecl;
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp 50 bool HasThisReturn(GlobalDecl GD) const override;
51 bool hasMostDerivedReturn(GlobalDecl GD) const override;
59 bool isThisCompleteObject(GlobalDecl GD) const override {
208 buildStructorSignature(GlobalDecl GD,
245 adjustThisArgumentForVirtualFunctionCall(CodeGenFunction &CGF, GlobalDecl GD,
294 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
303 void adjustCallArgsForDestructorThunk(CodeGenFunction &CGF, GlobalDecl GD,
364 GlobalDecl GD, bool ReturnAdjustment) override {
564 CharUnits getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) override;
678 void emitCXXStructor(GlobalDecl GD) override;
1042 bool MicrosoftCXXABI::HasThisReturn(GlobalDecl GD) const {
1046 static bool isDeletingDtor(GlobalDecl GD) {
1051 bool MicrosoftCXXABI::hasMostDerivedReturn(GlobalDecl GD) const {
1260 MicrosoftCXXABI::buildStructorSignature(GlobalDecl GD,
1345 MicrosoftCXXABI::getVirtualFunctionPrologueThisAdjustment(GlobalDecl GD) {
1380 CodeGenFunction &CGF, GlobalDecl GD, Address This,
1396 GlobalDecl LookupGD = GD;
1581 GlobalDecl GD(DD, Type);
1857 GlobalDecl GD,
1914 GlobalDecl GD(Dtor, Dtor_Deleting);
3853 void MicrosoftCXXABI::emitCXXStructor(GlobalDecl GD) {
tools/clang/lib/CodeGen/ModuleBuilder.cpp 111 GlobalDecl Result;
125 llvm::Constant *GetAddrOfGlobal(GlobalDecl global, bool isForDefinition) {
324 llvm::Constant *CodeGenerator::GetAddrOfGlobal(GlobalDecl global,
usr/include/c++/7.4.0/bits/alloc_traits.h 387 using allocator_type = allocator<_Tp>;
389 using value_type = _Tp;
392 using pointer = _Tp*;
395 using const_pointer = const _Tp*;
474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
486 destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/allocator.h 108 class allocator: public __allocator_base<_Tp>
113 typedef _Tp* pointer;
114 typedef const _Tp* const_pointer;
115 typedef _Tp& reference;
116 typedef const _Tp& const_reference;
117 typedef _Tp value_type;
137 allocator(const allocator<_Tp1>&) throw() { }
usr/include/c++/7.4.0/bits/move.h 46 inline _GLIBCXX_CONSTEXPR _Tp*
47 __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
72 constexpr _Tp&&
73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept
83 constexpr _Tp&&
84 forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
98 move(_Tp&& __t) noexcept
104 : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
105 is_copy_constructible<_Tp>>::type { };
usr/include/c++/7.4.0/bits/stl_construct.h 74 _Construct(_T1* __p, _Args&&... __args)
74 _Construct(_T1* __p, _Args&&... __args)
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
204 allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_iterator.h 1224 __make_move_if_noexcept_iterator(_Tp* __i)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h 181 typedef _Tp value_type;
183 typedef _Tp* pointer;
184 typedef _Tp& reference;
192 typedef _Tp value_type;
194 typedef const _Tp* pointer;
195 typedef const _Tp& reference;
usr/include/c++/7.4.0/bits/stl_map.h 103 typedef _Tp mapped_type;
104 typedef std::pair<const _Key, _Tp> value_type;
usr/include/c++/7.4.0/bits/stl_pair.h 100 return __and_<is_constructible<_T1, const _U1&>,
100 return __and_<is_constructible<_T1, const _U1&>,
101 is_constructible<_T2, const _U2&>>::value;
101 is_constructible<_T2, const _U2&>>::value;
107 return __and_<is_convertible<const _U1&, _T1>,
107 return __and_<is_convertible<const _U1&, _T1>,
108 is_convertible<const _U2&, _T2>>::value;
108 is_convertible<const _U2&, _T2>>::value;
114 return __and_<is_constructible<_T1, _U1&&>,
114 return __and_<is_constructible<_T1, _U1&&>,
115 is_constructible<_T2, _U2&&>>::value;
115 is_constructible<_T2, _U2&&>>::value;
121 return __and_<is_convertible<_U1&&, _T1>,
121 return __and_<is_convertible<_U1&&, _T1>,
122 is_convertible<_U2&&, _T2>>::value;
122 is_convertible<_U2&&, _T2>>::value;
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
129 is_convertible<_U2&&, _T2>>;
129 is_convertible<_U2&&, _T2>>;
133 return __and_<is_constructible<_T1, const _U1&>,
133 return __and_<is_constructible<_T1, const _U1&>,
134 is_constructible<_T2, _U2&&>,
134 is_constructible<_T2, _U2&&>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
143 is_convertible<const _U2&, _T2>>;
143 is_convertible<const _U2&, _T2>>;
147 return __and_<is_constructible<_T1, _U1&&>,
147 return __and_<is_constructible<_T1, _U1&&>,
148 is_constructible<_T2, const _U2&&>,
148 is_constructible<_T2, const _U2&&>,
209 : private __pair_base<_T1, _T2>
209 : private __pair_base<_T1, _T2>
211 typedef _T1 first_type; /// @c first_type is the first bound type
212 typedef _T2 second_type; /// @c second_type is the second bound type
214 _T1 first; /// @c first is a copy of the first object
215 _T2 second; /// @c second is a copy of the second object
252 using _PCCP = _PCC<true, _T1, _T2>;
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
283 _T1, _T2>;
291 constexpr pair(const pair<_U1, _U2>& __p)
291 constexpr pair(const pair<_U1, _U2>& __p)
311 constexpr pair(_U1&& __x, const _T2& __y)
311 constexpr pair(_U1&& __x, const _T2& __y)
318 explicit constexpr pair(_U1&& __x, const _T2& __y)
325 constexpr pair(const _T1& __x, _U2&& __y)
325 constexpr pair(const _T1& __x, _U2&& __y)
332 explicit pair(const _T1& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
342 : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
360 constexpr pair(pair<_U1, _U2>&& __p)
360 constexpr pair(pair<_U1, _U2>&& __p)
361 : first(std::forward<_U1>(__p.first)),
362 second(std::forward<_U2>(__p.second)) { }
379 __and_<is_copy_assignable<_T1>,
380 is_copy_assignable<_T2>>::value,
390 __and_<is_move_assignable<_T1>,
391 is_move_assignable<_T2>>::value,
402 typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
402 typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
403 is_assignable<_T2&, const _U2&>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
405 operator=(const pair<_U1, _U2>& __p)
405 operator=(const pair<_U1, _U2>& __p)
413 typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
413 typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
414 is_assignable<_T2&, _U2&&>>::value,
414 is_assignable<_T2&, _U2&&>>::value,
416 operator=(pair<_U1, _U2>&& __p)
416 operator=(pair<_U1, _U2>&& __p)
522 constexpr pair<typename __decay_and_strip<_T1>::__type,
524 make_pair(_T1&& __x, _T2&& __y)
524 make_pair(_T1&& __x, _T2&& __y)
526 typedef typename __decay_and_strip<_T1>::__type __ds_type1;
529 return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
usr/include/c++/7.4.0/bits/stl_uninitialized.h 288 _ForwardIterator __result, allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h 77 rebind<_Tp>::other _Tp_alloc_type;
216 class vector : protected _Vector_base<_Tp, _Alloc>
227 typedef _Vector_base<_Tp, _Alloc> _Base;
232 typedef _Tp value_type;
919 _Tp*
923 const _Tp*
962 emplace_back(_Args&&... __args);
1483 _M_realloc_insert(iterator __position, _Args&&... __args);
usr/include/c++/7.4.0/ext/alloc_traits.h 117 { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h 63 typedef _Tp* pointer;
64 typedef const _Tp* const_pointer;
65 typedef _Tp& reference;
66 typedef const _Tp& const_reference;
67 typedef _Tp value_type;
111 return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
130 { return size_t(-1) / sizeof(_Tp); }
135 construct(_Up* __p, _Args&&... __args)
135 construct(_Up* __p, _Args&&... __args)
136 { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
140 destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
567 : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
762 typename add_rvalue_reference<_Tp>::type declval() noexcept;
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
798 typedef decltype(__test<_Tp>(0)) type;
811 remove_all_extents<_Tp>::type>::type
825 : public __is_destructible_safe<_Tp>::type
889 typedef decltype(__test<_Tp>(0)) type;
894 : public __and_<__not_<is_void<_Tp>>,
895 __is_default_constructible_impl<_Tp>>
915 : public __is_default_constructible_atom<_Tp>::type
921 : public __is_default_constructible_safe<_Tp>::type
984 typedef decltype(__test<_Tp, _Arg>(0)) type;
989 : public __and_<is_destructible<_Tp>,
990 __is_direct_constructible_impl<_Tp, _Arg>>
1072 __is_direct_constructible_ref_cast<_Tp, _Arg>,
1073 __is_direct_constructible_new_safe<_Tp, _Arg>
1079 : public __is_direct_constructible_new<_Tp, _Arg>::type
1119 : public __is_direct_constructible<_Tp, _Arg>
1130 : public __is_constructible_impl<_Tp, _Args...>::type
1215 : public __and_<is_constructible<_Tp, _Args...>,
1216 __is_nt_constructible_impl<_Tp, _Args...>>
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1252 : public __is_nothrow_move_constructible_impl<_Tp>
1286 : public is_assignable<_Tp&, const _Tp&>
1286 : public is_assignable<_Tp&, const _Tp&>
1292 : public __is_copy_assignable_impl<_Tp>
1304 : public is_assignable<_Tp&, _Tp&&>
1304 : public is_assignable<_Tp&, _Tp&&>
1310 : public __is_move_assignable_impl<_Tp>
1352 : public is_nothrow_assignable<_Tp&, _Tp&&>
1352 : public is_nothrow_assignable<_Tp&, _Tp&&>
1358 : public __is_nt_move_assignable_impl<_Tp>
1377 static void __helper(const _Tp&);
1380 static true_type __test(const _Tp&,
1381 decltype(__helper<const _Tp&>({}))* = 0);
1390 typedef decltype(__test(declval<_Tp>())) type;
1395 : public __is_implicitly_default_constructible_impl<_Tp>::type
1400 : public __and_<is_default_constructible<_Tp>,
1401 __is_implicitly_default_constructible_safe<_Tp>>
1526 static void __test_aux(_To1);
1538 typedef decltype(__test<_From, _To>(0)) type;
1545 : public __is_convertible_helper<_From, _To>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1629 { typedef _Tp type; };
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1664 : public __add_rvalue_reference_helper<_Tp>
1955 { typedef _Tp type; };
2104 { typedef typename remove_cv<_Up>::type __type; };
2118 typedef typename remove_reference<_Tp>::type __remove_type;
2131 typedef _Tp __type;
2144 typename decay<_Tp>::type>::__type __type;