From 24c9611a8296395dfad23c6ae136fab585dff735 Mon Sep 17 00:00:00 2001 From: Sai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com> Date: Tue, 18 Mar 2025 03:28:59 -0700 Subject: Fix `IRVar` hoisting when its already in the right block. (#6626) Co-authored-by: Ellie Hermaszewska --- source/slang/slang-ir-util.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/slang/slang-ir-util.cpp b/source/slang/slang-ir-util.cpp index 4aef7e7ba..58bb7aaf2 100644 --- a/source/slang/slang-ir-util.cpp +++ b/source/slang/slang-ir-util.cpp @@ -2162,7 +2162,9 @@ void legalizeDefUse(IRGlobalValueWithCode* func) { // If inst is an var, this is easy, we just move it to the // common dominator. - var->insertBefore(commonDominator->getTerminator()); + if (var->getParent() != commonDominator) + var->insertBefore(commonDominator->getTerminator()); + if (shouldInitializeVar) { IRBuilder builder(func); -- cgit v1.2.3