Skip to content

Commit 3eac7ee

Browse files
authored
[10.0-preview6] Revert "Trust single-edge synthetic profile (#116054)" (#117403)
This reverts commit ffcd1c5.
1 parent 3d44749 commit 3eac7ee

File tree

3 files changed

+0
-23
lines changed

3 files changed

+0
-23
lines changed

src/coreclr/jit/compiler.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6489,7 +6489,6 @@ class Compiler
64896489
bool fgPgoSynthesized;
64906490
bool fgPgoDynamic;
64916491
bool fgPgoConsistent;
6492-
bool fgPgoSingleEdge = false;
64936492

64946493
#ifdef DEBUG
64956494
bool fgPgoDeferredInconsistency;

src/coreclr/jit/fgprofile.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,6 @@ bool Compiler::fgHaveSufficientProfileWeights()
8989
case ICorJitInfo::PgoSource::Blend:
9090
return true;
9191

92-
case ICorJitInfo::PgoSource::Synthesis:
93-
// Single-edge methods always have sufficient profile data.
94-
// Assuming we don't synthesize value and class profile data (which we don't currently).
95-
return fgPgoSingleEdge;
96-
9792
case ICorJitInfo::PgoSource::Static:
9893
{
9994
// We sometimes call this very early, eg evaluating the prejit root.
@@ -139,12 +134,6 @@ bool Compiler::fgHaveTrustedProfileWeights()
139134
case ICorJitInfo::PgoSource::Blend:
140135
case ICorJitInfo::PgoSource::Text:
141136
return true;
142-
143-
case ICorJitInfo::PgoSource::Synthesis:
144-
// Single-edge methods with synthetic profile are trustful.
145-
// Assuming we don't synthesize value and class profile data (which we don't currently).
146-
return fgPgoSingleEdge;
147-
148137
default:
149138
return false;
150139
}

src/coreclr/jit/fgprofilesynthesis.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -148,17 +148,6 @@ void ProfileSynthesis::Run(ProfileSynthesisOption option)
148148
m_comp->fgPgoSynthesized = true;
149149
m_comp->fgPgoConsistent = !m_approximate;
150150

151-
// A simple check whether the current method has more than one edge.
152-
m_comp->fgPgoSingleEdge = true;
153-
for (BasicBlock* const block : m_comp->Blocks())
154-
{
155-
if (block->NumSucc() > 1)
156-
{
157-
m_comp->fgPgoSingleEdge = false;
158-
break;
159-
}
160-
}
161-
162151
m_comp->Metrics.ProfileSynthesizedBlendedOrRepaired++;
163152

164153
if (m_approximate)

0 commit comments

Comments
 (0)