[SelectionDAG] Teach the vector scalarizer about TRUNCATE.
authorQuentin Colombet <qcolombet@apple.com>
Tue, 17 Sep 2013 00:26:56 +0000 (00:26 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Tue, 17 Sep 2013 00:26:56 +0000 (00:26 +0000)
commit24e1b39a24ca7b8866a636498173f3959b561058
treef20894f519fc3958c81366354c11ee059f984724
parent06b005f17a110396f95dfbabfa988aa94d195f9a
[SelectionDAG] Teach the vector scalarizer about TRUNCATE.

When a truncate node defines a legal vector type but uses an illegal
vector type, the legalization process was splitting the vector until
<1 x vector> type, but then it was failing to scalarize the node because
it did not know how to handle TRUNCATE.

<rdar://problem/14989896>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190830 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeTypes.h
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
test/CodeGen/ARM/vector-DAGCombine.ll