diff options
| author | Yong He <yonghe@outlook.com> | 2023-04-27 14:30:36 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-27 14:30:36 -0700 |
| commit | d1cc6a8c1e5b378ea34dc4006045bcbd37e0dfd3 (patch) | |
| tree | 6c4771a8bc91414b38e77c7ef79e5151c66d23b1 /source/slang/slang-ir-autodiff-unzip.cpp | |
| parent | 7be108c379ccc7da3f46b30a2b5917104155d52b (diff) | |
Prevent storing loads of global parameters. (#2850)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-autodiff-unzip.cpp')
| -rw-r--r-- | source/slang/slang-ir-autodiff-unzip.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/slang/slang-ir-autodiff-unzip.cpp b/source/slang/slang-ir-autodiff-unzip.cpp index 60d829324..1b14856e6 100644 --- a/source/slang/slang-ir-autodiff-unzip.cpp +++ b/source/slang/slang-ir-autodiff-unzip.cpp @@ -408,7 +408,11 @@ IRFunc* DiffUnzipPass::extractPrimalFunc( // in a primal block. while (auto iuse = inst->firstUse) { - builder.setInsertBefore(iuse->getUser()); + auto user = iuse->getUser(); + if (as<IRDecoration>(user)) + user = user->getParent(); + if (!user) continue; + builder.setInsertBefore(user); auto val = builder.emitFieldExtract( inst->getFullType(), intermediateVar, |
