R600: Add dag combine for copy of an illegal type.
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 15 Jul 2014 02:06:31 +0000 (02:06 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 15 Jul 2014 02:06:31 +0000 (02:06 +0000)
commitca3976f7aef49af78926ff542809e28c2eac22f1
tree6f07ed1aaf9e4fa1d0ae29846a913e19d4370bff
parentf1a7e6203316ef6f84977ce60075a84a47e6f28d
R600: Add dag combine for copy of an illegal type.

This helps avoid redundant instructions to unpack, and repack
the vectors. Ideally we could recognize that pattern and eliminate
it. Currently v4i8 and other small element type vectors are scalarized,
so this has the added bonus of avoiding that.

llvm-svn: 213031
llvm/lib/Target/R600/AMDGPUISelLowering.cpp
llvm/lib/Target/R600/AMDGPUISelLowering.h
llvm/test/CodeGen/R600/copy-illegal-type.ll [new file with mode: 0644]
llvm/test/CodeGen/R600/indirect-private-64.ll
llvm/test/CodeGen/R600/load.ll