|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/ProfileData/ProfileCommon.h 32 class FunctionSamples;
include/llvm/ProfileData/SampleProf.h 287 class FunctionSamples;
References
include/llvm/ADT/StringMap.h 129 ValueTy second;
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> {
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) {
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/ProfileData/ProfileCommon.h 86 void addRecord(const sampleprof::FunctionSamples &FS,
include/llvm/ProfileData/SampleProf.h 292 using FunctionSamplesMap = std::map<std::string, FunctionSamples, std::less<>>;
378 const FunctionSamples *findFunctionSamplesAt(const LineLocation &Loc,
392 const FunctionSamples *R = nullptr;
443 sampleprof_error merge(const FunctionSamples &Other, uint64_t Weight = 1) {
555 const FunctionSamples *findFunctionSamples(const DILocation *DIL) const;
612 raw_ostream &operator<<(raw_ostream &OS, const FunctionSamples &FS);
include/llvm/ProfileData/SampleProfReader.h 280 FunctionSamples *getSamplesFor(StringRef FunctionName);
286 DenseMap<SymbolRemappingReader::Key, FunctionSamples *> SampleMap;
353 FunctionSamples *getSamplesFor(const Function &F) {
357 StringRef CanonName = FunctionSamples::getCanonicalFnName(F);
362 virtual FunctionSamples *getSamplesFor(StringRef Fname) {
376 StringMap<FunctionSamples> &getProfiles() { return Profiles; }
419 StringMap<FunctionSamples> Profiles;
507 std::error_code readProfile(FunctionSamples &FProfile);
667 using InlineCallStack = SmallVector<FunctionSamples *, 10>;
include/llvm/ProfileData/SampleProfWriter.h 39 virtual std::error_code writeSample(const FunctionSamples &S) = 0;
44 virtual std::error_code write(const StringMap<FunctionSamples> &ProfileMap);
67 writeHeader(const StringMap<FunctionSamples> &ProfileMap) = 0;
71 writeFuncProfiles(const StringMap<FunctionSamples> &ProfileMap);
80 void computeSummary(const StringMap<FunctionSamples> &ProfileMap);
89 std::error_code writeSample(const FunctionSamples &S) override;
96 writeHeader(const StringMap<FunctionSamples> &ProfileMap) override {
117 virtual std::error_code writeSample(const FunctionSamples &S) override;
123 writeHeader(const StringMap<FunctionSamples> &ProfileMap) override;
126 std::error_code writeBody(const FunctionSamples &S);
132 void addNames(const FunctionSamples &S);
148 write(const StringMap<FunctionSamples> &ProfileMap) override;
158 writeSections(const StringMap<FunctionSamples> &ProfileMap) = 0;
170 writeHeader(const StringMap<FunctionSamples> &ProfileMap) override;
200 virtual std::error_code writeSample(const FunctionSamples &S) override;
224 writeSections(const StringMap<FunctionSamples> &ProfileMap) override;
271 virtual std::error_code writeSample(const FunctionSamples &S) override;
273 write(const StringMap<FunctionSamples> &ProfileMap) override;
284 writeHeader(const StringMap<FunctionSamples> &ProfileMap) override;
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
lib/ProfileData/ProfileSummaryBuilder.cpp 47 const sampleprof::FunctionSamples &FS, bool isCallsiteSample) {
lib/ProfileData/SampleProf.cpp 166 const FunctionSamples &FS) {
176 const FunctionSamples *
190 const FunctionSamples *FS = this;
lib/ProfileData/SampleProfReader.cpp 224 FunctionSamples &FProfile = Profiles[FName];
247 FunctionSamples &FSamples = InlineStack.back()->functionSamplesAt(
256 FunctionSamples &FProfile = *InlineStack.back();
366 SampleProfileReaderBinary::readProfile(FunctionSamples &FProfile) {
432 FunctionSamples &CalleeProfile = FProfile.functionSamplesAt(
454 FunctionSamples &FProfile = Profiles[*FName];
509 FuncsToUse.insert(FunctionSamples::getCanonicalFnName(F));
889 FuncsToUse.insert(FunctionSamples::getCanonicalFnName(F));
1090 FunctionSamples *FProfile = nullptr;
1106 FunctionSamples *CallerProfile = InlineStack.front();
1232 FunctionSamples *
1360 FunctionSamples::Format = Reader->getFormat();
1373 const FunctionSamples &Profile = I.second;
lib/ProfileData/SampleProfWriter.cpp 44 const StringMap<FunctionSamples> &ProfileMap) {
46 typedef std::pair<StringRef, const FunctionSamples *> NameFunctionSamples;
66 SampleProfileWriter::write(const StringMap<FunctionSamples> &ProfileMap) {
131 const StringMap<FunctionSamples> &ProfileMap) {
147 SampleProfileWriterExtBinary::writeSample(const FunctionSamples &S) {
170 const StringMap<FunctionSamples> &ProfileMap) {
215 const StringMap<FunctionSamples> &ProfileMap) {
231 std::error_code SampleProfileWriterText::writeSample(const FunctionSamples &S) {
261 const FunctionSamples &CalleeSamples = FS.second;
287 void SampleProfileWriterBinary::addNames(const FunctionSamples &S) {
298 const FunctionSamples &CalleeSamples = FS.second;
374 const StringMap<FunctionSamples> &ProfileMap) {
458 const StringMap<FunctionSamples> &ProfileMap) {
468 const StringMap<FunctionSamples> &ProfileMap) {
496 std::error_code SampleProfileWriterBinary::writeBody(const FunctionSamples &S) {
530 const FunctionSamples &CalleeSamples = FS.second;
544 SampleProfileWriterBinary::writeSample(const FunctionSamples &S) {
550 SampleProfileWriterCompactBinary::writeSample(const FunctionSamples &S) {
614 const StringMap<FunctionSamples> &ProfileMap) {
617 const FunctionSamples &Profile = I.second;
lib/Target/X86/X86InsertPrefetch.cpp 51 bool findPrefetchInfo(const FunctionSamples *Samples, const MachineInstr &MI,
70 ErrorOr<PrefetchHints> getPrefetchHints(const FunctionSamples *TopSamples,
73 if (const auto *Samples = TopSamples->findFunctionSamples(Loc))
74 return Samples->findCallTargetMapAt(FunctionSamples::getOffset(Loc),
106 bool X86InsertPrefetch::findPrefetchInfo(const FunctionSamples *TopSamples,
182 const FunctionSamples *Samples = Reader->getSamplesFor(MF.getFunction());
lib/Transforms/IPO/SampleProfile.cpp 154 bool markSamplesUsed(const FunctionSamples *FS, uint32_t LineOffset,
157 unsigned countUsedRecords(const FunctionSamples *FS,
159 unsigned countBodyRecords(const FunctionSamples *FS,
162 uint64_t countBodySamples(const FunctionSamples *FS,
173 DenseMap<const FunctionSamples *, BodySampleCoverageMap>;
223 StringRef CanonName = FunctionSamples::getCanonicalFnName(F);
246 std::queue<FunctionSamples *> FSToUpdate;
252 FunctionSamples *FS = FSToUpdate.front();
258 FunctionSamples &FS = const_cast<FunctionSamples &>(IFS.second);
300 const FunctionSamples *findCalleeFunctionSamples(const Instruction &I) const;
301 std::vector<const FunctionSamples *>
303 mutable DenseMap<const DILocation *, const FunctionSamples *> DILocation2SampleMap;
304 const FunctionSamples *findFunctionSamples(const Instruction &I) const;
323 bool callsiteIsHot(const FunctionSamples *CallsiteFS,
378 FunctionSamples *Samples = nullptr;
494 bool SampleProfileLoader::callsiteIsHot(const FunctionSamples *CallsiteFS,
511 bool SampleCoverageTracker::markSamplesUsed(const FunctionSamples *FS,
527 SampleCoverageTracker::countUsedRecords(const FunctionSamples *FS,
540 const FunctionSamples *CalleeSamples = &J.second;
552 SampleCoverageTracker::countBodyRecords(const FunctionSamples *FS,
559 const FunctionSamples *CalleeSamples = &J.second;
571 SampleCoverageTracker::countBodySamples(const FunctionSamples *FS,
580 const FunctionSamples *CalleeSamples = &J.second;
664 const FunctionSamples *FS = findFunctionSamples(Inst);
684 uint32_t LineOffset = FunctionSamples::getOffset(DIL);
768 const FunctionSamples *
780 const FunctionSamples *FS = findFunctionSamples(Inst);
784 return FS->findFunctionSamplesAt(LineLocation(FunctionSamples::getOffset(DIL),
792 std::vector<const FunctionSamples *>
796 std::vector<const FunctionSamples *> R;
802 const FunctionSamples *FS = findFunctionSamples(Inst);
806 uint32_t LineOffset = FunctionSamples::getOffset(DIL);
815 FunctionSamples::getOffset(DIL), DIL->getBaseDiscriminator()))) {
825 return FunctionSamples::getGUID(L->getName()) <
826 FunctionSamples::getGUID(R->getName());
841 const FunctionSamples *
912 DenseMap<Instruction *, const FunctionSamples *> localNotInlinedCallSites;
921 const FunctionSamples *FS = nullptr;
944 for (const auto *FS : findIndirectCallFunctionSamples(*I, Sum)) {
1009 const FunctionSamples *FS = Pair.getSecond();
1347 R.emplace_back(InstrProfValueData{FunctionSamples::getGUID(I.first), I.second});
1433 uint32_t LineOffset = FunctionSamples::getOffset(DIL);
1436 const FunctionSamples *FS = findFunctionSamples(I);
1808 StringRef CanonName = FunctionSamples::getCanonicalFnName(F);
tools/llvm-profdata/llvm-profdata.cpp 381 static sampleprof::FunctionSamples
382 remapSamples(const sampleprof::FunctionSamples &Samples,
384 sampleprof::FunctionSamples Result;
402 sampleprof::FunctionSamples Remapped =
473 StringMap<FunctionSamples> ProfileMap;
496 StringMap<FunctionSamples> &Profiles = Reader->getProfiles();
497 for (StringMap<FunctionSamples>::iterator I = Profiles.begin(),
501 FunctionSamples Remapped =
504 FunctionSamples &Samples = Remapper ? Remapped : I->second;
unittests/ProfileData/SampleProfTest.cpp 85 FunctionSamples FooSamples;
96 FunctionSamples BarSamples;
108 FunctionSamples BazSamples;
115 FunctionSamples BooSamples;
121 StringMap<FunctionSamples> Profiles;
167 FunctionSamples *ReadFooSamples = Reader->getSamplesFor(FooName);
175 FunctionSamples *ReadBarSamples = Reader->getSamplesFor(BarName);
189 FunctionSamples *ReadBazSamples = Reader->getSamplesFor(BazName);
200 FunctionSamples *ReadBooSamples = Reader->getSamplesFor(BooName);
260 void addFunctionSamples(StringMap<FunctionSamples> *Smap, const char *Fname,
263 FunctionSamples FcnSamples;
271 StringMap<FunctionSamples> setupFcnSamplesForElisionTest(StringRef Policy) {
272 StringMap<FunctionSamples> Smap;
310 StringMap<FunctionSamples> ProfMap = setupFcnSamplesForElisionTest(Policy);
325 FunctionSamples *Samples = Reader->getSamplesFor(I->getKey());
365 FunctionSamples FooSamples;
usr/include/c++/7.4.0/bits/move.h 98 move(_Tp&& __t) noexcept
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 209 : private __pair_base<_T1, _T2>
212 typedef _T2 second_type; /// @c second_type is the second bound type
215 _T2 second; /// @c second is a copy of the second object
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
311 constexpr pair(_U1&& __x, const _T2& __y)
318 explicit constexpr pair(_U1&& __x, const _T2& __y)
380 is_copy_assignable<_T2>>::value,
391 is_move_assignable<_T2>>::value,
usr/include/c++/7.4.0/type_traits 1633 { typedef _Tp type; };