[llvm-commits] [llvm] r59900 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp

Mon P Wang wangmp at apple.com
Sat Nov 22 20:35:05 PST 2008


Author: wangmp
Date: Sat Nov 22 22:35:05 2008
New Revision: 59900

URL: http://llvm.org/viewvc/llvm-project?rev=59900&view=rev
Log:
Added check to avoid generating extract subvector beyond the end of the vector when normalizing vector shuffles.

Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp?rev=59900&r1=59899&r2=59900&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp Sat Nov 22 22:35:05 2008
@@ -2423,7 +2423,8 @@
           StartIdx[Input] = 0;
         } else {
           StartIdx[Input] = (MinRange[Input]/MaskNumElts)*MaskNumElts;
-          if (MaxRange[Input] - StartIdx[Input] < MaskNumElts) 
+          if (MaxRange[Input] - StartIdx[Input] < MaskNumElts &&
+              StartIdx[Input] + MaskNumElts < SrcNumElts) 
             RangeUse[Input] = 1; // Extract from a multiple of the mask length.
         }
       }





More information about the llvm-commits mailing list