[PATCH] D120264: [SDAG] remove shift that is redundant with part of funnel shift

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 21 10:32:34 PST 2022


spatel created this revision.
spatel added reviewers: fzhinkin, lebedev.ri, RKSimon, dmgreen, craig.topper.
Herald added subscribers: frasercrmck, ecnelises, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya, kristof.beyls, mcrosier.
spatel requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead, MaskRay.
Herald added a project: LLVM.

This is the SDAG translation of D120253 <https://reviews.llvm.org/D120253> :
https://alive2.llvm.org/ce/z/qHpmNn

The SDAG nodes can have different operand types than the result value. We can see an example of that with AArch64 - the funnel shift amount is an i64 rather than i32.

We may need to make that match even more flexible to handle post-legalization nodes, but I have not stepped into that yet.


https://reviews.llvm.org/D120264

Files:
  llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  llvm/test/CodeGen/AArch64/funnel-shift.ll
  llvm/test/CodeGen/RISCV/rv32zbp.ll
  llvm/test/CodeGen/X86/funnel-shift.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120264.410334.patch
Type: text/x-patch
Size: 6118 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220221/8997bf07/attachment.bin>


More information about the llvm-commits mailing list