Remove some old code that looks like a remanant from signed-types days.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61984 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-01-09 07:10:58 +00:00
parent 2a99b482a6
commit 6d6b410698

View File

@ -6765,29 +6765,6 @@ Instruction *InstCombiner::visitICmpInstWithInstAndIntCst(ICmpInst &ICI,
return &ICI;
}
}
} else { // Not a ICMP_EQ/ICMP_NE
// If the LHS is a cast from an integral value of the same size,
// then since we know the RHS is a constant, try to simlify.
if (CastInst *Cast = dyn_cast<CastInst>(LHSI)) {
Value *CastOp = Cast->getOperand(0);
const Type *SrcTy = CastOp->getType();
uint32_t SrcTySize = SrcTy->getPrimitiveSizeInBits();
if (SrcTy->isInteger() &&
SrcTySize == Cast->getType()->getPrimitiveSizeInBits()) {
// If this is an unsigned comparison, try to make the comparison use
// smaller constant values.
if (ICI.getPredicate() == ICmpInst::ICMP_ULT && RHSV.isSignBit()) {
// X u< 128 => X s> -1
return new ICmpInst(ICmpInst::ICMP_SGT, CastOp,
ConstantInt::get(APInt::getAllOnesValue(SrcTySize)));
} else if (ICI.getPredicate() == ICmpInst::ICMP_UGT &&
RHSV == APInt::getSignedMaxValue(SrcTySize)) {
// X u> 127 => X s< 0
return new ICmpInst(ICmpInst::ICMP_SLT, CastOp,
Constant::getNullValue(SrcTy));
}
}
}
}
return 0;
}