From bdff67509c990cdf577b85c74fe047fb5e2198f8 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 21 Sep 2021 09:58:43 -0700 Subject: [PATCH] Fixed mDeferredLifetimeEnds during ignoreWrites --- IDEHelper/Compiler/BfStmtEvaluator.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfStmtEvaluator.cpp b/IDEHelper/Compiler/BfStmtEvaluator.cpp index 271acaaa..ac00aa62 100644 --- a/IDEHelper/Compiler/BfStmtEvaluator.cpp +++ b/IDEHelper/Compiler/BfStmtEvaluator.cpp @@ -3423,7 +3423,8 @@ void BfModule::VisitCodeBlock(BfBlock* block) auto lifetimeStart = mBfIRBuilder->CreateLifetimeStart(tempVar); mBfIRBuilder->ClearDebugLocation(lifetimeStart); - mCurMethodState->mCurScope->mPrevScope->mDeferredLifetimeEnds.push_back(tempVar); + if (!mBfIRBuilder->mIgnoreWrites) + mCurMethodState->mCurScope->mPrevScope->mDeferredLifetimeEnds.push_back(tempVar); mBfIRBuilder->SetInsertPoint(prevInsertBlock); if (exprEvaluator->mResult.IsSplat()) AggregateSplatIntoAddr(exprEvaluator->mResult, tempVar);