summaryrefslogtreecommitdiff
path: root/lib/Support/APInt.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2009-12-24 08:52:06 +0000
committerJohn McCall <rjmccall@apple.com>2009-12-24 08:52:06 +0000
commitd73bf5987a0855e677fcefba74334c6a85b0b326 (patch)
treecbebc11d519fc91ad59f3b570df7c0c03770353e /lib/Support/APInt.cpp
parentb97a21cb2b2fccdfdcafa5cb4b8a8c7d4f9b6508 (diff)
downloadllvm-d73bf5987a0855e677fcefba74334c6a85b0b326.tar.gz
llvm-d73bf5987a0855e677fcefba74334c6a85b0b326.tar.bz2
llvm-d73bf5987a0855e677fcefba74334c6a85b0b326.tar.xz
Set Remainder before Quotient in case Quotient and LHS alias. The new
order should be immune to such problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92124 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/APInt.cpp')
-rw-r--r--lib/Support/APInt.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp
index 56d47736ea..9532e1e160 100644
--- a/lib/Support/APInt.cpp
+++ b/lib/Support/APInt.cpp
@@ -2012,8 +2012,8 @@ void APInt::udivrem(const APInt &LHS, const APInt &RHS,
}
if (lhsWords < rhsWords || LHS.ult(RHS)) {
- Quotient = 0; // X / Y ===> 0, iff X < Y
Remainder = LHS; // X % Y ===> X, iff X < Y
+ Quotient = 0; // X / Y ===> 0, iff X < Y
return;
}