summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-autodiff-rev.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-09-08 12:26:07 -0700
committerGitHub <noreply@github.com>2023-09-08 12:26:07 -0700
commite8a1dd11eab4c07366b29aca775eb927a465e133 (patch)
tree6f1e0788860ace253c05c3fbb37be8cd1f07fecf /source/slang/slang-ir-autodiff-rev.cpp
parentcb5dd19992fb77ca2be866d9c6f2f4436c8b1c1e (diff)
Don't inline callees with custom derivative before autodiff. (#3196)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-autodiff-rev.cpp')
-rw-r--r--source/slang/slang-ir-autodiff-rev.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/slang/slang-ir-autodiff-rev.cpp b/source/slang/slang-ir-autodiff-rev.cpp
index 8d7582373..681c69cd3 100644
--- a/source/slang/slang-ir-autodiff-rev.cpp
+++ b/source/slang/slang-ir-autodiff-rev.cpp
@@ -351,6 +351,7 @@ namespace Slang
builder.setInsertBefore(diffFunc->getFirstDecorationOrChild());
cloneInst(&cloneEnv, &builder, dictDecor);
}
+ copyOriginalDecorations(origFunc, diffFunc);
builder.addFloatingModeOverrideDecoration(diffFunc, FloatingPointMode::Fast);
return InstPair(primalFunc, diffFunc);
}
@@ -532,7 +533,7 @@ namespace Slang
{
removeLinkageDecorations(func);
- performForceInlining(func);
+ performPreAutoDiffForceInlining(func);
DifferentiableTypeConformanceContext diffTypeContext(autoDiffSharedContext);
diffTypeContext.setFunc(func);