summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-04-26 17:37:04 -0700
committerGitHub <noreply@github.com>2023-04-26 17:37:04 -0700
commitfc54adee1f7f0ba18591fc84ce5d51ac23afa954 (patch)
tree4727ed6109ac50e95c49aadcebc0fb8b95495739 /source/slang/slang-ir.cpp
parent61eb17b0b556ccc06f65f921bb0a4ea2784c4e20 (diff)
Autodiff support for dynamically dispatched generic method. (#2846)
* Autodiff support for dynamically dispatched generic method. * Fix. * Support dynamically dispatched generic type. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir.cpp')
-rw-r--r--source/slang/slang-ir.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp
index e74a57424..eefcb9eea 100644
--- a/source/slang/slang-ir.cpp
+++ b/source/slang/slang-ir.cpp
@@ -7067,6 +7067,8 @@ namespace Slang
// and then destroy it (it had better have no uses!)
void IRInst::removeAndDeallocate()
{
+ removeAndDeallocateAllDecorationsAndChildren();
+
if (auto module = getModule())
{
if (getIROpInfo(getOp()).isHoistable())
@@ -7080,7 +7082,6 @@ namespace Slang
module->getDeduplicationContext()->getInstReplacementMap().remove(this);
}
removeArguments();
- removeAndDeallocateAllDecorationsAndChildren();
removeFromParent();
// Run destructor to be sure...