Minor simplification: use ShuffleVectorInst::getMaskValue instead of a more expensive...
authorEli Friedman <eli.friedman@gmail.com>
Fri, 21 Oct 2011 19:11:34 +0000 (19:11 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Fri, 21 Oct 2011 19:11:34 +0000 (19:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142672 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/InstCombine/InstCombineVectorOps.cpp

index 6dcfa0ddd29d16883fffac67b34300f2ea484308..0995d4672238c2df920b41e433384973c56104a5 100644 (file)
@@ -108,7 +108,7 @@ static Value *FindScalarElement(Value *V, unsigned EltNo) {
   if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V)) {
     unsigned LHSWidth =
       cast<VectorType>(SVI->getOperand(0)->getType())->getNumElements();
-    int InEl = getShuffleMask(SVI)[EltNo];
+    int InEl = SVI->getMaskValue(EltNo);
     if (InEl < 0)
       return UndefValue::get(PTy->getElementType());
     if (InEl < (int)LHSWidth)
@@ -212,7 +212,7 @@ Instruction *InstCombiner::visitExtractElementInst(ExtractElementInst &EI) {
       // If this is extracting an element from a shufflevector, figure out where
       // it came from and extract from the appropriate input element instead.
       if (ConstantInt *Elt = dyn_cast<ConstantInt>(EI.getOperand(1))) {
-        int SrcIdx = getShuffleMask(SVI)[Elt->getZExtValue()];
+        int SrcIdx = SVI->getMaskValue(Elt->getZExtValue());
         Value *Src;
         unsigned LHSWidth =
           cast<VectorType>(SVI->getOperand(0)->getType())->getNumElements();