diff options
| author | Yong He <yonghe@outlook.com> | 2023-09-08 12:26:07 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-08 12:26:07 -0700 |
| commit | e8a1dd11eab4c07366b29aca775eb927a465e133 (patch) | |
| tree | 6f1e0788860ace253c05c3fbb37be8cd1f07fecf /source/slang/slang-ir-autodiff-transcriber-base.cpp | |
| parent | cb5dd19992fb77ca2be866d9c6f2f4436c8b1c1e (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-transcriber-base.cpp')
| -rw-r--r-- | source/slang/slang-ir-autodiff-transcriber-base.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/slang/slang-ir-autodiff-transcriber-base.cpp b/source/slang/slang-ir-autodiff-transcriber-base.cpp index 53bb30f54..cf2310fc8 100644 --- a/source/slang/slang-ir-autodiff-transcriber-base.cpp +++ b/source/slang/slang-ir-autodiff-transcriber-base.cpp @@ -508,6 +508,19 @@ bool AutoDiffTranscriberBase::isExistentialType(IRType *type) } } +void AutoDiffTranscriberBase::copyOriginalDecorations(IRInst* origFunc, IRInst* diffFunc) +{ + for (auto decor : origFunc->getDecorations()) + { + switch (decor->getOp()) + { + case kIROp_ForceInlineDecoration: + cloneDecoration(decor, diffFunc); + break; + } + } +} + InstPair AutoDiffTranscriberBase::transcribeExtractExistentialWitnessTable(IRBuilder* builder, IRInst* origInst) { IRInst* origBase = origInst->getOperand(0); |
