Skip to content

Commit

Permalink
fix printing/sorting
Browse files Browse the repository at this point in the history
  • Loading branch information
sandreenko committed Sep 9, 2021
1 parent 4e344dd commit cfa2d3a
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 43 deletions.
42 changes: 20 additions & 22 deletions src/coreclr/jit/compiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9721,17 +9721,11 @@ void Compiler::EnregisterStats::RecordLocal(const LclVarDsc* varDsc)
case DoNotEnregisterReason::AddrExposed:
m_addrExposed++;
break;
case DoNotEnregisterReason::NotRegSizeStruct:
m_notRegSizeStruct++;
break;
case DoNotEnregisterReason::DontEnregStructs:
m_dontEnregStructs++;
break;
case DoNotEnregisterReason::IsStructArg:
m_structArg++;
break;
case DoNotEnregisterReason::BlockOp:
m_blockOp++;
case DoNotEnregisterReason::NotRegSizeStruct:
m_notRegSizeStruct++;
break;
case DoNotEnregisterReason::LocalField:
m_localField++;
Expand All @@ -9742,6 +9736,12 @@ void Compiler::EnregisterStats::RecordLocal(const LclVarDsc* varDsc)
case DoNotEnregisterReason::LiveInOutOfHandler:
m_liveInOutHndlr++;
break;
case DoNotEnregisterReason::BlockOp:
m_blockOp++;
break;
case DoNotEnregisterReason::IsStructArg:
m_structArg++;
break;
case DoNotEnregisterReason::DepField:
m_depField++;
break;
Expand All @@ -9751,15 +9751,15 @@ void Compiler::EnregisterStats::RecordLocal(const LclVarDsc* varDsc)
case DoNotEnregisterReason::MinOptsGC:
m_minOptsGC++;
break;
#ifdef JIT32_GCENCODER
case DoNotEnregisterReason::PinningRef:
m_PinningRef++;
break;
#endif
#if !defined(TARGET_64BIT)
case DoNotEnregisterReason::LongParamField:
m_longParamField++;
break;
#endif
#ifdef JIT32_GCENCODER
case DoNotEnregisterReason::PinningRef:
m_PinningRef++;
break;
#endif
case DoNotEnregisterReason::LclAddrNode:
m_lclAddrNode++;
Expand Down Expand Up @@ -9883,24 +9883,22 @@ void Compiler::EnregisterStats::Dump(FILE* fout) const
}

PRINT_STATS(m_addrExposed, notEnreg);
PRINT_STATS(m_notRegSizeStruct, notEnreg);
PRINT_STATS(m_dontEnregStructs, notEnreg);
PRINT_STATS(m_structArg, notEnreg);
PRINT_STATS(m_blockOp, notEnreg);
PRINT_STATS(m_addrExposed, notEnreg);
PRINT_STATS(m_notRegSizeStruct, notEnreg);
PRINT_STATS(m_localField, notEnreg);
PRINT_STATS(m_VMNeedsStackAddr, notEnreg);
PRINT_STATS(m_liveInOutHndlr, notEnreg);
PRINT_STATS(m_blockOp, notEnreg);
PRINT_STATS(m_structArg, notEnreg);
PRINT_STATS(m_depField, notEnreg);
PRINT_STATS(m_noRegVars, notEnreg);
PRINT_STATS(m_minOptsGC, notEnreg);

