summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
index a18b33475b2..5af0dab940d 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
@@ -920,28 +920,26 @@ static Instruction *foldAddSubSelect(SelectInst &SI,
/// we may be able to create an i1 select which can be further folded to
/// logical ops.
static Instruction *foldSelectExtConst(InstCombiner::BuilderTy &Builder,
- SelectInst &SI, Instruction *EI,
- const APInt &C, bool isExtTrueVal,
- bool isSigned) {
- Value *SmallVal = EI->getOperand(0);
+ SelectInst &SI, Instruction *ExtInst,
+ const APInt &C, bool IsExtTrueVal,
+ bool IsSigned) {
+ Value *SmallVal = ExtInst->getOperand(0);
Type *SmallType = SmallVal->getType();
- // TODO Handle larger types as well? Note this requires adjusting
- // FoldOpIntoSelect as well.
+ // TODO: Handle larger types? That requires adjusting FoldOpIntoSelect too.
if (!SmallType->getScalarType()->isIntegerTy(1))
return nullptr;
- if (C != 0 && (isSigned || C != 1) &&
- (!isSigned || !C.isAllOnesValue()))
+ if (C != 0 && (IsSigned || C != 1) && (!IsSigned || !C.isAllOnesValue()))
return nullptr;
Value *SmallConst = ConstantInt::get(SmallType, C.trunc(1));
- Value *TrueVal = isExtTrueVal ? SmallVal : SmallConst;
- Value *FalseVal = isExtTrueVal ? SmallConst : SmallVal;
+ Value *TrueVal = IsExtTrueVal ? SmallVal : SmallConst;
+ Value *FalseVal = IsExtTrueVal ? SmallConst : SmallVal;
Value *Select = Builder.CreateSelect(SI.getOperand(0), TrueVal, FalseVal,
"fold." + SI.getName(), &SI);
- if (isSigned)
+ if (IsSigned)
return new SExtInst(Select, SI.getType());
return new ZExtInst(Select, SI.getType());
OpenPOWER on IntegriCloud