[llvm-commits] [llvm] r70391 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGNodes.h lib/CodeGen/SelectionDAG/SelectionDAG.cpp

Nate Begeman natebegeman at mac.com
Wed Apr 29 11:13:32 PDT 2009


Author: sampo
Date: Wed Apr 29 13:13:31 2009
New Revision: 70391

URL: http://llvm.org/viewvc/llvm-project?rev=70391&view=rev
Log:
Update comment, replace theoretically impossible check with an assert.

Modified:
    llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h
    llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

Modified: llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h?rev=70391&r1=70390&r2=70391&view=diff

==============================================================================
--- llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h (original)
+++ llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h Wed Apr 29 13:13:31 2009
@@ -317,13 +317,13 @@
     /// IDX, which must be a multiple of the result vector length.
     EXTRACT_SUBVECTOR,
 
-    /// VECTOR_SHUFFLE(VEC1, VEC2, SHUFFLEVEC) - Returns a vector, of the same
-    /// type as VEC1/VEC2.  SHUFFLEVEC is a BUILD_VECTOR of constant int values
-    /// (maybe of an illegal datatype) or undef that indicate which value each
-    /// result element will get.  The elements of VEC1/VEC2 are enumerated in
-    /// order.  This is quite similar to the Altivec 'vperm' instruction, except
-    /// that the indices must be constants and are in terms of the element size
-    /// of VEC1/VEC2, not in terms of bytes.
+    /// VECTOR_SHUFFLE(VEC1, VEC2) - Returns a vector, of the same type as 
+    /// VEC1/VEC2.  A VECTOR_SHUFFLE node also contains an array of constant int 
+    /// values that indicate which value (or undef) each result element will
+    /// get.  These constant ints are accessible through the 
+    /// ShuffleVectorSDNode class.  This is quite similar to the Altivec 
+    /// 'vperm' instruction, except that the indices must be constants and are
+    /// in terms of the element size of VEC1/VEC2, not in terms of bytes.
     VECTOR_SHUFFLE,
 
     /// SCALAR_TO_VECTOR(VAL) - This represents the operation of loading a

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

==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Wed Apr 29 13:13:31 2009
@@ -5731,9 +5731,7 @@
   for (i = 0, e = VT.getVectorNumElements(); i != e && Mask[i] < 0; ++i)
     /* search */;
 
-  // If we hit the end of the mask looking for a non-undef value, return false.
-  if (i == e)
-    return false;
+  assert(i != e && "VECTOR_SHUFFLE node with all undef indices!");
   
   // Make sure all remaining elements are either undef or the same as the first
   // non-undef value.





More information about the llvm-commits mailing list