GlobalISel: Reimplement widenScalar for G_UNMERGE_VALUES results
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 21 Jan 2020 14:02:42 +0000 (09:02 -0500)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 27 Jan 2020 14:18:26 +0000 (06:18 -0800)
commit2a160ba5b0ad065ee7020c787e7f896416be3faa
tree4e6ce31e0d91157d90499234076d63911b207793
parent8a6b948eb59267736a34a5deace9c7d947c63492
GlobalISel: Reimplement widenScalar for G_UNMERGE_VALUES results

Only use shifts if the requested type exactly matches the source type,
and create sub-unmerges otherwise.
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
llvm/test/CodeGen/AArch64/GlobalISel/legalize-unmerge-values.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-anyext.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zext.mir