[all-commits] [llvm/llvm-project] ce356e: [DAG] Add BuildVectorSDNode::getRepeatedSequence h...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sat Oct 24 04:23:49 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ce356e1546c9c538134dcdfc9f2d728b8ba0719c
      https://github.com/llvm/llvm-project/commit/ce356e1546c9c538134dcdfc9f2d728b8ba0719c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp

  Log Message:
  -----------
  [DAG] Add BuildVectorSDNode::getRepeatedSequence helper to recognise multi-element splat patterns

Replace the X86 specific isSplatZeroExtended helper with a generic BuildVectorSDNode method.

I've just used this to simplify the X86ISD::BROADCASTM lowering so far (and remove isSplatZeroExtended), but we should be able to use this in more places to lower to complex broadcast patterns.

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




More information about the All-commits mailing list