[PATCH] D80437: [CodeGen] Let computeKnownBits do something sensible for scalable vectors

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 10 04:52:54 PDT 2020


david-arm updated this revision to Diff 269790.
david-arm added a comment.
Herald added a subscriber: arphaman.

Hi @efriedma, I tried to find some pre-existing folds that we were doing before my patch, but couldn't find anything. The problem is that fundamentally many of these functions need to understand SPLAT_VECTORs in order to return something known. I tried adding SPLAT_VECTOR support to isConstOrConstSplat, since that allowed us to call MaskedValueIsZero a bit more. However, we then end up crashing in SimplifyDemandedBits. However, I do understand your concern so I have added a unit test that confirms we pretend we know nothing. This patch kills off the last remaining warnings in quite a few tests, so I have added checks for no warnings in those files.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80437/new/

https://reviews.llvm.org/D80437

Files:
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/test/CodeGen/AArch64/sve-intrinsics-gather-prefetches-scalar-base-vector-indexes.ll
  llvm/test/CodeGen/AArch64/sve-intrinsics-ld1ro.ll
  llvm/test/CodeGen/AArch64/sve-intrinsics-scatter-stores-32bit-scaled-offsets.ll
  llvm/test/CodeGen/AArch64/sve-intrinsics-scatter-stores-32bit-unscaled-offsets.ll
  llvm/test/CodeGen/AArch64/sve-masked-ldst-nonext.ll
  llvm/test/CodeGen/AArch64/sve-masked-ldst-sext.ll
  llvm/test/CodeGen/AArch64/sve-masked-ldst-trunc.ll
  llvm/test/CodeGen/AArch64/sve-masked-ldst-zext.ll
  llvm/test/CodeGen/AArch64/sve-pred-contiguous-ldst-addressing-mode-reg-imm.ll
  llvm/test/CodeGen/AArch64/sve-pred-contiguous-ldst-addressing-mode-reg-reg.ll
  llvm/test/CodeGen/AArch64/sve-setcc.ll
  llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80437.269790.patch
Type: text/x-patch
Size: 9729 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200610/a47e9edb/attachment.bin>


More information about the llvm-commits mailing list