From a7fa215e81e510de34ac96778ac6320cbb642d64 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 7 Sep 2023 17:05:18 -0700 Subject: Lower LValue implicit cast before autodiff. (#3194) Co-authored-by: Yong He --- source/slang/slang-emit.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index 68fd81cee..4bee37746 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -356,6 +356,9 @@ Result linkAndOptimizeIR( #endif validateIRModuleIfEnabled(codeGenContext, irModule); + // Lower all the LValue implict casts (used for out/inout/ref scenarios) + lowerLValueCast(targetRequest, irModule); + simplifyIR(irModule, sink); // Fill in default matrix layout into matrix types that left layout unspecified. @@ -897,9 +900,6 @@ Result linkAndOptimizeIR( lowerSizeOfLike(targetRequest, irModule, sink); - // Lower all the LValue implict casts (used for out/inout/ref scenarios) - lowerLValueCast(targetRequest, irModule); - // Lower all bit_cast operations on complex types into leaf-level // bit_cast on basic types. lowerBitCast(targetRequest, irModule); -- cgit v1.2.3