[all-commits] [llvm/llvm-project] 385f59: [llvm-mca] Teach MCA constant registers do not cre...

Rin Dobrescu via All-commits all-commits at lists.llvm.org
Fri May 3 02:30:44 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 385f59f9f570b77bf8bd636ba2f65a08a7227499
      https://github.com/llvm/llvm-project/commit/385f59f9f570b77bf8bd636ba2f65a08a7227499
  Author: Rin Dobrescu <irina.dobrescu at arm.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [llvm-mca] Teach MCA constant registers do not create dependencies (#89387)

Constant registers like the zero registers XZR and WZR are treated as
any other register by LLVM-MCA. This can create non existent dependency
chains.
Currently there is no method in MCA to query if a register is constant.
This patch fixes the issue by adding a bool Constant
variable to MCRegisterDesc that is true for constant registers. Since
constant registers do not create dependencies, it makes sense to add
this check to MCA.



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