[all-commits] [llvm/llvm-project] 3822ac: [MCA][RegisterFile] Fix register class check for m...

Andrea Di Biagio via All-commits all-commits at lists.llvm.org
Fri May 7 13:31:01 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3822ac909ead8f41ebc81e382bb01908bf04f407
      https://github.com/llvm/llvm-project/commit/3822ac909ead8f41ebc81e382bb01908bf04f407
  Author: Andrea Di Biagio <andrea.dibiagio at sony.com>
  Date:   2021-05-07 (Fri, 07 May 2021)

  Changed paths:
    M llvm/lib/MCA/HardwareUnits/RegisterFile.cpp

  Log Message:
  -----------
  [MCA][RegisterFile] Fix register class check for move elimination (PR50265)

The register file should always check if the destination register is from a
register class that allows move elimination.

Before this change, the check on the register class was only performed in a few
very specific cases. However, it should have always been performed.
This patch fixes the issue.

Note that none of the upstream scheduling models is currently affected by this
bug, so there is no test for it. The issue was found by Roman while working on
the znver3 model. I was able to reproduce the issue locally by tweaking the
btver2 model. I then verified that this patch fixes the issue.




More information about the All-commits mailing list