[all-commits] [llvm/llvm-project] a35c2c: [GlobalISel] Implement fewerElements legalization ...

Amara Emerson via All-commits all-commits at lists.llvm.org
Tue Mar 30 11:29:06 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a35c2c7942e4c66aedf6b9133ad6398b602c0198
      https://github.com/llvm/llvm-project/commit/a35c2c7942e4c66aedf6b9133ad6398b602c0198
  Author: Amara Emerson <amara at apple.com>
  Date:   2021-03-30 (Tue, 30 Mar 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-add.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fadd.mir
    M llvm/test/CodeGen/AArch64/arm64-vabs.ll

  Log Message:
  -----------
  [GlobalISel] Implement fewerElements legalization for vector reductions.

This patch adds 3 methods, one for power-of-2 vectors which use tree
reductions using vector ops, before a final reduction op. For non-pow-2
types it generates multiple narrow reductions and combines the values with
scalar ops.

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




More information about the All-commits mailing list