From 0b5a3dd91e2922669f645eb0fb918b7b7e6dcd80 Mon Sep 17 00:00:00 2001 From: BoyBaykiller Date: Sat, 20 Jun 2026 02:17:18 +0200 Subject: [PATCH] * don't remove block if its fgOSREntryBB --- src/coreclr/jit/fgopt.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/coreclr/jit/fgopt.cpp b/src/coreclr/jit/fgopt.cpp index 9f6e2f78271e0c..7efdf78528aadb 100644 --- a/src/coreclr/jit/fgopt.cpp +++ b/src/coreclr/jit/fgopt.cpp @@ -5219,8 +5219,8 @@ PhaseStatus Compiler::fgHeadTailMerge(bool early) fgUnlinkStmt(predBlock, stmt); - bool canRemove = - predBlock->isEmpty() && !predBlock->HasFlag(BBF_DONT_REMOVE) && predBlock != fgFirstBB; + bool canRemove = predBlock->isEmpty() && !predBlock->HasFlag(BBF_DONT_REMOVE) && + predBlock != fgFirstBB && predBlock != fgOSREntryBB; if (canRemove) { for (BasicBlock* const pred : predBlock->PredBlocksEditing()) @@ -5368,7 +5368,8 @@ PhaseStatus Compiler::fgHeadTailMerge(bool early) // Fix up the flow. // - bool canRemove = predBlock->isEmpty() && !predBlock->HasFlag(BBF_DONT_REMOVE) && predBlock != fgFirstBB; + bool canRemove = predBlock->isEmpty() && !predBlock->HasFlag(BBF_DONT_REMOVE) && + predBlock != fgFirstBB && predBlock != fgOSREntryBB; if (canRemove) { for (BasicBlock* const pred : predBlock->PredBlocksEditing())