GlobalISel: Revisit users of other merge opcodes in artifact combiner
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Sun, 16 Aug 2020 14:04:12 +0000 (10:04 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 17 Aug 2020 17:56:53 +0000 (13:56 -0400)
commitfe171908e91f1fb5146a78a618d721e68cf9e306
treed085ea0bec24302528a6c3d7da66d21533d31d2d
parente0ec7a02064968c7df11713689107148b4efb993
GlobalISel: Revisit users of other merge opcodes in artifact combiner

The artifact combiner searches for the uses of G_MERGE_VALUES for
unmerge/trunc that need further combining. This also needs to handle
the vector merge opcodes the same way. This fixes leaving behind some
pairs I expected to be removed, that were if the legalizer is run a
second time.
llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-build-vector.mir [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-concat-vectors.mir [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcopysign.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll