mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-06-13 13:01:06 +00:00
llvm-context: fix off-by-one in SDIV overflow semantics (#398)
- Fix the wrong predicate (the negative side in 2s complement has one more bit) - Increase test coverage Signed-off-by: xermicus <cyrill@parity.io>
This commit is contained in:
@@ -92,7 +92,7 @@ impl RuntimeFunction for SignedDivision {
|
||||
"max_uint",
|
||||
)?;
|
||||
let is_operand_1_overflow = context.builder().build_int_compare(
|
||||
inkwell::IntPredicate::EQ,
|
||||
inkwell::IntPredicate::SLT,
|
||||
operand_1,
|
||||
context.builder().build_int_neg(max_uint, "min_uint")?,
|
||||
"is_operand_1_overflow",
|
||||
|
||||
Reference in New Issue
Block a user