[all-commits] [llvm/llvm-project] 7ba702: [SLP][AArch64] Implement lookahead operand reorder...

vporpo via All-commits all-commits at lists.llvm.org
Fri Apr 22 07:48:15 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7ba702644bac6df166a02bbd692c1599a95a7c8b
      https://github.com/llvm/llvm-project/commit/7ba702644bac6df166a02bbd692c1599a95a7c8b
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2022-04-22 (Fri, 22 Apr 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll

  Log Message:
  -----------
  [SLP][AArch64] Implement lookahead operand reordering score of splat loads for AArch64

The original patch (https://reviews.llvm.org/D121354) targets x86 and adjusts
the lookahead score of splat loads ad they can be done by the `movddup`
instruction that combines the load and the broadcast and is cheap to execute.

A similar issue shows up on AArch64. The `ld1r` instruction performs a broadcast
load and is cheap to execute.

This patch implements the TargetTransformInfo hooks for AArch64.

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




More information about the All-commits mailing list