diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2018-06-07 19:42:27 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2018-06-07 19:42:27 +0000 |
commit | e8eb567e17b19e7f0cbba88ac4311655c4a52056 (patch) | |
tree | 5de142e1c3d23104b8588518d1aef04b09add772 /llvm/unittests/Support/ReplaceFileTest.cpp | |
parent | 58cb1973de6538d9e5f549404b6ca8b08483db4c (diff) | |
download | bcm5719-llvm-e8eb567e17b19e7f0cbba88ac4311655c4a52056.tar.gz bcm5719-llvm-e8eb567e17b19e7f0cbba88ac4311655c4a52056.zip |
DAG: Avoid bitcast/ext/build_vector combine
This avoids regressions in a future AMDGPU change
to make v4i16/v4f16 legal. For these types, build_vector
is implemented as bitcasted operations on v2i32. This
combine was creating v4i16s out of what would have been
already been a v2i32 build_vector, creating a mess
of nodes that never get cleaned up.
I'm not sure this is the right condition to check.
I initially tried just checking for the legality of the
new build_vector. This works for my case, but breaks dozens
of x86 tests. A Mips test seems to show some improvement
or at least a neutral change. I don't want to think
about how long it would take to analyze the set of
different x86 vector operations impacted.
Test included in future commit.
llvm-svn: 334218
Diffstat (limited to 'llvm/unittests/Support/ReplaceFileTest.cpp')
0 files changed, 0 insertions, 0 deletions