diff options
| author | Sai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com> | 2023-01-31 03:26:59 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-31 00:26:59 -0800 |
| commit | e312d5c7dfde80941d96e522079a5d70f7d00649 (patch) | |
| tree | cf600a7f49117a77336ad55e59816f5c323cd705 /source/slang/slang-ir-autodiff-transcriber-base.cpp | |
| parent | 77cdbb2101f4e27bf1800d4bc1077c0510668c25 (diff) | |
Patched support for multi-return and fallthrough if-else with break stmts (#2617)
Diffstat (limited to 'source/slang/slang-ir-autodiff-transcriber-base.cpp')
| -rw-r--r-- | source/slang/slang-ir-autodiff-transcriber-base.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/slang/slang-ir-autodiff-transcriber-base.cpp b/source/slang/slang-ir-autodiff-transcriber-base.cpp index 91374e006..520c6d276 100644 --- a/source/slang/slang-ir-autodiff-transcriber-base.cpp +++ b/source/slang/slang-ir-autodiff-transcriber-base.cpp @@ -911,12 +911,14 @@ IRInst* AutoDiffTranscriberBase::transcribe(IRBuilder* builder, IRInst* origInst // Tag the differential inst using a decoration (if it doesn't have one) if (!pair.differential->findDecoration<IRDifferentialInstDecoration>() && - !pair.differential->findDecoration<IRMixedDifferentialInstDecoration>()) + !pair.differential->findDecoration<IRMixedDifferentialInstDecoration>() && + !as<IRConstant>(pair.differential)) { // TODO: If the type is a 'relevant' pair type, need to mark it as mixed differential // instead. // - builder->markInstAsDifferential(pair.differential, as<IRType>(pair.primal->getDataType())); + auto primalType = as<IRType>(pair.primal->getDataType()); + builder->markInstAsDifferential(pair.differential, primalType); } break; |
