[PATCH] D127126: [SelectionDAG] Remove invalid TypeSize conversion from PromoteIntRes_BITCAST.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 6 09:41:05 PDT 2022


paulwalker-arm created this revision.
Herald added subscribers: ctetreau, ecnelises, hiraditya.
Herald added a project: All.
paulwalker-arm requested review of this revision.
Herald added subscribers: llvm-commits, alextsao1999.
Herald added a project: LLVM.

Extend the TypeWidenVector case of PromoteIntRes_BITCAST to work
with TypeSize directly rather than silently casting to unsigned.

To accomplish this I've extended TypeSize with an interface that
essentially allows TypeSize division when both operands have the
same number of dimensions.

There still exists combinations of scalable vector bitcasts that
cause compiler crashes. I call these out by adding "is missing"
entries to sve-bitcast.

Depends on D126957 <https://reviews.llvm.org/D126957>.
Fixes: #55114


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D127126

Files:
  llvm/include/llvm/Support/TypeSize.h
  llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  llvm/test/CodeGen/AArch64/sve-bitcast.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127126.434511.patch
Type: text/x-patch
Size: 15210 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220606/1e3c4942/attachment.bin>


More information about the llvm-commits mailing list