From 1738208e34bfa7731cc48a4c7bcfff961b29320a Mon Sep 17 00:00:00 2001 From: "Aman Khalid (from Dev Box)" Date: Wed, 12 Jun 2024 13:17:03 -0400 Subject: [PATCH 1/3] Add stress mode --- src/coreclr/jit/compiler.h | 1 + src/coreclr/jit/lower.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/coreclr/jit/compiler.h b/src/coreclr/jit/compiler.h index 75fa2d9e8e2a48..8c868f27673b19 100644 --- a/src/coreclr/jit/compiler.h +++ b/src/coreclr/jit/compiler.h @@ -10353,6 +10353,7 @@ class Compiler STRESS_MODE(IF_CONVERSION_INNER_LOOPS) \ STRESS_MODE(POISON_IMPLICIT_BYREFS) \ STRESS_MODE(STORE_BLOCK_UNROLLING) \ + STRESS_MODE(SKIP_COND_NODE_LOWERING) /* Don't lower conditions to use CPU flags */ \ STRESS_MODE(COUNT) enum compStressArea diff --git a/src/coreclr/jit/lower.cpp b/src/coreclr/jit/lower.cpp index 2137874887e70b..16c0ca8ae419b2 100644 --- a/src/coreclr/jit/lower.cpp +++ b/src/coreclr/jit/lower.cpp @@ -4313,6 +4313,14 @@ bool Lowering::TryLowerConditionToFlagsNode(GenTree* parent, GenTree* condition, DISPTREERANGE(BlockRange(), condition); JITDUMP("\n"); +#ifdef DEBUG + if (comp->compStressCompile(Compiler::STRESS_SKIP_COND_NODE_LOWERING, 50)) + { + JITDUMP("JitStress: skip lowering attempt\n") + return false; + } +#endif // DEBUG + if (condition->OperIsCompare()) { if (!IsInvariantInRange(condition, parent)) From a4eaef52e354a5b1ec0d72cb3b417559b67cccd7 Mon Sep 17 00:00:00 2001 From: "Aman Khalid (from Dev Box)" Date: Wed, 12 Jun 2024 14:00:48 -0400 Subject: [PATCH 2/3] semicolon --- src/coreclr/jit/lower.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/jit/lower.cpp b/src/coreclr/jit/lower.cpp index 16c0ca8ae419b2..5b9f5836e52bf4 100644 --- a/src/coreclr/jit/lower.cpp +++ b/src/coreclr/jit/lower.cpp @@ -4316,7 +4316,7 @@ bool Lowering::TryLowerConditionToFlagsNode(GenTree* parent, GenTree* condition, #ifdef DEBUG if (comp->compStressCompile(Compiler::STRESS_SKIP_COND_NODE_LOWERING, 50)) { - JITDUMP("JitStress: skip lowering attempt\n") + JITDUMP("JitStress: skip lowering attempt\n"); return false; } #endif // DEBUG From b91f3e5fdf007ff6ec7dae7e28c2c4959a8b4aa1 Mon Sep 17 00:00:00 2001 From: "Aman Khalid (from Dev Box)" Date: Wed, 12 Jun 2024 20:17:17 -0400 Subject: [PATCH 3/3] Feedback --- src/coreclr/jit/lower.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/coreclr/jit/lower.cpp b/src/coreclr/jit/lower.cpp index 5b9f5836e52bf4..3ca21fa6e93182 100644 --- a/src/coreclr/jit/lower.cpp +++ b/src/coreclr/jit/lower.cpp @@ -4313,13 +4313,11 @@ bool Lowering::TryLowerConditionToFlagsNode(GenTree* parent, GenTree* condition, DISPTREERANGE(BlockRange(), condition); JITDUMP("\n"); -#ifdef DEBUG - if (comp->compStressCompile(Compiler::STRESS_SKIP_COND_NODE_LOWERING, 50)) + if (comp->compStressCompile(Compiler::STRESS_SKIP_COND_NODE_LOWERING, 10)) { JITDUMP("JitStress: skip lowering attempt\n"); return false; } -#endif // DEBUG if (condition->OperIsCompare()) {