From 052e976f856fc66fce47d75be893480776906539 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Wed, 27 Feb 2008 17:39:13 +0000 Subject: [PATCH] Add a FIXME about the VECTOR_SHUFFLE evil hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47676 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp b/lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp index c0168f04607..f6fdd2b8a3a 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp @@ -547,6 +547,8 @@ SDOperand DAGTypeLegalizer::SplitOp_VECTOR_SHUFFLE(SDNode *N, unsigned OpNo) { // If the element type is not legal, find a larger legal type to use for // the BUILD_VECTOR operands. This is an ugly hack, but seems to work! + // FIXME: The real solution is to change VECTOR_SHUFFLE into a variadic + // node where the shuffle mask is a list of integer operands, #2 .. #2+n. for (MVT::SimpleValueType OpVT = EltVT; OpVT <= MVT::LAST_INTEGER_VALUETYPE; // Integer values types are consecutively numbered. Exploit this. OpVT = MVT::SimpleValueType(OpVT + 1)) {