[llvm-commits] [llvm] r70391 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGNodes.h lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Evan Cheng
evan.cheng at apple.com
Wed Apr 29 14:31:06 PDT 2009
I still see this:
SDValue DAGCombiner::visitVECTOR_SHUFFLE(SDNode *N) {
return SDValue();
...
Is the transformations disabled on purpose?
Evan
On Apr 29, 2009, at 11:13 AM, Nate Begeman wrote:
> 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.
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list