mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-30 17:21:10 +00:00
Make use of ConstantInt::isZero instead of ConstantInt::isNullValue.
llvm-svn: 36261
This commit is contained in:
parent
82fcf3cb5f
commit
aafe4e216e
@ -620,7 +620,7 @@ BasicAliasAnalysis::CheckGEPInstructions(
|
||||
if (NumGEP1Ops > MinOperands) {
|
||||
for (unsigned i = FirstConstantOper; i != MaxOperands; ++i)
|
||||
if (isa<ConstantInt>(GEP1Ops[i]) &&
|
||||
!cast<Constant>(GEP1Ops[i])->isNullValue()) {
|
||||
!cast<ConstantInt>(GEP1Ops[i])->isZero()) {
|
||||
// Yup, there's a constant in the tail. Set all variables to
|
||||
// constants in the GEP instruction to make it suiteable for
|
||||
// TargetData::getIndexedOffset.
|
||||
|
@ -2224,7 +2224,7 @@ Instruction *InstCombiner::visitSub(BinaryOperator &I) {
|
||||
// 0 - (X sdiv C) -> (X sdiv -C)
|
||||
if (Op1I->getOpcode() == Instruction::SDiv)
|
||||
if (ConstantInt *CSI = dyn_cast<ConstantInt>(Op0))
|
||||
if (CSI->isNullValue())
|
||||
if (CSI->isZero())
|
||||
if (Constant *DivRHS = dyn_cast<Constant>(Op1I->getOperand(1)))
|
||||
return BinaryOperator::createSDiv(Op1I->getOperand(0),
|
||||
ConstantExpr::getNeg(DivRHS));
|
||||
@ -2268,7 +2268,7 @@ static bool isSignBitCheck(ICmpInst::Predicate pred, ConstantInt *RHS) {
|
||||
switch (pred) {
|
||||
case ICmpInst::ICMP_SLT:
|
||||
// True if LHS s< RHS and RHS == 0
|
||||
return RHS->isNullValue();
|
||||
return RHS->isZero();
|
||||
case ICmpInst::ICMP_SLE:
|
||||
// True if LHS s<= RHS and RHS == -1
|
||||
return RHS->isAllOnesValue();
|
||||
@ -2303,7 +2303,7 @@ Instruction *InstCombiner::visitMul(BinaryOperator &I) {
|
||||
return BinaryOperator::createMul(SI->getOperand(0),
|
||||
ConstantExpr::getShl(CI, ShOp));
|
||||
|
||||
if (CI->isNullValue())
|
||||
if (CI->isZero())
|
||||
return ReplaceInstUsesWith(I, Op1); // X * 0 == 0
|
||||
if (CI->equalsInt(1)) // X * 1 == X
|
||||
return ReplaceInstUsesWith(I, Op0);
|
||||
@ -8131,7 +8131,7 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
|
||||
// input pointer, it just changes its type.
|
||||
if (AllZeroIndices) {
|
||||
if (ConstantInt *CI = dyn_cast<ConstantInt>(GEP.getOperand(i)))
|
||||
AllZeroIndices = CI->isNullValue();
|
||||
AllZeroIndices = CI->isZero();
|
||||
else
|
||||
AllZeroIndices = false;
|
||||
}
|
||||
|
@ -834,7 +834,7 @@ const Type *SROA::CanConvertToScalar(Value *V, bool &IsNotTrivial) {
|
||||
} else if (GEP->getNumOperands() == 3 &&
|
||||
isa<ConstantInt>(GEP->getOperand(1)) &&
|
||||
isa<ConstantInt>(GEP->getOperand(2)) &&
|
||||
cast<Constant>(GEP->getOperand(1))->isNullValue()) {
|
||||
cast<ConstantInt>(GEP->getOperand(1))->isZero()) {
|
||||
// We are stepping into an element, e.g. a structure or an array:
|
||||
// GEP Ptr, int 0, uint C
|
||||
const Type *AggTy = PTy->getElementType();
|
||||
|
Loading…
Reference in New Issue
Block a user