From 768e62f6c7541439e2edc18dad5fb3846d2e05f9 Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 10 Oct 2022 15:59:45 -0700 Subject: Support multi-level break + single-return conversion + general inline. (#2436) * Support multi-level break. * Single return. * Add test for inlining `void` return-type functions. Co-authored-by: Yong He --- source/slang/slang-ir-diff-jvp.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-ir-diff-jvp.cpp') diff --git a/source/slang/slang-ir-diff-jvp.cpp b/source/slang/slang-ir-diff-jvp.cpp index 554a407ee..5eee13d5e 100644 --- a/source/slang/slang-ir-diff-jvp.cpp +++ b/source/slang/slang-ir-diff-jvp.cpp @@ -5,6 +5,7 @@ #include "slang-ir-insts.h" #include "slang-ir-clone.h" #include "slang-ir-dce.h" +#include "slang-ir-eliminate-phis.h" namespace Slang { @@ -1308,7 +1309,8 @@ struct JVPDerivativeContext IRFunc* emitJVPFunction(IRBuilder* builder, IRFunc* primalFn) { - + eliminatePhisInFunc(LivenessMode::Disabled, module, primalFn); + builder->setInsertBefore(primalFn->getNextInst()); auto jvpFn = builder->createFunc(); -- cgit v1.2.3