Skip to content

Commit ebef1af

Browse files
committed
LLVMCodeBuilder: Fix dataPtrDirty in list insert
1 parent 96b5e83 commit ebef1af

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/dev/engine/internal/llvm/llvmcodebuilder.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,9 +547,10 @@ std::shared_ptr<ExecutableCode> LLVMCodeBuilder::finalize()
547547
const LLVMListPtr &listPtr = m_listPtrs[step.workList];
548548

549549
// dataPtrDirty
550+
llvm::Value *dataPtrDirty = m_builder.CreateLoad(m_builder.getInt1Ty(), listPtr.dataPtrDirty);
550551
llvm::Value *allocatedSize = m_builder.CreateLoad(m_builder.getInt64Ty(), listPtr.allocatedSizePtr);
551552
llvm::Value *size = m_builder.CreateLoad(m_builder.getInt64Ty(), listPtr.sizePtr);
552-
m_builder.CreateStore(m_builder.CreateICmpEQ(allocatedSize, size), listPtr.dataPtrDirty);
553+
m_builder.CreateStore(m_builder.CreateOr(dataPtrDirty, m_builder.CreateICmpEQ(allocatedSize, size)), listPtr.dataPtrDirty);
553554

554555
// Insert
555556
llvm::Value *index = m_builder.CreateFPToUI(castValue(indexArg.second, indexArg.first), m_builder.getInt64Ty());

0 commit comments

Comments
 (0)