forked from OSchip/llvm-project
Switch to LLVM support function abs64 to keep VS2008 happy.
llvm-svn: 178141
This commit is contained in:
parent
8d7d1b5377
commit
d3490dc06a
|
@ -618,11 +618,11 @@ void llvm::emitRegUpdate(MachineBasicBlock &MBB,
|
||||||
int64_t NumBytes, MachineInstr::MIFlag MIFlags) {
|
int64_t NumBytes, MachineInstr::MIFlag MIFlags) {
|
||||||
if (NumBytes == 0 && DstReg == SrcReg)
|
if (NumBytes == 0 && DstReg == SrcReg)
|
||||||
return;
|
return;
|
||||||
else if (abs(NumBytes) & ~0xffffff) {
|
else if (abs64(NumBytes) & ~0xffffff) {
|
||||||
// Generically, we have to materialize the offset into a temporary register
|
// 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
|
// 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.
|
// 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)
|
BuildMI(MBB, MBBI, dl, TII.get(AArch64::MOVZxii), ScratchReg)
|
||||||
.addImm(0xffff & Bits).addImm(0)
|
.addImm(0xffff & Bits).addImm(0)
|
||||||
.setMIFlags(MIFlags);
|
.setMIFlags(MIFlags);
|
||||||
|
@ -673,7 +673,7 @@ void llvm::emitRegUpdate(MachineBasicBlock &MBB,
|
||||||
} else {
|
} else {
|
||||||
LowOp = AArch64::SUBxxi_lsl0_s;
|
LowOp = AArch64::SUBxxi_lsl0_s;
|
||||||
HighOp = AArch64::SUBxxi_lsl12_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
|
// If we're here, at the very least a move needs to be produced, which just
|
||||||
|
|
|
@ -701,7 +701,7 @@ CountValue *HexagonHardwareLoops::computeCount(MachineLoop *Loop,
|
||||||
|
|
||||||
// If the induction variable bump is not a power of 2, quit.
|
// If the induction variable bump is not a power of 2, quit.
|
||||||
// Othwerise we'd need a general integer division.
|
// Othwerise we'd need a general integer division.
|
||||||
if (!isPowerOf2_64(abs(IVBump)))
|
if (!isPowerOf2_64(abs64(IVBump)))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
MachineBasicBlock *PH = Loop->getLoopPreheader();
|
MachineBasicBlock *PH = Loop->getLoopPreheader();
|
||||||
|
|
Loading…
Reference in New Issue