OSDN Git Service

[SelectionDAG] Don't use simple VT in generic shuffle code
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 3 Feb 2018 21:34:42 +0000 (21:34 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 3 Feb 2018 21:34:42 +0000 (21:34 +0000)
Better to assume that any value type may be commuted, not just MVTs.

No test case right now, but discovered while investigating possible shuffle combines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@324179 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index 4e5eab4..aaf962a 100644 (file)
@@ -1644,7 +1644,7 @@ SDValue SelectionDAG::getVectorShuffle(EVT VT, const SDLoc &dl, SDValue N1,
 }
 
 SDValue SelectionDAG::getCommutedVectorShuffle(const ShuffleVectorSDNode &SV) {
-  MVT VT = SV.getSimpleValueType(0);
+  EVT VT = SV.getValueType(0);
   SmallVector<int, 8> MaskVec(SV.getMask().begin(), SV.getMask().end());
   ShuffleVectorSDNode::commuteMask(MaskVec);