[llvm-commits] [llvm] r145627 - /llvm/trunk/lib/Support/APInt.cpp

David Blaikie dblaikie at gmail.com
Thu Dec 1 12:58:31 PST 2011


Author: dblaikie
Date: Thu Dec  1 14:58:30 2011
New Revision: 145627

URL: http://llvm.org/viewvc/llvm-project?rev=145627&view=rev
Log:
Fix unreachable return & simplify some branches.

Modified:
    llvm/trunk/lib/Support/APInt.cpp

Modified: llvm/trunk/lib/Support/APInt.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/APInt.cpp?rev=145627&r1=145626&r2=145627&view=diff
==============================================================================
--- llvm/trunk/lib/Support/APInt.cpp (original)
+++ llvm/trunk/lib/Support/APInt.cpp Thu Dec  1 14:58:30 2011
@@ -1440,15 +1440,11 @@
   APInt nextSquare((x_old + 1) * (x_old +1));
   if (this->ult(square))
     return x_old;
-  else if (this->ule(nextSquare)) {
-    APInt midpoint((nextSquare - square).udiv(two));
-    APInt offset(*this - square);
-    if (offset.ult(midpoint))
-      return x_old;
-    else
-      return x_old + 1;
-  } else
-    llvm_unreachable("Error in APInt::sqrt computation");
+  assert(this->ule(nextSquare) && "Error in APInt::sqrt computation");
+  APInt midpoint((nextSquare - square).udiv(two));
+  APInt offset(*this - square);
+  if (offset.ult(midpoint))
+    return x_old;
   return x_old + 1;
 }
 





More information about the llvm-commits mailing list