[all-commits] [llvm/llvm-project] 370555: [MCA] Parameterize variant scheduling classes by h...

Aiden Grossman via All-commits all-commits at lists.llvm.org
Fri Jun 28 10:47:08 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 370555c02c81fb3ab2f41f608d26aa85b8ca1ec5
      https://github.com/llvm/llvm-project/commit/370555c02c81fb3ab2f41f608d26aa85b8ca1ec5
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-06-28 (Fri, 28 Jun 2024)

  Changed paths:
    M llvm/include/llvm/MCA/InstrBuilder.h
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/unittests/tools/llvm-mca/X86/TestIncrementalMCA.cpp

  Log Message:
  -----------
  [MCA] Parameterize variant scheduling classes by hash (#92849)

This patch looks up variant scheduling classes using a hash of the
instruction. Keying by the pointer breaks certain use cases that might
occur out of tree, like decoding an execution trace instruction by
instruction and creating MCA instructions as one goes along, like in the
MCAD case. In this case, the MCInst will always have the same address
and thus all instructions with the same variant scheduling class will
end up with the same instruction description, leading to undesired
behavior (assertions, uses after free, invalid results, etc.).



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