Skip to content

Commit b389f56

Browse files
committed
LLVMCodeBuilder: Use unsigned integer in repeat loop
1 parent f62c2e0 commit b389f56

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -796,7 +796,7 @@ std::shared_ptr<ExecutableCode> LLVMCodeBuilder::finalize()
796796
m_builder.SetInsertPoint(roundBranch);
797797
llvm::Function *roundFunc = llvm::Intrinsic::getDeclaration(m_module.get(), llvm::Intrinsic::round, { count->getType() });
798798
count = m_builder.CreateCall(roundFunc, { count });
799-
count = m_builder.CreateFPToSI(count, m_builder.getInt64Ty()); // cast to signed integer
799+
count = m_builder.CreateFPToUI(count, m_builder.getInt64Ty()); // cast to unsigned integer
800800
count = m_builder.CreateSelect(isInf, zero, count);
801801

802802
// Jump to condition branch
@@ -884,7 +884,7 @@ std::shared_ptr<ExecutableCode> LLVMCodeBuilder::finalize()
884884
if (loop.isRepeatLoop) {
885885
// Increment index
886886
llvm::Value *currentIndex = m_builder.CreateLoad(m_builder.getInt64Ty(), loop.index);
887-
llvm::Value *incremented = m_builder.CreateAdd(currentIndex, llvm::ConstantInt::get(m_builder.getInt64Ty(), 1, true));
887+
llvm::Value *incremented = m_builder.CreateAdd(currentIndex, llvm::ConstantInt::get(m_builder.getInt64Ty(), 1, false));
888888
m_builder.CreateStore(incremented, loop.index);
889889
}
890890

0 commit comments

Comments
 (0)