Revert "[InstCombine] improve readability; NFC"

This reverts commit 7250ef3613.
At least 1 of these supposedly NFC commits wasn't - sanitizer bot is angry.
This commit is contained in:
Sanjay Patel 2019-12-06 14:20:44 -05:00
parent 142a75a9b1
commit b6d6f5470f
1 changed files with 10 additions and 6 deletions

View File

@ -863,15 +863,19 @@ Instruction *InstCombiner::transformZExtICmp(ICmpInst *Cmp, ZExtInst &Zext,
(Pred == ICmpInst::ICMP_SGT && Op1C->isAllOnesValue())) {
if (!DoTransform) return Cmp;
Value *In = Op0;
Value *ShAmt = ConstantInt::get(CmpOpType,
CmpOpType->getScalarSizeInBits() - 1);
Value *Sh = Builder.CreateLShr(Op0, ShAmt, Op0->getName() + ".lobit");
Value *Cast = Builder.CreateIntCast(Sh, ZType, false /*ZExt*/);
// Invert low bit if testing for positive.
if (Pred == ICmpInst::ICMP_SGT)
Cast = Builder.CreateXor(Cast, ConstantInt::get(CmpOpType, 1));
In = Builder.CreateLShr(In, ShAmt, In->getName() + ".lobit");
if (CmpOpType != ZType)
In = Builder.CreateIntCast(In, ZType, false /*ZExt*/);
return replaceInstUsesWith(Zext, Cast);
if (Pred == ICmpInst::ICMP_SGT) {
Constant *One = ConstantInt::get(CmpOpType, 1);
In = Builder.CreateXor(In, One, In->getName() + ".not");
}
return replaceInstUsesWith(Zext, In);
}
// zext (X == 0) to i32 --> X^1 iff X has only the low bit set.