diff --git a/src/coreclr/jit/flowgraph.cpp b/src/coreclr/jit/flowgraph.cpp index 4b6ce4a49ff20..aea04d8f2681a 100644 --- a/src/coreclr/jit/flowgraph.cpp +++ b/src/coreclr/jit/flowgraph.cpp @@ -2901,6 +2901,19 @@ PhaseStatus Compiler::fgRationalizeAssignments() compAssignmentRationalized = true; +#ifdef DEBUG + if (JitConfig.JitStressMorphStores()) + { + for (BasicBlock* block : Blocks()) + { + for (Statement* stmt : block->Statements()) + { + fgMorphBlockStmt(block, stmt DEBUGARG("fgRationalizeAssignments")); + } + } + } +#endif // DEBUG + return PhaseStatus::MODIFIED_EVERYTHING; } diff --git a/src/coreclr/jit/jitconfigvalues.h b/src/coreclr/jit/jitconfigvalues.h index 49b382a96885a..508f329da9123 100644 --- a/src/coreclr/jit/jitconfigvalues.h +++ b/src/coreclr/jit/jitconfigvalues.h @@ -170,6 +170,7 @@ CONFIG_INTEGER(JitStressModeNamesOnly, W("JitStressModeNamesOnly"), 0) // Intern CONFIG_INTEGER(JitStressProcedureSplitting, W("JitStressProcedureSplitting"), 0) // Always split after the first basic // block. Skips functions with EH // for simplicity. +CONFIG_INTEGER(JitStressMorphStores, W("JitStressMorphStores"), 0) // Morph trees after assignment rationalization CONFIG_INTEGER(JitStressRegs, W("JitStressRegs"), 0) CONFIG_STRING(JitStressRegsRange, W("JitStressRegsRange")) // Only apply JitStressRegs to methods in this hash range