[all-commits] [llvm/llvm-project] 6434a8: [MachineLICM] Let targets decide if copy-like inst...

Guy David via All-commits all-commits at lists.llvm.org
Wed Jul 2 05:10:44 PDT 2025


  Branch: refs/heads/users/guy-david/aarch64-fmov-not-cheap
  Home:   https://github.com/llvm/llvm-project
  Commit: 6434a814819eceae22adf299d94bfc2752d6bc2c
      https://github.com/llvm/llvm-project/commit/6434a814819eceae22adf299d94bfc2752d6bc2c
  Author: Guy David <guyda96 at gmail.com>
  Date:   2025-07-02 (Wed, 02 Jul 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    M llvm/test/CodeGen/PowerPC/vsx-fma-m-early.ll
    M llvm/test/CodeGen/X86/break-false-dep.ll
    M llvm/test/CodeGen/X86/dag-update-nodetomatch.ll
    R llvm/test/CodeGen/X86/memfold-mov32r0.ll
    A llvm/test/CodeGen/X86/memfold-mov32r0.mir
    M llvm/test/CodeGen/X86/pr57673.ll
    M llvm/test/CodeGen/X86/reverse_branches.ll

  Log Message:
  -----------
  [MachineLICM] Let targets decide if copy-like instructions are cheap

When checking whether it is profitable to hoist an instruction, the pass
may override a target's ruling because it assumes that all COPY
instructions are cheap, and that may not be the case for all
micro-architectures.

On AArch64 there's 0% difference in performance in LLVM's test-suite.
Additionally, very few tests were affected by this change which shows
how useful it is to keep it.


  Commit: 8456e54592b38c5aed1318856af1708488c8eb8a
      https://github.com/llvm/llvm-project/commit/8456e54592b38c5aed1318856af1708488c8eb8a
  Author: Guy David <guyda96 at gmail.com>
  Date:   2025-07-02 (Wed, 02 Jul 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp

  Log Message:
  -----------
  [AArch64] Consider COPY between disjoint register classes as expensive


Compare: https://github.com/llvm/llvm-project/compare/6434a814819e%5E...8456e54592b3

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list