mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-19 03:24:09 +00:00
Remove the remaining uses of abs64 and nuke it.
std::abs works just fine and we're already using it in many places. NFC intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231696 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -604,13 +604,6 @@ inline uint64_t OffsetToAlignment(uint64_t Value, uint64_t Align) {
|
|||||||
return RoundUpToAlignment(Value, Align) - Value;
|
return RoundUpToAlignment(Value, Align) - Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// abs64 - absolute value of a 64-bit int. Not all environments support
|
|
||||||
/// "abs" on whatever their name for the 64-bit int type is. The absolute
|
|
||||||
/// value of the largest negative number is undefined, as with "abs".
|
|
||||||
inline int64_t abs64(int64_t x) {
|
|
||||||
return (x < 0) ? -x : x;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// SignExtend32 - Sign extend B-bit number x to 32-bit int.
|
/// SignExtend32 - Sign extend B-bit number x to 32-bit int.
|
||||||
/// Usage int32_t r = SignExtend32<5>(x);
|
/// Usage int32_t r = SignExtend32<5>(x);
|
||||||
template <unsigned B> inline int32_t SignExtend32(uint32_t x) {
|
template <unsigned B> inline int32_t SignExtend32(uint32_t x) {
|
||||||
|
@ -10310,9 +10310,9 @@ bool ARMTargetLowering::isLegalAddressingMode(const AddrMode &AM,
|
|||||||
bool ARMTargetLowering::isLegalICmpImmediate(int64_t Imm) const {
|
bool ARMTargetLowering::isLegalICmpImmediate(int64_t Imm) const {
|
||||||
// Thumb2 and ARM modes can use cmn for negative immediates.
|
// Thumb2 and ARM modes can use cmn for negative immediates.
|
||||||
if (!Subtarget->isThumb())
|
if (!Subtarget->isThumb())
|
||||||
return ARM_AM::getSOImmVal(llvm::abs64(Imm)) != -1;
|
return ARM_AM::getSOImmVal(std::abs(Imm)) != -1;
|
||||||
if (Subtarget->isThumb2())
|
if (Subtarget->isThumb2())
|
||||||
return ARM_AM::getT2SOImmVal(llvm::abs64(Imm)) != -1;
|
return ARM_AM::getT2SOImmVal(std::abs(Imm)) != -1;
|
||||||
// Thumb1 doesn't have cmn, and only 8-bit immediates.
|
// Thumb1 doesn't have cmn, and only 8-bit immediates.
|
||||||
return Imm >= 0 && Imm <= 255;
|
return Imm >= 0 && Imm <= 255;
|
||||||
}
|
}
|
||||||
@ -10323,7 +10323,7 @@ bool ARMTargetLowering::isLegalICmpImmediate(int64_t Imm) const {
|
|||||||
/// immediate into a register.
|
/// immediate into a register.
|
||||||
bool ARMTargetLowering::isLegalAddImmediate(int64_t Imm) const {
|
bool ARMTargetLowering::isLegalAddImmediate(int64_t Imm) const {
|
||||||
// Same encoding for add/sub, just flip the sign.
|
// Same encoding for add/sub, just flip the sign.
|
||||||
int64_t AbsImm = llvm::abs64(Imm);
|
int64_t AbsImm = std::abs(Imm);
|
||||||
if (!Subtarget->isThumb())
|
if (!Subtarget->isThumb())
|
||||||
return ARM_AM::getSOImmVal(AbsImm) != -1;
|
return ARM_AM::getSOImmVal(AbsImm) != -1;
|
||||||
if (Subtarget->isThumb2())
|
if (Subtarget->isThumb2())
|
||||||
|
@ -690,7 +690,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(abs64(IVBump)))
|
if (!isPowerOf2_64(std::abs(IVBump)))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
MachineBasicBlock *PH = Loop->getLoopPreheader();
|
MachineBasicBlock *PH = Loop->getLoopPreheader();
|
||||||
|
@ -192,7 +192,7 @@ bool PPCLoopDataPrefetch::runOnLoop(Loop *L) {
|
|||||||
const SCEV *PtrDiff = SE->getMinusSCEV(LSCEVAddRec, K->second);
|
const SCEV *PtrDiff = SE->getMinusSCEV(LSCEVAddRec, K->second);
|
||||||
if (const SCEVConstant *ConstPtrDiff =
|
if (const SCEVConstant *ConstPtrDiff =
|
||||||
dyn_cast<SCEVConstant>(PtrDiff)) {
|
dyn_cast<SCEVConstant>(PtrDiff)) {
|
||||||
int64_t PD = abs64(ConstPtrDiff->getValue()->getSExtValue());
|
int64_t PD = std::abs(ConstPtrDiff->getValue()->getSExtValue());
|
||||||
if (PD < (int64_t) CacheLineSize) {
|
if (PD < (int64_t) CacheLineSize) {
|
||||||
DupPref = true;
|
DupPref = true;
|
||||||
break;
|
break;
|
||||||
|
@ -124,7 +124,7 @@ static unsigned getNewAlignmentDiff(const SCEV *DiffSCEV,
|
|||||||
|
|
||||||
// If the displacement is not an exact multiple, but the remainder is a
|
// If the displacement is not an exact multiple, but the remainder is a
|
||||||
// constant, then return this remainder (but only if it is a power of 2).
|
// constant, then return this remainder (but only if it is a power of 2).
|
||||||
uint64_t DiffUnitsAbs = abs64(DiffUnits);
|
uint64_t DiffUnitsAbs = std::abs(DiffUnits);
|
||||||
if (isPowerOf2_64(DiffUnitsAbs))
|
if (isPowerOf2_64(DiffUnitsAbs))
|
||||||
return (unsigned) DiffUnitsAbs;
|
return (unsigned) DiffUnitsAbs;
|
||||||
}
|
}
|
||||||
|
@ -3825,7 +3825,7 @@ void LSRInstance::GenerateCrossUseConstantOffsets() {
|
|||||||
if (C->getValue()->isNegative() !=
|
if (C->getValue()->isNegative() !=
|
||||||
(NewF.BaseOffset < 0) &&
|
(NewF.BaseOffset < 0) &&
|
||||||
(C->getValue()->getValue().abs() * APInt(BitWidth, F.Scale))
|
(C->getValue()->getValue().abs() * APInt(BitWidth, F.Scale))
|
||||||
.ule(abs64(NewF.BaseOffset)))
|
.ule(std::abs(NewF.BaseOffset)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// OK, looks good.
|
// OK, looks good.
|
||||||
@ -3856,7 +3856,7 @@ void LSRInstance::GenerateCrossUseConstantOffsets() {
|
|||||||
J != JE; ++J)
|
J != JE; ++J)
|
||||||
if (const SCEVConstant *C = dyn_cast<SCEVConstant>(*J))
|
if (const SCEVConstant *C = dyn_cast<SCEVConstant>(*J))
|
||||||
if ((C->getValue()->getValue() + NewF.BaseOffset).abs().slt(
|
if ((C->getValue()->getValue() + NewF.BaseOffset).abs().slt(
|
||||||
abs64(NewF.BaseOffset)) &&
|
std::abs(NewF.BaseOffset)) &&
|
||||||
(C->getValue()->getValue() +
|
(C->getValue()->getValue() +
|
||||||
NewF.BaseOffset).countTrailingZeros() >=
|
NewF.BaseOffset).countTrailingZeros() >=
|
||||||
countTrailingZeros<uint64_t>(NewF.BaseOffset))
|
countTrailingZeros<uint64_t>(NewF.BaseOffset))
|
||||||
|
@ -649,11 +649,11 @@ namespace {
|
|||||||
if (VTy != VTy2 && Offset < 0) {
|
if (VTy != VTy2 && Offset < 0) {
|
||||||
int64_t VTy2TSS = (int64_t) DL->getTypeStoreSize(VTy2);
|
int64_t VTy2TSS = (int64_t) DL->getTypeStoreSize(VTy2);
|
||||||
OffsetInElmts = Offset/VTy2TSS;
|
OffsetInElmts = Offset/VTy2TSS;
|
||||||
return (abs64(Offset) % VTy2TSS) == 0;
|
return (std::abs(Offset) % VTy2TSS) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
OffsetInElmts = Offset/VTyTSS;
|
OffsetInElmts = Offset/VTyTSS;
|
||||||
return (abs64(Offset) % VTyTSS) == 0;
|
return (std::abs(Offset) % VTyTSS) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -984,8 +984,8 @@ namespace {
|
|||||||
unsigned IAlignment, JAlignment, IAddressSpace, JAddressSpace;
|
unsigned IAlignment, JAlignment, IAddressSpace, JAddressSpace;
|
||||||
int64_t OffsetInElmts = 0;
|
int64_t OffsetInElmts = 0;
|
||||||
if (getPairPtrInfo(I, J, IPtr, JPtr, IAlignment, JAlignment,
|
if (getPairPtrInfo(I, J, IPtr, JPtr, IAlignment, JAlignment,
|
||||||
IAddressSpace, JAddressSpace,
|
IAddressSpace, JAddressSpace, OffsetInElmts) &&
|
||||||
OffsetInElmts) && abs64(OffsetInElmts) == 1) {
|
std::abs(OffsetInElmts) == 1) {
|
||||||
FixedOrder = (int) OffsetInElmts;
|
FixedOrder = (int) OffsetInElmts;
|
||||||
unsigned BottomAlignment = IAlignment;
|
unsigned BottomAlignment = IAlignment;
|
||||||
if (OffsetInElmts < 0) BottomAlignment = JAlignment;
|
if (OffsetInElmts < 0) BottomAlignment = JAlignment;
|
||||||
|
Reference in New Issue
Block a user