mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
Eliminate unnecessary uses of getZExtValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106279 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7720cb3823
commit
e368b460a2
@ -1082,6 +1082,7 @@ public:
|
||||
uint64_t getZExtValue() const { return Value->getZExtValue(); }
|
||||
int64_t getSExtValue() const { return Value->getSExtValue(); }
|
||||
|
||||
bool isOne() const { return Value->isOne(); }
|
||||
bool isNullValue() const { return Value->isNullValue(); }
|
||||
bool isAllOnesValue() const { return Value->isAllOnesValue(); }
|
||||
|
||||
|
@ -136,7 +136,7 @@ namespace llvm {
|
||||
return cast<ConstantInt>(const_cast<Value*>(getOperand(5)));
|
||||
}
|
||||
bool isVolatile() const {
|
||||
return getVolatileCst()->getZExtValue() != 0;
|
||||
return !getVolatileCst()->isZero();
|
||||
}
|
||||
|
||||
/// getDest - This is just like getRawDest, but it strips off any cast
|
||||
|
@ -208,7 +208,7 @@ static bool IsConstantOffsetFromGlobal(Constant *C, GlobalValue *&GV,
|
||||
i != e; ++i, ++GTI) {
|
||||
ConstantInt *CI = dyn_cast<ConstantInt>(*i);
|
||||
if (!CI) return false; // Index isn't a simple constant?
|
||||
if (CI->getZExtValue() == 0) continue; // Not adding anything.
|
||||
if (CI->isZero()) continue; // Not adding anything.
|
||||
|
||||
if (const StructType *ST = dyn_cast<StructType>(*GTI)) {
|
||||
// N = N + Offset
|
||||
|
@ -210,7 +210,7 @@ bool DwarfEHPrepare::IsACleanupSelector(IntrinsicInst *II) {
|
||||
if (Val + 4 == NumOps) {
|
||||
if (ConstantInt *FinalVal =
|
||||
dyn_cast<ConstantInt>(II->getOperand(NumOps - 1)))
|
||||
return (FinalVal->getZExtValue() == 0);
|
||||
return FinalVal->isZero();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -345,7 +345,7 @@ bool FastISel::SelectGetElementPtr(const User *I) {
|
||||
|
||||
// If this is a constant subscript, handle it quickly.
|
||||
if (const ConstantInt *CI = dyn_cast<ConstantInt>(Idx)) {
|
||||
if (CI->getZExtValue() == 0) continue;
|
||||
if (CI->isZero()) continue;
|
||||
uint64_t Offs =
|
||||
TD.getTypeAllocSize(Ty)*cast<ConstantInt>(CI)->getSExtValue();
|
||||
N = FastEmit_ri_(VT, ISD::ADD, N, NIsKill, Offs, VT);
|
||||
|
@ -2734,7 +2734,7 @@ void SelectionDAGBuilder::visitGetElementPtr(const User &I) {
|
||||
|
||||
// If this is a constant subscript, handle it quickly.
|
||||
if (const ConstantInt *CI = dyn_cast<ConstantInt>(Idx)) {
|
||||
if (CI->getZExtValue() == 0) continue;
|
||||
if (CI->isZero()) continue;
|
||||
uint64_t Offs =
|
||||
TD->getTypeAllocSize(Ty)*cast<ConstantInt>(CI)->getSExtValue();
|
||||
SDValue OffsVal;
|
||||
@ -4367,7 +4367,7 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) {
|
||||
SDValue Arg = getValue(I.getOperand(0));
|
||||
EVT Ty = Arg.getValueType();
|
||||
|
||||
if (CI->getZExtValue() == 0)
|
||||
if (CI->isZero())
|
||||
Res = DAG.getConstant(-1ULL, Ty);
|
||||
else
|
||||
Res = DAG.getConstant(0, Ty);
|
||||
|
@ -536,7 +536,7 @@ bool ARMDAGToDAGISel::SelectThumbAddrModeRR(SDNode *Op, SDValue N,
|
||||
DebugLoc dl = Op->getDebugLoc();
|
||||
if (N.getOpcode() != ISD::ADD) {
|
||||
ConstantSDNode *NC = dyn_cast<ConstantSDNode>(N);
|
||||
if (!NC || NC->getZExtValue() != 0)
|
||||
if (!NC || !NC->isNullValue())
|
||||
return false;
|
||||
|
||||
Base = Offset = N;
|
||||
|
@ -2867,7 +2867,7 @@ SPUTargetLowering::PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const
|
||||
case SPUISD::IndirectAddr: {
|
||||
if (!ST->usingLargeMem() && Op0.getOpcode() == SPUISD::AFormAddr) {
|
||||
ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N->getOperand(1));
|
||||
if (CN != 0 && CN->getZExtValue() == 0) {
|
||||
if (CN != 0 && CN->isNullValue()) {
|
||||
// (SPUindirect (SPUaform <addr>, 0), 0) ->
|
||||
// (SPUaform <addr>, 0)
|
||||
|
||||
|
@ -1791,14 +1791,14 @@ static PIC16CC::CondCodes IntCCToPIC16CC(ISD::CondCode CC) {
|
||||
static void LookThroughSetCC(SDValue &LHS, SDValue &RHS,
|
||||
ISD::CondCode CC, unsigned &SPCC) {
|
||||
if (isa<ConstantSDNode>(RHS) &&
|
||||
cast<ConstantSDNode>(RHS)->getZExtValue() == 0 &&
|
||||
cast<ConstantSDNode>(RHS)->isNullValue() &&
|
||||
CC == ISD::SETNE &&
|
||||
(LHS.getOpcode() == PIC16ISD::SELECT_ICC &&
|
||||
LHS.getOperand(3).getOpcode() == PIC16ISD::SUBCC) &&
|
||||
isa<ConstantSDNode>(LHS.getOperand(0)) &&
|
||||
isa<ConstantSDNode>(LHS.getOperand(1)) &&
|
||||
cast<ConstantSDNode>(LHS.getOperand(0))->getZExtValue() == 1 &&
|
||||
cast<ConstantSDNode>(LHS.getOperand(1))->getZExtValue() == 0) {
|
||||
cast<ConstantSDNode>(LHS.getOperand(0))->isOne() &&
|
||||
cast<ConstantSDNode>(LHS.getOperand(1))->isNullValue()) {
|
||||
SDValue CMPCC = LHS.getOperand(3);
|
||||
SPCC = cast<ConstantSDNode>(LHS.getOperand(2))->getZExtValue();
|
||||
LHS = CMPCC.getOperand(0);
|
||||
|
@ -5042,19 +5042,19 @@ SDValue PPCTargetLowering::PerformDAGCombine(SDNode *N,
|
||||
default: break;
|
||||
case PPCISD::SHL:
|
||||
if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(N->getOperand(0))) {
|
||||
if (C->getZExtValue() == 0) // 0 << V -> 0.
|
||||
if (C->isNullValue()) // 0 << V -> 0.
|
||||
return N->getOperand(0);
|
||||
}
|
||||
break;
|
||||
case PPCISD::SRL:
|
||||
if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(N->getOperand(0))) {
|
||||
if (C->getZExtValue() == 0) // 0 >>u V -> 0.
|
||||
if (C->isNullValue()) // 0 >>u V -> 0.
|
||||
return N->getOperand(0);
|
||||
}
|
||||
break;
|
||||
case PPCISD::SRA:
|
||||
if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(N->getOperand(0))) {
|
||||
if (C->getZExtValue() == 0 || // 0 >>s V -> 0.
|
||||
if (C->isNullValue() || // 0 >>s V -> 0.
|
||||
C->isAllOnesValue()) // -1 >>s V -> -1.
|
||||
return N->getOperand(0);
|
||||
}
|
||||
|
@ -737,7 +737,7 @@ void SparcTargetLowering::computeMaskedBitsForTargetNode(const SDValue Op,
|
||||
static void LookThroughSetCC(SDValue &LHS, SDValue &RHS,
|
||||
ISD::CondCode CC, unsigned &SPCC) {
|
||||
if (isa<ConstantSDNode>(RHS) &&
|
||||
cast<ConstantSDNode>(RHS)->getZExtValue() == 0 &&
|
||||
cast<ConstantSDNode>(RHS)->isNullValue() &&
|
||||
CC == ISD::SETNE &&
|
||||
((LHS.getOpcode() == SPISD::SELECT_ICC &&
|
||||
LHS.getOperand(3).getOpcode() == SPISD::CMPICC) ||
|
||||
@ -745,8 +745,8 @@ static void LookThroughSetCC(SDValue &LHS, SDValue &RHS,
|
||||
LHS.getOperand(3).getOpcode() == SPISD::CMPFCC)) &&
|
||||
isa<ConstantSDNode>(LHS.getOperand(0)) &&
|
||||
isa<ConstantSDNode>(LHS.getOperand(1)) &&
|
||||
cast<ConstantSDNode>(LHS.getOperand(0))->getZExtValue() == 1 &&
|
||||
cast<ConstantSDNode>(LHS.getOperand(1))->getZExtValue() == 0) {
|
||||
cast<ConstantSDNode>(LHS.getOperand(0))->isOne() &&
|
||||
cast<ConstantSDNode>(LHS.getOperand(1))->isNullValue()) {
|
||||
SDValue CMPCC = LHS.getOperand(3);
|
||||
SPCC = cast<ConstantSDNode>(LHS.getOperand(2))->getZExtValue();
|
||||
LHS = CMPCC.getOperand(0);
|
||||
|
@ -101,7 +101,7 @@ static bool IsNullTerminatedString(const Constant *C) {
|
||||
|
||||
ConstantInt *Null =
|
||||
dyn_cast<ConstantInt>(CVA->getOperand(ATy->getNumElements()-1));
|
||||
if (Null == 0 || Null->getZExtValue() != 0)
|
||||
if (Null == 0 || !Null->isZero())
|
||||
return false; // Not null terminated.
|
||||
|
||||
// Verify that the null doesn't occur anywhere else in the string.
|
||||
|
@ -1210,7 +1210,7 @@ bool X86FastISel::X86VisitIntrinsicCall(const IntrinsicInst &I) {
|
||||
|
||||
unsigned ResultReg = createResultReg(TLI.getRegClassFor(VT));
|
||||
BuildMI(MBB, DL, TII.get(OpC), ResultReg).
|
||||
addImm(CI->getZExtValue() == 0 ? -1ULL : 0);
|
||||
addImm(CI->isZero() ? -1ULL : 0);
|
||||
UpdateValueMap(&I, ResultReg);
|
||||
return true;
|
||||
}
|
||||
|
@ -3185,7 +3185,7 @@ unsigned X86::getShufflePALIGNRImmediate(SDNode *N) {
|
||||
/// constant +0.0.
|
||||
bool X86::isZeroNode(SDValue Elt) {
|
||||
return ((isa<ConstantSDNode>(Elt) &&
|
||||
cast<ConstantSDNode>(Elt)->getZExtValue() == 0) ||
|
||||
cast<ConstantSDNode>(Elt)->isNullValue()) ||
|
||||
(isa<ConstantFPSDNode>(Elt) &&
|
||||
cast<ConstantFPSDNode>(Elt)->getValueAPF().isPosZero()));
|
||||
}
|
||||
@ -6229,7 +6229,7 @@ SDValue X86TargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
|
||||
if (Op0.getOpcode() == ISD::AND &&
|
||||
Op0.hasOneUse() &&
|
||||
Op1.getOpcode() == ISD::Constant &&
|
||||
cast<ConstantSDNode>(Op1)->getZExtValue() == 0 &&
|
||||
cast<ConstantSDNode>(Op1)->isNullValue() &&
|
||||
(CC == ISD::SETEQ || CC == ISD::SETNE)) {
|
||||
SDValue NewSetCC = LowerToBT(Op0, CC, dl, DAG);
|
||||
if (NewSetCC.getNode())
|
||||
|
Loading…
Reference in New Issue
Block a user