summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-emit.cpp')
-rw-r--r--source/slang/slang-emit.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp
index 71ef7ee33..a29142ba1 100644
--- a/source/slang/slang-emit.cpp
+++ b/source/slang/slang-emit.cpp
@@ -834,12 +834,10 @@ Result linkAndOptimizeIR(
if (codeGenContext->shouldReportCheckpointIntermediates())
reportCheckpointIntermediates(codeGenContext, sink, irModule);
- 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);
+ // Finalization is always run so AD-related instructions can be removed,
+ // even the AD pass itself is not run.
+ //
+ finalizeAutoDiffPass(targetProgram, irModule);
finalizeSpecialization(irModule);