diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-18 20:30:12 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2024-04-19 21:12:03 +0000 | 
| commit | c9157d925c489f07ba9c0b2ce47e5149b75969a5 (patch) | |
| tree | 08bc4a3d9cad3f9ebffa558ddf140b9d9257b219 /contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp | |
| parent | 2a66844f606a35d68ad8a8061f4bea204274b3bc (diff) | |
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp b/contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp index 29ae05bf0c94..3e11ab2d98a4 100644 --- a/contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp +++ b/contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp @@ -110,6 +110,11 @@ bool X86InsertPrefetch::findPrefetchInfo(const FunctionSamples *TopSamples,                                           Prefetches &Prefetches) const {    assert(Prefetches.empty() &&           "Expected caller passed empty PrefetchInfo vector."); + +  // There is no point to match prefetch hints if the profile is using MD5. +  if (FunctionSamples::UseMD5) +    return false; +    static constexpr std::pair<StringLiteral, unsigned> HintTypes[] = {        {"_nta_", X86::PREFETCHNTA},        {"_t0_", X86::PREFETCHT0}, @@ -125,12 +130,12 @@ bool X86InsertPrefetch::findPrefetchInfo(const FunctionSamples *TopSamples,    // Convert serialized prefetch hints into PrefetchInfo objects, and populate    // the Prefetches vector.    for (const auto &S_V : *T) { -    StringRef Name = S_V.getKey(); +    StringRef Name = S_V.first.stringRef();      if (Name.consume_front(SerializedPrefetchPrefix)) {        int64_t D = static_cast<int64_t>(S_V.second);        unsigned IID = 0;        for (const auto &HintType : HintTypes) { -        if (Name.startswith(HintType.first)) { +        if (Name.starts_with(HintType.first)) {            Name = Name.drop_front(HintType.first.size());            IID = HintType.second;            break;  | 
