summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-autodiff-rev.cpp
diff options
context:
space:
mode:
authorSai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com>2023-01-31 03:26:59 -0500
committerGitHub <noreply@github.com>2023-01-31 00:26:59 -0800
commite312d5c7dfde80941d96e522079a5d70f7d00649 (patch)
treecf600a7f49117a77336ad55e59816f5c323cd705 /source/slang/slang-ir-autodiff-rev.cpp
parent77cdbb2101f4e27bf1800d4bc1077c0510668c25 (diff)
Patched support for multi-return and fallthrough if-else with break stmts (#2617)
Diffstat (limited to 'source/slang/slang-ir-autodiff-rev.cpp')
-rw-r--r--source/slang/slang-ir-autodiff-rev.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/slang/slang-ir-autodiff-rev.cpp b/source/slang/slang-ir-autodiff-rev.cpp
index 8f218293d..0f2ceceb4 100644
--- a/source/slang/slang-ir-autodiff-rev.cpp
+++ b/source/slang/slang-ir-autodiff-rev.cpp
@@ -510,7 +510,7 @@ namespace Slang
eliminateMultiLevelBreakForFunc(func->getModule(), func);
IRCFGNormalizationPass cfgPass = {this->getSink()};
- normalizeCFG(func);
+ normalizeCFG(autoDiffSharedContext->sharedBuilder, func);
AutoDiffAddressConversionPolicy cvtPolicty;
cvtPolicty.diffTypeContext = &diffTypeContext;
@@ -544,6 +544,8 @@ namespace Slang
// reversible.
if (SLANG_FAILED(prepareFuncForBackwardDiff(primalFunc)))
return diffPropagateFunc;
+
+ autoDiffSharedContext->sharedBuilder->deduplicateAndRebuildGlobalNumberingMap();
// Forward transcribe the clone of the original func.
ForwardDiffTranscriber& fwdTranscriber = *static_cast<ForwardDiffTranscriber*>(