aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUtils.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-12-14 06:49:07 +0000
committerCraig Topper <craig.topper@intel.com>2017-12-14 06:49:07 +0000
commitcf77203ff68d19af3b64d985ecb9110a777a4ae5 (patch)
treea47c03354350b0beba9c6393ce1f1c64b039d3fa /llvm/lib/Transforms/Utils/LoopUtils.cpp
parentf01caab4b7ee9673d010c849b5a77c2489670db7 (diff)
downloadllvm-cf77203ff68d19af3b64d985ecb9110a777a4ae5.zip
llvm-cf77203ff68d19af3b64d985ecb9110a777a4ae5.tar.gz
llvm-cf77203ff68d19af3b64d985ecb9110a777a4ae5.tar.bz2
[SelectionDAG] When legalizing the result type of CONCAT_VECTORS, take into account whether the input type also needs to be promoted.
If so go ahead and get the promoted input vector to extract from. Previously, we would create a bunch of any_extends of extract_vector_elts with illegal input type that needs to be promoted. The legalization of those extract_vector_elts would then potentially introduce a truncate. So now we have a bunch of any_extends of truncates. By legalizing both parts together we avoid creating these extra nodes. The test changes seem to be because we were previously combining the build_vector with the any_extend before the any_extend got combined with the truncate. llvm-svn: 320669
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions