diff --git a/src/coreclr/jit/compiler.cpp b/src/coreclr/jit/compiler.cpp index f7136bc7aa5756..c9ce7e49585d12 100644 --- a/src/coreclr/jit/compiler.cpp +++ b/src/coreclr/jit/compiler.cpp @@ -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++; @@ -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; @@ -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++; @@ -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); @@ -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 diff --git a/src/coreclr/jit/lclvars.cpp b/src/coreclr/jit/lclvars.cpp index dc9ae2613d068c..d1ac71704d8b5a 100644 --- a/src/coreclr/jit/lclvars.cpp +++ b/src/coreclr/jit/lclvars.cpp @@ -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"); @@ -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"); @@ -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");