From ea382d21d6c1b8d6393b278e2c7d94507f7f78a3 Mon Sep 17 00:00:00 2001 From: Jakob Botsch Nielsen Date: Thu, 1 Aug 2024 22:47:20 +0200 Subject: [PATCH] JIT: Clear register assignment after defining trees used from spill temps Fix #105837 --- src/coreclr/jit/codegenlinear.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/coreclr/jit/codegenlinear.cpp b/src/coreclr/jit/codegenlinear.cpp index 1f0ede80c7a8a2..27040f7dd1d0b8 100644 --- a/src/coreclr/jit/codegenlinear.cpp +++ b/src/coreclr/jit/codegenlinear.cpp @@ -2148,6 +2148,12 @@ void CodeGen::genProduceReg(GenTree* tree) tree->gtFlags |= GTF_SPILLED; tree->gtFlags &= ~GTF_SPILL; + if (tree->isUsedFromSpillTemp()) + { + // The register assignment is not meaningful for the use. + tree->ClearRegNum(); + } + return; } }