[all-commits] [llvm/llvm-project] 027c72: [SelectionDAGBuilder] Don't create MGATHER/MSCATTE...

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Apr 29 05:58:09 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 027c728f29889ea6502030ec3623774d830c2ac3
      https://github.com/llvm/llvm-project/commit/027c728f29889ea6502030ec3623774d830c2ac3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-04-29 (Fri, 29 Apr 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    A llvm/test/CodeGen/X86/gather-scatter-opaque-ptr-2.ll
    A llvm/test/CodeGen/X86/gather-scatter-opaque-ptr.ll

  Log Message:
  -----------
  [SelectionDAGBuilder] Don't create MGATHER/MSCATTER with Scale != ElemSize

This is an alternative to D124530. In getUniformBase() only create
scales that match the gather/scatter element size. If targets also
support other scales, then they can produce those scales in target
DAG combines. This is what X86 already does (as long as the
resulting scale would be 1, 2, 4 or 8).

This essentially restores the pre-opaque-pointer state of things.

Fixes https://github.com/llvm/llvm-project/issues/55021.

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




More information about the All-commits mailing list