aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2023-08-22 14:25:31 +0100
committerDavid Green <david.green@arm.com>2023-08-22 14:25:31 +0100
commit8f6a1a07cb85980013c70d5af6d28f5fcf75e732 (patch)
tree8fe36b1aa83796e1f6f86747979c146f01a5d0fc /llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
parent4a68c2794941a4f43f1b353d3e19e3dc896773cb (diff)
downloadllvm-8f6a1a07cb85980013c70d5af6d28f5fcf75e732.zip
llvm-8f6a1a07cb85980013c70d5af6d28f5fcf75e732.tar.gz
llvm-8f6a1a07cb85980013c70d5af6d28f5fcf75e732.tar.bz2
[GISel][AArch64] Combine G_BUILD_VECTOR(G_UNMERGE) with undef elements
This extends the existing legalization combine to fold G_BUILD_VECTOR where the sources are all from the same G_UNMERGE, to handle cases where some of the lanes are undef. This comes up in the legalization of <3 x ..> vectors in AArch64, where they are padded with undef. There are two choices for what to create. This patch just removes the G_BUILD_VECTOR/G_UNMERGE, losing the information about which lanes are undef. The alternative would be to generate an identity G_SHUFFLE_VECTOR with undef lanes marked as undef. I think both have advantages and disadvantages. Differential Revision: https://reviews.llvm.org/D158063
Diffstat (limited to 'llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp')
0 files changed, 0 insertions, 0 deletions