[PATCH] D101990: [AArch64][SVE] Improve SVE codegen for fixed length BITCAST
Bradley Smith via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 6 05:58:57 PDT 2021
bsmith created this revision.
bsmith added reviewers: paulwalker-arm, peterwaller-arm, joechrisellis, david-arm.
Herald added subscribers: ecnelises, steven.zhang, psnobl, hiraditya, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
bsmith requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Expanding a fixed length operation involves wrapping the operation in an
insert/extract subvector pair, as such, when this is done to bitcast we
end up with an extract_subvector of a bitcast. DAGCombine tries to
convert this into a bitcast of an extract_subvector which restores the
initial fixed length bitcast, causing an infinite loop of legalization.
As part of this patch, we must make sure the above DAGCombine does not
trigger after legalization if the created bitcast would not be legal.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D101990
Files:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/test/CodeGen/AArch64/sve-fixed-length-bitcast.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101990.343378.patch
Type: text/x-patch
Size: 13899 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210506/6a658796/attachment.bin>
More information about the llvm-commits
mailing list