From e8a1dd11eab4c07366b29aca775eb927a465e133 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 8 Sep 2023 12:26:07 -0700 Subject: Don't inline callees with custom derivative before autodiff. (#3196) Co-authored-by: Yong He --- source/slang/slang-ir-autodiff-transcriber-base.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'source/slang/slang-ir-autodiff-transcriber-base.cpp') 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); -- cgit v1.2.3