mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-22 04:36:42 +00:00
Use sub "no-wrap"
This commit is contained in:
parent
6acbfe07b2
commit
69930b9bcd
1 changed files with 1 additions and 1 deletions
|
|
@ -208,7 +208,7 @@ void Memory::copyBytes(llvm::Value* _srcPtr, llvm::Value* _srcSize, llvm::Value*
|
||||||
auto isOutsideData = m_builder.CreateICmpUGE(_srcIdx, _srcSize);
|
auto isOutsideData = m_builder.CreateICmpUGE(_srcIdx, _srcSize);
|
||||||
auto idx64 = m_builder.CreateTrunc(_srcIdx, Type::lowPrecision);
|
auto idx64 = m_builder.CreateTrunc(_srcIdx, Type::lowPrecision);
|
||||||
auto size64 = m_builder.CreateTrunc(_srcSize, Type::lowPrecision);
|
auto size64 = m_builder.CreateTrunc(_srcSize, Type::lowPrecision);
|
||||||
auto dataLeftSize = m_builder.CreateSub(size64, idx64);
|
auto dataLeftSize = m_builder.CreateNUWSub(size64, idx64);
|
||||||
auto reqBytes64 = m_builder.CreateTrunc(_reqBytes, Type::lowPrecision);
|
auto reqBytes64 = m_builder.CreateTrunc(_reqBytes, Type::lowPrecision);
|
||||||
auto outOfBound = m_builder.CreateICmpUGT(reqBytes64, dataLeftSize);
|
auto outOfBound = m_builder.CreateICmpUGT(reqBytes64, dataLeftSize);
|
||||||
auto bytesToCopyInner = m_builder.CreateSelect(outOfBound, dataLeftSize, reqBytes64);
|
auto bytesToCopyInner = m_builder.CreateSelect(outOfBound, dataLeftSize, reqBytes64);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue