[all-commits] [llvm/llvm-project] 812e64: [DAG] MatchRotate - support rotate-by-constant of ...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Fri Nov 19 03:15:12 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 812e64ef0c933b402da99a5e5428fc88927bb792
      https://github.com/llvm/llvm-project/commit/812e64ef0c933b402da99a5e5428fc88927bb792
  Author: Simon Pilgrim <simon_pilgrim at scee.net>
  Date:   2021-11-19 (Fri, 19 Nov 2021)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/ARM/rotate.ll
    M llvm/test/CodeGen/PowerPC/vector-rotates.ll
    M llvm/test/CodeGen/RISCV/rv32zbp.ll
    M llvm/test/CodeGen/RISCV/rv64zbp.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
    M llvm/test/CodeGen/X86/rotate-extract-vector.ll
    M llvm/test/CodeGen/X86/rotate-extract.ll
    M llvm/test/CodeGen/X86/rotate.ll
    M llvm/test/CodeGen/X86/rotate2.ll
    M llvm/test/CodeGen/X86/vector-rotate-128.ll
    M llvm/test/CodeGen/X86/vector-rotate-256.ll
    M llvm/test/CodeGen/X86/vector-rotate-512.ll

  Log Message:
  -----------
  [DAG] MatchRotate - support rotate-by-constant of illegal types

Patch to fix some of the regressions in D77804.

By folding to rotate/funnel-shift by constant amounts for illegal types, we prevent SimplifyDemandedBits from destroying the patterns prematurely, allowing us to use the rotate/funnel-shift legalization that was added in D112443.

Differential Revision: https://reviews.llvm.org/D113192




More information about the All-commits mailing list