[all-commits] [llvm/llvm-project] 592e89: [DAG] Constify SelectionDAG::isSplatValue()

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Tue Dec 21 03:19:58 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 592e89e636d8da4e003ff6ea2c8483fa921b90dc
      https://github.com/llvm/llvm-project/commit/592e89e636d8da4e003ff6ea2c8483fa921b90dc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-12-21 (Tue, 21 Dec 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [DAG] Constify SelectionDAG::isSplatValue()

This doesn't generate any nodes so should be usable by methods with const SelectionDAG &.


  Commit: 0caf8a3daf16bec0014535ddf8b402931a6a6917
      https://github.com/llvm/llvm-project/commit/0caf8a3daf16bec0014535ddf8b402931a6a6917
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-12-21 (Tue, 21 Dec 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-fshl-128.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-rotate-128.ll
    M llvm/test/CodeGen/X86/vector-rotate-256.ll

  Log Message:
  -----------
  [X86] LowerRotate - enable vXi32 splat handling

Pull out the "rotl(x,y) --> (unpack(x,x) << zext(splat(y % bw))) >> bw" special case from vXi8 lowering so we can reuse it for vXi32 types as well.

There's still some regressions with vXi16 to handle before this becomes entirely general.

It also allows us to remove the now unnecessary hack for handling amount-modulo before splatting.


Compare: https://github.com/llvm/llvm-project/compare/9e3ae8d296aa...0caf8a3daf16


More information about the All-commits mailing list