diff --git a/src/mapleall/maple_me/src/me_value_range_prop.cpp b/src/mapleall/maple_me/src/me_value_range_prop.cpp index 4371bc0b9c5c826ede84ed3315a2fca6d5f96b0e..9c756f3effc598b1e0954ec3ae69945772081c34 100755 --- a/src/mapleall/maple_me/src/me_value_range_prop.cpp +++ b/src/mapleall/maple_me/src/me_value_range_prop.cpp @@ -1736,7 +1736,7 @@ bool ValueRangePropagation::AddOrSubWithConstant( overflowOrUnderflow = OverflowOrUnderflow(primType, lhsConstant, rhsConstant); } else { CHECK_FATAL(op == OP_sub, "must be sub"); - if (rhsConstant == GetMinNumber(primType)) { + if (rhsConstant == GetMinNumber(primType) || rhsConstant == GetMinInt64()) { overflowOrUnderflow = true; } else { overflowOrUnderflow = OverflowOrUnderflow(primType, lhsConstant, -rhsConstant);