#ifdef JIT32_GCENCODER
PRINT_STATS(m_PinningRef, notEnreg);
#endif // JIT32_GCENCODER
#if !defined(TARGET_64BIT)
PRINT_STATS(m_longParamField, notEnreg);
#endif // !TARGET_64BIT
#ifdef JIT32_GCENCODER
PRINT_STATS(m_PinningRef, notEnreg);
#endif // JIT32_GCENCODER
PRINT_STATS(m_lclAddrNode, notEnreg);
PRINT_STATS(m_castTakesAddr, notEnreg);
PRINT_STATS(m_storeBlkSrc, notEnreg);
Expand All @@ -9918,10 +9916,10 @@ void Compiler::EnregisterStats::Dump(FILE* fout) const
PRINT_STATS(m_parentExposed, m_addrExposed);
PRINT_STATS(m_tooConservative, m_addrExposed);
PRINT_STATS(m_escapeAddress, m_addrExposed);
PRINT_STATS(m_wideIndir, m_addrExposed);
PRINT_STATS(m_osrExposed, m_addrExposed);
PRINT_STATS(m_stressLclFld, m_addrExposed);
PRINT_STATS(m_copyFldByFld, m_addrExposed);
PRINT_STATS(m_dispatchRetBuf, m_addrExposed);
PRINT_STATS(m_wideIndir, m_addrExposed);
}
#endif // TRACK_ENREG_STATS
41 changes: 20 additions & 21 deletions src/coreclr/jit/lclvars.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2604,26 +2604,13 @@ void Compiler::lvaSetVarDoNotEnregister(unsigned varNum DEBUGARG(DoNotEnregister
JITDUMP("it is address exposed\n");
assert(varDsc->IsAddressExposed());
break;
case DoNotEnregisterReason::NotRegSizeStruct:
JITDUMP("struct size does not match reg size\n");
assert(varTypeIsStruct(varDsc));
break;
case DoNotEnregisterReason::DontEnregStructs:
JITDUMP("struct enregistration is disabled\n");
assert(varTypeIsStruct(varDsc));
break;
case DoNotEnregisterReason::IsStructArg:
if (varTypeIsStruct(varDsc))
{
JITDUMP("it is a struct arg\n");
}
else
{
JITDUMP("it is reinterpreted as a struct arg\n");
}
break;
case DoNotEnregisterReason::BlockOp:
JITDUMP("written/read in a block op\n");
case DoNotEnregisterReason::NotRegSizeStruct:
JITDUMP("struct size does not match reg size\n");
assert(varTypeIsStruct(varDsc));
break;
case DoNotEnregisterReason::LocalField:
JITDUMP("was accessed as a local field\n");
Expand All @@ -2635,6 +2622,18 @@ void Compiler::lvaSetVarDoNotEnregister(unsigned varNum DEBUGARG(DoNotEnregister
JITDUMP("live in/out of a handler\n");
varDsc->lvLiveInOutOfHndlr = 1;
break;
case DoNotEnregisterReason::BlockOp:
JITDUMP("written/read in a block op\n");
break;
case DoNotEnregisterReason::IsStructArg:
if (varTypeIsStruct(varDsc))
{
JITDUMP("it is a struct arg\n");
}
else
{
JITDUMP("it is reinterpreted as a struct arg\n");
}
break;
case DoNotEnregisterReason::DepField:
JITDUMP("field of a dependently promoted struct\n");
Expand All @@ -2648,16 +2647,16 @@ void Compiler::lvaSetVarDoNotEnregister(unsigned varNum DEBUGARG(DoNotEnregister
JITDUMP("it is a GC Ref and we are compiling MinOpts\n");
assert(!JitConfig.JitMinOptsTrackGCrefs() && varTypeIsGC(varDsc->TypeGet()));
break;
#if !defined(TARGET_64BIT)
case DoNotEnregisterReason::LongParamField:
JITDUMP("it is a decomposed field of a long parameter\n");
break;
#endif
#ifdef JIT32_GCENCODER
case DoNotEnregisterReason::PinningRef:
JITDUMP("pinning ref\n");
assert(varDsc->lvPinned);
break;
#endif
#if !defined(TARGET_64BIT)
case DoNotEnregisterReason::LongParamField:
JITDUMP("it is a decomposed field of a long parameter\n");
break;
#endif
case DoNotEnregisterReason::LclAddrNode:
JITDUMP("LclAddrVar/Fld takes the address of this node\n");
Expand Down

0 comments on commit cfa2d3a

Please sign in to comment.