There is no portable std::abs overload for int64_t, use the llvm::abs64
authorChandler Carruth <chandlerc@gmail.com>
Fri, 6 Apr 2012 20:10:52 +0000 (20:10 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 6 Apr 2012 20:10:52 +0000 (20:10 +0000)
which exists for this purpose.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154199 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMISelLowering.cpp

index c20ee674ce8fe93c7d9c925ad000da82c8eb359d..a5b0245345f1947fbbf6afab79edd58eab90503c 100644 (file)
@@ -8616,9 +8616,9 @@ bool ARMTargetLowering::isLegalAddressingMode(const AddrMode &AM,
 bool ARMTargetLowering::isLegalICmpImmediate(int64_t Imm) const {
   // Thumb2 and ARM modes can use cmn for negative immediates.
   if (!Subtarget->isThumb())
-    return ARM_AM::getSOImmVal(std::abs(Imm)) != -1;
+    return ARM_AM::getSOImmVal(llvm::abs64(Imm)) != -1;
   if (Subtarget->isThumb2())
-    return ARM_AM::getT2SOImmVal(std::abs(Imm)) != -1;
+    return ARM_AM::getT2SOImmVal(llvm::abs64(Imm)) != -1;
   // Thumb1 doesn't have cmn, and only 8-bit immediates.
   return Imm >= 0 && Imm <= 255;
 }