mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-12 22:53:08 +00:00
Remove some old code that looks like a remanant from signed-types days.
llvm-svn: 61984
This commit is contained in:
parent
6140ea4f18
commit
1ce1f9e7cd
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user