[all-commits] [llvm/llvm-project] 02c2bf: [RISCV] Change heuristic used for load clustering ...

Alex Bradbury via All-commits all-commits at lists.llvm.org
Tue Jan 2 08:28:38 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 02c2bf8c054c8a425f7347a4a276e2dbf4b10e5a
      https://github.com/llvm/llvm-project/commit/02c2bf8c054c8a425f7347a4a276e2dbf4b10e5a
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-01-02 (Tue, 02 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp

  Log Message:
  -----------
  [RISCV] Change heuristic used for load clustering (#75341)

Split out from #73789, so as to leave that PR just for flipping load
clustering to on by default. Clusters if the operations are within a
cache line of each other (as AMDGPU does in shouldScheduleLoadsNear).
X86 does something similar, but does `((Offset2 - Offset1) / 8 > 64)`.
I'm not sure if that's intentionally set to 512 bytes or if the division
is in error.

Adopts the suggestion from @wangpc-pp to query the cache line size and
use it if available.

We also cap the maximum cluster size to cap the potential register
pressure impact (which may lead to additional spills).




More information about the All-commits mailing list