JIT: Fix LocalUses::FindAccess (#87732)
authorJakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Mon, 19 Jun 2023 20:29:54 +0000 (22:29 +0200)
committerGitHub <noreply@github.com>
Mon, 19 Jun 2023 20:29:54 +0000 (22:29 +0200)
The function is looking for access information with a specified type at
a specified offset, but was using the wrong list here. That would in
some cases with overlapping accesses cause us to fail to find the
Access. The net result is that we rarely end up not promoting some
induced accesses that we would otherwise promote.

src/coreclr/jit/promotion.cpp

index da79080..98f4a79 100644 (file)
@@ -793,7 +793,7 @@ private:
             }
 
             index++;
-        } while ((index < m_inducedAccesses.size()) && (m_inducedAccesses[index].Offset == offs));
+        } while ((index < m_accesses.size()) && (m_accesses[index].Offset == offs));
 
         return nullptr;
     }