From 335c1a2d0013091e8ecc1691b3521cf22fed3c6c Mon Sep 17 00:00:00 2001 From: ArielG-NV <159081215+ArielG-NV@users.noreply.github.com> Date: Fri, 19 Jul 2024 03:04:12 -0400 Subject: move autodiff-decoration-stripping-pass so it always runs (#4632) Co-authored-by: Yong He --- source/slang/slang-emit.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-emit.cpp') diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index b690b7c38..417bbf200 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -292,7 +292,6 @@ void calcRequiredLoweringPassSet(RequiredLoweringPassSet& result, CodeGenContext case kIROp_BackwardDifferentiate: case kIROp_ForwardDifferentiate: case kIROp_MakeDifferentialPairUserCode: - case kIROp_DerivativeMemberDecoration: result.autodiff = true; break; case kIROp_VerticesType: @@ -709,6 +708,10 @@ Result linkAndOptimizeIR( if (requiredLoweringPassSet.autodiff) finalizeAutoDiffPass(targetProgram, irModule); + // Remove auto-diff related decorations. + // We may have an autodiff decoration regardless of if autodiff is being used. + stripAutoDiffDecorations(irModule); + finalizeSpecialization(irModule); requiredLoweringPassSet = {}; -- cgit v1.2.3