Switch to LLVM support function abs64 to keep VS2008 happy.
authorTim Northover <Tim.Northover@arm.com>
Wed, 27 Mar 2013 13:15:08 +0000 (13:15 +0000)
committerTim Northover <Tim.Northover@arm.com>
Wed, 27 Mar 2013 13:15:08 +0000 (13:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178141 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/AArch64/AArch64InstrInfo.cpp
lib/Target/Hexagon/HexagonHardwareLoops.cpp

index 7b9346324400f5a459f21f9a318597af525413a3..cf3a2c3707d9bf64eef95fcbe03de1bc5fb2e776 100644 (file)
@@ -618,11 +618,11 @@ void llvm::emitRegUpdate(MachineBasicBlock &MBB,
                          int64_t NumBytes, MachineInstr::MIFlag MIFlags) {
   if (NumBytes == 0 && DstReg == SrcReg)
     return;
-  else if (abs(NumBytes) & ~0xffffff) {
+  else if (abs64(NumBytes) & ~0xffffff) {
     // Generically, we have to materialize the offset into a temporary register
     // and subtract it. There are a couple of ways this could be done, for now
     // we'll use a movz/movk or movn/movk sequence.
-    uint64_t Bits = static_cast<uint64_t>(abs(NumBytes));
+    uint64_t Bits = static_cast<uint64_t>(abs64(NumBytes));
     BuildMI(MBB, MBBI, dl, TII.get(AArch64::MOVZxii), ScratchReg)
       .addImm(0xffff & Bits).addImm(0)
       .setMIFlags(MIFlags);
@@ -673,7 +673,7 @@ void llvm::emitRegUpdate(MachineBasicBlock &MBB,
   } else {
     LowOp = AArch64::SUBxxi_lsl0_s;
     HighOp = AArch64::SUBxxi_lsl12_s;
-    NumBytes = abs(NumBytes);
+    NumBytes = abs64(NumBytes);
   }
 
   // If we're here, at the very least a move needs to be produced, which just
index 62aed1353ca30e71466c6a2b4ad5d6ac0333f931..a46b8d392a14255fd0c730170323369ae69af0d7 100644 (file)
@@ -701,7 +701,7 @@ CountValue *HexagonHardwareLoops::computeCount(MachineLoop *Loop,
 
   // If the induction variable bump is not a power of 2, quit.
   // Othwerise we'd need a general integer division.
-  if (!isPowerOf2_64(abs(IVBump)))
+  if (!isPowerOf2_64(abs64(IVBump)))
     return 0;
 
   MachineBasicBlock *PH = Loop->getLoopPreheader();