[InstCombine] use SelectInst operand names to make code clearer; NFC
authorSanjay Patel <spatel@rotateright.com>
Mon, 10 Sep 2018 18:37:59 +0000 (18:37 +0000)
committerSanjay Patel <spatel@rotateright.com>
Mon, 10 Sep 2018 18:37:59 +0000 (18:37 +0000)
Cleanup step for D51433.

llvm-svn: 341850

llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

index c5fe5561c0b65798a54e3e4c255756cd151825e4..78de6dfe7f47adc5517a3e8e9ca80c30bedc6638 100644 (file)
@@ -1260,13 +1260,15 @@ Value *InstCombiner::SimplifyDemandedVectorElts(Value *V, APInt DemandedElts,
     break;
   }
   case Instruction::Select: {
+    SelectInst *Sel = cast<SelectInst>(I);
+    Value *Cond = Sel->getCondition();
+
     APInt DemandedLHS(DemandedElts), DemandedRHS(DemandedElts);
-    if (auto *CV = dyn_cast<ConstantVector>(I->getOperand(0))) {
+    if (auto *CV = dyn_cast<ConstantVector>(Cond)) {
       for (unsigned i = 0; i < VWidth; i++) {
+        // isNullValue() always returns false when called on a ConstantExpr.
+        // Skip constant expressions to avoid propagating incorrect information.
         Constant *CElt = CV->getAggregateElement(i);
-        // Method isNullValue always returns false when called on a
-        // ConstantExpr. If CElt is a ConstantExpr then skip it in order to
-        // to avoid propagating incorrect information.
         if (isa<ConstantExpr>(CElt))
           continue;
         if (CElt->isNullValue())
@@ -1276,15 +1278,15 @@ Value *InstCombiner::SimplifyDemandedVectorElts(Value *V, APInt DemandedElts,
       }
     }
 
-    if (Value *V = SimplifyDemandedVectorElts(I->getOperand(1), DemandedLHS,
+    if (Value *V = SimplifyDemandedVectorElts(Sel->getTrueValue(), DemandedLHS,
                                               UndefElts2, Depth + 1)) {
-      I->setOperand(1, V);
+      Sel->setTrueValue(V);
       MadeChange = true;
     }
 
-    if (Value *V = SimplifyDemandedVectorElts(I->getOperand(2), DemandedRHS,
+    if (Value *V = SimplifyDemandedVectorElts(Sel->getFalseValue(), DemandedRHS,
                                               UndefElts3, Depth + 1)) {
-      I->setOperand(2, V);
+      Sel->setFalseValue(V);
       MadeChange = true;
     }