]> granicus.if.org Git - llvm/commitdiff
[InstCombine] remove redundant fold for insertelement; NFC
authorSanjay Patel <spatel@rotateright.com>
Thu, 23 May 2019 23:33:34 +0000 (23:33 +0000)
committerSanjay Patel <spatel@rotateright.com>
Thu, 23 May 2019 23:33:34 +0000 (23:33 +0000)
The out-of-bounds index pattern is handled by InstSimplify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361569 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/InstCombine/InstCombineVectorOps.cpp

index 44130d3246b67043feec406c7b591fa24c50c6a5..063175b45cba7574b00316830cf4d6a882cdc39b 100644 (file)
@@ -884,14 +884,10 @@ Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) {
   if (match(IdxOp, m_ConstantInt(InsertedIdx)) &&
       match(ScalarOp, m_ExtractElement(m_Value(ExtVecOp),
                                        m_ConstantInt(ExtractedIdx)))) {
-    unsigned NumInsertVectorElts = IE.getType()->getNumElements();
     unsigned NumExtractVectorElts = ExtVecOp->getType()->getVectorNumElements();
     if (ExtractedIdx >= NumExtractVectorElts) // Out of range extract.
       return replaceInstUsesWith(IE, VecOp);
 
-    if (InsertedIdx >= NumInsertVectorElts)  // Out of range insert.
-      return replaceInstUsesWith(IE, UndefValue::get(IE.getType()));
-
     // If we are extracting a value from a vector, then inserting it right
     // back into the same place, just use the input vector.
     if (ExtVecOp == VecOp && ExtractedIdx == InsertedIdx)