mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
tidy up some stuff duncan pointed out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93007 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d248ffb7d5
commit
9aa1e246dd
@ -705,7 +705,7 @@ Instruction *InstCombiner::FoldICmpAddOpCst(ICmpInst &ICI,
|
||||
// so the values can never be equal. Similiarly for all other "or equals"
|
||||
// operators.
|
||||
|
||||
// (X+1) <u X --> X >u (MAXUINT-1) --> X != 255
|
||||
// (X+1) <u X --> X >u (MAXUINT-1) --> X == 255
|
||||
// (X+2) <u X --> X >u (MAXUINT-2) --> X > 253
|
||||
// (X+MAXUINT) <u X --> X >u (MAXUINT-MAXUINT) --> X != 0
|
||||
if (Pred == ICmpInst::ICMP_ULT || Pred == ICmpInst::ICMP_ULE) {
|
||||
@ -713,7 +713,8 @@ Instruction *InstCombiner::FoldICmpAddOpCst(ICmpInst &ICI,
|
||||
if (isNUW)
|
||||
return ReplaceInstUsesWith(ICI, ConstantInt::getFalse(X->getContext()));
|
||||
|
||||
Value *R = ConstantExpr::getSub(ConstantInt::get(CI->getType(), -1ULL), CI);
|
||||
Value *R =
|
||||
ConstantExpr::getSub(ConstantInt::getAllOnesValue(CI->getType()), CI);
|
||||
return new ICmpInst(ICmpInst::ICMP_UGT, X, R);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user