[all-commits] [llvm/llvm-project] a850db: [AArch64] Sink vscale calls into loops for better ...

Graham Hunter via All-commits all-commits at lists.llvm.org
Tue Nov 7 02:29:56 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a850dbcc5cf146b071a82812ea8cb29d4feb8709
      https://github.com/llvm/llvm-project/commit/a850dbcc5cf146b071a82812ea8cb29d4feb8709
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-11-07 (Tue, 07 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/sve-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-sink.ll
    A llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll

  Log Message:
  -----------
  [AArch64] Sink vscale calls into loops for better isel (#70304)

For more recent sve capable CPUs it is beneficial to use the inc*
instruction
to increment a value by vscale (potentially shifted or multiplied) even
in
short loops.

This patch tells codegenprepare to sink appropriate vscale calls into
blocks where they are used so that isel can match them.




More information about the All-commits mailing list